Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Enable node auto repair

Última atualização: Sep 12, 2026

O ACK monitora e repara automaticamente nós não saudáveis em pools de nós gerenciados, reduzindo as operações e manutenção manuais. No entanto, o reparo automático não resolve todos os cenários de falha. Algumas falhas complexas ainda podem exigir intervenção manual.

Para pools de nós LINGJUN, consulte Enable node auto repair .

Como funciona

O processo de reparo automático abrange:

Fluxo de execução

Fluxo de trabalho desde a detecção de falhas e notificação até o reparo automático:

image
  1. Diagnóstico e detecção de falhas

O add-on ack-node-problem-detector (NPD) verifica exceções nos nós. Se um nó permanecer não saudável por um período especificado, o ACK o identificará como defeituoso.

  1. Notificação de falha

O ACK gera uma Node Condition e um Kubernetes Event. Configure alertas no Event Center para receber notificações.

  1. (Para cenários de exclusive GPU) Isolamento de falha

Após detectar uma exceção de GPU, o ACK isola a placa de GPU defeituosa.

Consulte GPU exception detection and automatic isolation.
  1. Reparo automático para exceções de sistema e componentes do Kubernetes

O ACK determina se deve iniciar uma tarefa de reparo com base na condition do nó e em outras informações. Execute kubectl describe node para verificar o campo condition.

Quando uma exceção de sistema ou de componente do Kubernetes persiste além do limiar configurado, o ACK executa uma tarefa de reparo:

  1. O ACK repara o sistema e os componentes do Kubernetes defeituosos, por exemplo, reiniciando o kubelet ou o runtime de contêineres.

  2. Se você selecionar Enable self-healing for system and node components only (node reboots allowed), o ACK executará estas etapas adicionais caso os reparos iniciais falhem:

    1. O ACK define automaticamente o nó defeituoso como não agendável.

    2. O ACK drena o nó. O tempo limite de drenagem é de 10 minutos ou o valor máximo de TerminationGracePeriodSeconds de todos os Pods a serem evacuados, o que for maior, até o limite de 30 minutos.

      O ACK evacua os Pods para outros nós conforme o Pod Disruption Budget (PDB). Para garantir alta disponibilidade, utilize implantações com múltiplas réplicas, distribua as cargas de trabalho entre os nós e configure PDBs para service críticos.

      Se a drenagem falhar, o ACK continua o reparo.

    3. O ACK reinicia o nó.

    4. Após a recuperação do nó, o ACK o restaura para o estado agendável.

      Os nós já definidos como não agendáveis antes do reparo automático permanecem nesse estado após a conclusão do reparo.

Em clusters com múltiplos pools de nós, o reparo automático processa um pool de nós por vez.

Condições de nó que acionam o reparo automático

Node Condition

Descrição

Nível de risco

Limiar

Ação de reparo

KubeletNotReady(KubeletHung)

O kubelet não responde e o nó assume o status NotReady.

Alto

180s

  1. Reiniciar o kubelet.

  2. Se a opção Enable self-healing for system and node components only (node reboots allowed) estiver ativada, reiniciar a instância ECS.

KubeletNotReady(PLEG)

Falha na verificação de integridade do Pod Lifecycle Event Generator (PLEG), fazendo com que o nó reporte o status NotReady.

Médio

180s

  1. Reiniciar o containerd ou Docker.

  2. Reiniciar o kubelet.

  3. Se a opção Enable self-healing for system and node components only (node reboots allowed) estiver ativada, reiniciar a instância ECS.

KubeletNotReady(SandboxError)

PodSandbox não encontrado, impedindo a inicialização correta do kubelet.

Alto

180s

  1. Excluir o contêiner sandbox correspondente.

  2. Reiniciar o kubelet.

RuntimeOffline

O runtime de contêineres (containerd ou Docker) parou, tornando o nó indisponível.

Alto

90s

  1. Reiniciar o containerd ou Docker.

  2. Se a opção Enable self-healing for system and node components only (node reboots allowed) estiver ativada, reiniciar a instância ECS.

NTPProblem

O service de sincronização de tempo (ntpd ou chronyd) não está funcionando corretamente.

Alto

10s

Reiniciar o ntpd ou chronyd.

SystemdOffline

Estado anormal do systemd impede a criação ou destruição de contêineres.

Alto

90s

Se a opção Enable self-healing for system and node components only (node reboots allowed) estiver ativada, reiniciar a instância ECS.

ReadonlyFilesystem

O sistema de arquivos do nó tornou-se somente leitura.

Alto

90s

Se a opção Enable self-healing for system and node components only (node reboots allowed) estiver ativada, reiniciar a instância ECS.

Status do nó durante o reparo automático

  • Durante o reparo, o status do nó é Repairing.

  • Se a falha for resolvida após o reparo, o nó retorna ao estado normal.

  • Caso a falha persista após o reparo, o status do nó passa a ser Recovery failed.

    Um nó com status Recovery failed não aciona outro reparo automático até que a falha seja resolvida.

Observações de uso

  • Este recurso requer o Event Center para alertas e o ack-node-problem-detector (NPD) para detecção de exceções. Consulte Event monitoring.

  • Disponível apenas em clusters gerenciados ACK para pools de nós gerenciados.

  • Os recursos a seguir estão em liberação gradual. Para solicitar acesso, envie um ticket.

    • Reparo automático para exceções de instâncias de nó: sujeito a lista de permissões.

    • Conjuntos de regras de alerta: Após ativar o reparo automático de nós, habilite o gerenciamento de alertas e ative o Cluster Node Auto Repair Alert Rule Set e as GPU monitoring and alert rules para receber alertas de exceção. Esses conjuntos de regras estão em liberação gradual.

      Consulte Container Service Alert Management .
    • Versão do NPD: O reparo automático para exceções de instâncias de nó requer o ack-node-problem-detector (NPD) 1.2.26 ou posterior, atualmente em liberação gradual.

Ativar reparo automático de nós

Ative o reparo automático de nós ao criar um pool de nós ou em um pool de nós gerenciado existente.

Novo pool de nós

  1. Na página ACK Clusters, clique em no nome do cluster. No painel de navegação à esquerda, clique em Nodes > Node Pools.

  2. Clique em Create Node Pool. Na seção Configure Managed Node Pool, selecione Managed Node Pool, ative o reparo automático de nós, configure a política de reinicialização de nós para reparo de componentes e crie o pool de nós.

    Para detalhes de configuração, consulte Create and manage a node pool. Para considerações sobre reinicialização de nós, veja abaixo.

Pool de nós existente

  1. Na página ACK Clusters, clique em no nome do cluster. No painel de navegação à esquerda, clique em Nodes > Node Pools.

  2. Na lista de pools de nós, localize o pool desejado. Na coluna Actions, clique em no ícone image e selecione Enable Managed Node Pool (para um pool de nós comum) ou Configure Managed Node Pool (para um pool de nós gerenciado). Defina o modo Configure Managed Node Pool como Managed Node Pool e ative o reparo automático de nós.

    Para detalhes de configuração, consulte Create and manage a node pool. Para considerações sobre reinicialização de nós, veja abaixo.

Eventos de reparo automático

O ACK grava eventos de reparo automático no Event Center. Na página de detalhes do cluster, escolha Operations > Event Center. Na aba Node Events, visualize os registros de reparo automático. Inscreva-se nesses eventos via Event monitoring.

Evento

Nível

Descrição

NodeRepairStart

Normal

O reparo automático do nó foi iniciado.

NodeRepairAction

Normal

Uma ação de reparo foi executada, como reiniciar o kubelet.

NodeRepairSucceed

Normal

O reparo automático do nó foi bem-sucedido.

NodeRepairFailed

Warning

Falha no reparo. Consulte FAQ.

NodeRepairIgnore

Normal

Ignorado porque a instância ECS não estava em execução.

Perguntas frequentes

Falha no reparo automático

O reparo automático não consegue resolver todas as falhas. Se o reparo falhar ou a falha persistir, o ACK definirá o status do nó como Recovery failed.

Se o reparo automático de um nó falhar, os reparos subsequentes para esse pool de nós serão pausados até que a falha seja resolvida. Você pode enviar um ticket para obter assistência.

Referências