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:
Execution flow: Fluxo de ponta a ponta, da detecção da falha à conclusão do reparo.
Node conditions that trigger auto repair: Tipos de falha, níveis de risco, limiares e ações de reparo.
Node status during auto repair: Transições de status durante e após o reparo.
Fluxo de execução
Fluxo de trabalho desde a detecção de falhas e notificação até o reparo automático:
|
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. |
|
O ACK gera uma Node Condition e um Kubernetes Event. Configure alertas no Event Center para receber notificações. |
|
Após detectar uma exceção de GPU, o ACK isola a placa de GPU defeituosa. Consulte GPU exception detection and automatic isolation. |
|
O ACK determina se deve iniciar uma tarefa de reparo com base na Quando uma exceção de sistema ou de componente do Kubernetes persiste além do limiar configurado, o ACK executa uma tarefa de 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 |
|
|
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 |
|
|
KubeletNotReady(SandboxError) |
PodSandbox não encontrado, impedindo a inicialização correta do kubelet. |
Alto |
180s |
|
|
RuntimeOffline |
O runtime de contêineres (containerd ou Docker) parou, tornando o nó indisponível. |
Alto |
90s |
|
|
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
Na página ACK Clusters, clique em no nome do cluster. No painel de navegação à esquerda, clique em .
-
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
Na página ACK Clusters, clique em no nome do cluster. No painel de navegação à esquerda, clique em .
-
Na lista de pools de nós, localize o pool desejado. Na coluna Actions, clique em no ícone
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 . 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
Ative o NPD e monitore eventos do cluster via Event monitoring.
Consulte GPU exception detection and automatic isolation e Diagnose GPU node issues.
Para remover e readicionar um nó defeituoso, siga os procedimentos padrão no console ACK para evitar comportamentos inesperados. Consulte Remove a node e Add existing nodes.