Reparo automático dos nós do AKS (Serviço de Kubernetes do Azure)
O AKS (Azure Kubernetes Service) monitora continuamente o estado de integridade dos nós de trabalho e executa o reparo automático de nós, caso eles se tornem não íntegros. A plataforma VM (máquina virtual) do Azure executa a manutenção em VMs com problemas. O AKS e as VMs do Azure trabalham em conjunto para minimizar as interrupções de serviço para os clusters.
Neste artigo, você aprenderá como a funcionalidade automática de reparo de nó se comporta com relação a nós do Windows e do Linux.
Como o AKS verifica se há nós NotReady
O AKS usa as seguintes regras para determinar se um nó não está íntegro e precisa de reparo:
- O nó relata o status NotReady em verificações consecutivas dentro de um período de 10 minutos.
- O nó não relata nenhum status dentro de 10 minutos.
Você pode verificar manualmente o estado de integridade dos nós com o comando kubectl get nodes
.
Como funciona o reparo automático
Observação
O AKS inicia as operações de reparo com a conta de usuário aks-remediator.
Se o AKS identificar um nó não íntegro que permanece não íntegro por pelo menos cinco minutos, o AKS executará as seguintes ações:
- O AKS reinicializa o nó.
- Se o nó permanecer não íntegro após a reinicialização, o AKS recriará a imagem do nó.
- Se o nó permanecer não íntegro após recriar a imagem e ele for um nó do Linux, o AKS reimplantará o nó.
O AKS repetirá a sequência de reinicializar, recriar a imagem e reimplantar até três vezes se o nó permanecer não íntegro. O processo geral de reparo automático pode levar até uma hora para ser concluído.
Limitações
O reparo automático do nó do AKS é um serviço de melhor esforço e não garantimos que o nó seja restaurado de volta ao status íntegro. Se o nó persistir em um estado não íntegro, recomendamos que você realize uma investigação manual do nó. Saiba mais sobre como solucionar problemas de status do nó NotReady.
Há casos em que o AKS não executa o reparo automático. Uma falha ao reparar automaticamente o nó pode ocorrer por padrão ou se o Azure não puder detectar que existe um problema. Alguns exemplos de quando o reparo automático não é executado:
- O status de um nó não está sendo relatado devido a um erro na configuração de rede.
- Um nó falhou ao registrar-se inicialmente como um nó íntegro.
- Se um dos seguintes taints estiver presente no nó:
node.cloudprovider.kubernetes.io/shutdown
,ToBeDeletedByClusterAutoscaler
.
Monitorar o reparo automático do nó usando eventos do Kubernetes
Quando o AKS executa o reparo automático do nó em seu cluster, o AKS emite eventos do Kubernetes da fonte de reparo automático do AKS para visibilidade. Os eventos a seguir aparecem em um objeto de nó quando ocorre o reparo automático.
Para saber mais sobre como acessar, armazenar e configurar alertas em eventos do Kubernetes, confira Usar eventos do Kubernetes para solucionar problemas no Serviço de Kubernetes do Azure.
Motivo | Mensagem de evento | Descrição |
---|---|---|
NodeRebootStart | O reparo automático do nó está iniciando uma ação de reinicialização devido ao status NotReady persistir por mais de 5 minutos. | Este evento é emitido para notificar você quando a reinicialização está prestes a ser executada em seu nó. Esta ação é a primeira na sequência geral de reparo automático do nó. |
NodeRebootEnd | A ação de reinicialização do reparo automático do nó foi concluída. | Emitido quando a reinicialização é concluída no nó. Este evento não indica o status de integridade (íntegro ou não íntegro) do nó após a reinicialização ser executada. |
NodeReimageStart | O reparo automático do nó está iniciando uma ação de recriar a imagem devido ao status NotReady persistir por mais de 5 minutos. | Esse evento é emitido para notificar você quando a recriação da imagem está prestes a ser executada em seu nó. |
NodeReimageEnd | A ação de recriação da imagem do reparo automático do nó foi concluída. | Emitido quando a recriação da imagem é concluída no nó. Este evento não indica o status de integridade (íntegro ou não íntegro) do nó após a execução da recriação da imagem. |
NodeRedeployStart | O reparo automático do nó está iniciando uma ação de reimplantação devido ao status NotReady persistir mais de 5 minutos. | Este evento é emitido para notificar você quando a reimplantação está prestes a ser executada em seu nó. Reimplantar é a última ação na sequência de reparo automático do nó. |
NodeRedeployEnd | A ação de reimplantação do reparo automático do nó foi concluída. | Emitido depois que a reimplantação é concluída no nó. Este evento não indica o status de integridade (íntegro ou não íntegro) do nó após a reimplantação ser executada. |
Se ocorrerem erros durante o processo de reparo automático do nó, os eventos a seguir serão emitidos com a mensagem de erro exata. Saiba mais sobre como solucionar erros comuns de reparo automático de nó.
Observação
O código de erro nas mensagens de evento a seguir varia dependendo do erro relatado.
Motivo | Mensagem de evento | Descrição |
---|---|---|
NodeRebootError | Falha na ação de reinicialização do reparo automático do nó devido a uma falha na operação. Veja os detalhes do erro aqui: Código de erro | Emitido quando há um erro com a ação de reinicialização. |
NodeReimageError | Falha na ação de recriação da imagem do reparo automático do nó devido a uma falha na operação. Veja os detalhes do erro aqui: Código de erro | Emitido quando há um erro com a ação de recriar a imagem. |
NodeRedeployError | Falha na ação de reimplantação do reparo automático do nó devido a uma falha na operação. Veja os detalhes do erro aqui: Código de erro | Emitido quando há um erro com a ação de reimplantação. |
Próximas etapas
Por padrão, você pode acessar eventos e logs do Kubernetes no cluster do AKS da última 1 hora. Para armazenar e consultar eventos e logs dos últimos 90 dias, habilite os Insights do Contêiner para ter uma solução de problemas mais profunda em seu cluster do AKS.
Azure Kubernetes Service