Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:introduction to ack cluster node initialization process

Última atualização: Jun 27, 2026

Ao criar nós ou expandir um node pool, o ACK executa um processo de inicialização padronizado que instala e configura os softwares necessários com base nas definições do node pool e integra o nó ao cluster Kubernetes.

Escopo

Este tópico aplica-se a node pools de ECS e EGS em clusters gerenciados pelo ACK e clusters dedicados do ACK com versão 1.20 ou superior.

Funcionamento

image

A inicialização ocorre em quatro fases sequenciais:

  1. Criação do nó — O ACK provisiona a instância ECS ou EGS e o sistema operacional conclui a configuração básica. Em seguida, o Cloud-init executa o script User Data, composto por três partes: o script Pre-defined Custom Data, os scripts de inicialização do ACK e o próprio script User Data.

  2. Execução de scripts de pré-personalização — O Cloud-init executa o script Pre-defined Custom Data para instalar dependências, configurar agentes de monitoramento ou verificar o ambiente.

  3. Execução dos scripts de inicialização do ACK — O ACK instala componentes do Kubernetes, drivers de hardware opcionais e pacotes de segurança. Depois, o nó registra-se no servidor de API do cluster.

  4. Execução de scripts personalizados — O Cloud-init executa o script User Data para configurações no nível da aplicação, simultaneamente à transição do nó para o status Ready.

Scripts de inicialização do ACK

Esta fase compreende sete subetapas e oferece mecanismos de exclusão para ambientes offline e configurações especializadas.

Preparação do ambiente básico

Esta subetapa configura o ambiente de execução necessário para iniciar o Kubernetes no nó:

  • Início do chronyd — Sincroniza o relógio do nó com o servidor NTP.

  • Definição do ID e hostname do nó — Calcula e atribui um ID ao nó no cluster. Se o node pool estiver configurado com um Custom Node Name, esse nome também será definido como hostname.

  • Inicialização do disco de dados — Se o node pool tiver discos de dados, o sistema localiza o último disco em ordem lexicográfica (com prioridade para NVMe), formata-o e o monta como diretório de runtime de contêineres (por exemplo, /var/lib/containerd).

Mecanismos de exclusão:

Arquivo a criar

Efeito

/var/.skip-auto-fdisk

Ignora a formatação automática de disco. Use este arquivo ao gerenciar partições manualmente ou quando o disco já contiver dados.

/var/.keep-container-data

Ignora a formatação, mas copia os dados de runtime existentes (como cache de imagens) para o novo caminho de montagem após a montagem. Use esta opção para evitar downloads repetidos de imagens durante a migração de um disco de dados.

Instalação de componentes do Kubernetes

Instala e configura os componentes essenciais para executar o Kubernetes:

Instalação de componentes opcionais

O ACK instala componentes adicionais conforme a configuração do node pool:

  • Drivers de hardware heterogêneo e plugin de dispositivo — Para instâncias GPU ou NPU, o sistema instala os drivers de hardware correspondentes e um plugin de dispositivo do Kubernetes (por exemplo, o NVIDIA Device Plugin), permitindo que o agendador reconheça e aloque esses recursos.

  • Software de aceleração de imagens — Caso o carregamento sob demanda de imagens de contêiner esteja ativado, o sistema instala o software de aceleração e atualiza a configuração do runtime de contêineres.

  • Drivers e dependências SGX — Se a computação confidencial ACK-TEE estiver habilitada, o sistema instala drivers SGX e pacotes relacionados para fornecer um ambiente de execução confiável (TEE) aos contêineres confidenciais.

Integração ao cluster

O kubelet inicia, registra-se no servidor de API do cluster e o nó entra no cluster com o status inicial NotReady.

Instalação de softwares adicionais

Para garantir estabilidade e segurança, o ACK instala pacotes básicos de ferramentas e aplica atualizações de segurança.

Pacotes instalados: pigz, container-selinux, zlib

Atualizações de segurança (exclusivo para Alibaba Cloud Linux):

  • Atualiza o systemd conforme necessário para manter a estabilidade.

  • Aplica correções mínimas de CVE executando: yum update-minimal --exclude kernel* --security -y

Mecanismos de exclusão:

Arquivo a criar

Efeito

/var/.skip-yum

Ignora toda esta subetapa, incluindo as correções de CVE. Use esta opção para ambientes offline ou quando for necessário controle rigoroso de versões de pacotes.

/var/.skip-security-fix

Ignora apenas as correções de CVE. Os pacotes básicos de ferramentas ainda serão instalados.

Aplicação da configuração do SO

Após a instalação de todos os softwares, o sistema reaplica a configuração do SO definida no node pool para assegurar que todas as definições estejam ativas. Consulte Gerenciamento de parâmetros de SO do node pool.

Aplicação de reforço de segurança

Com base nas capacidades de Security Hardening configuradas no node pool (como o reforço do Alibaba Cloud OS), o sistema executa os scripts de endurecimento correspondentes. Esses scripts ajustam parâmetros do kernel e permissões do sistema para atender aos requisitos de segurança corporativa.

Execução paralela: scripts personalizados e disponibilidade do nó

Depois que um nó ingressa no cluster com o status NotReady, duas tarefas são executadas simultaneamente:

  • Transição de status do nó — O kubelet comunica-se continuamente com o plano de controle. Quando os componentes críticos estão íntegros e todas as verificações de saúde são aprovadas, o nó passa para o status Ready e o agendador do Kubernetes o torna disponível para pods.

  • Execução do script User Data — O Cloud-init executa o script User Data para inicializações no nível da aplicação, como popular diretórios de dados ou iniciar serviços auxiliares não conteinerizados.

Essas duas tarefas são independentes. O resultado do script User Data — seja sucesso, falha ou duração — não impede a transição do nó para Ready. Não presuma que o nó está Ready apenas porque o script User Data terminou, nem que o script User Data foi concluído assim que o nó se torna Ready.

Rastreamento da execução de scripts personalizados

Para verificar se o script User Data foi executado com êxito, faça login no nó e execute:

cat /var/log/cloud-init-output.log

Próximos passos