Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Kubernetes Service (AKS) monitoriza continuamente o estado de funcionamento dos nós de trabalho e realiza uma reparação automática dos nós se ficarem em mau estado de funcionamento. A plataforma de máquina virtual (VM) do Azure executa manutenção em VMs com problemas. O AKS e as VMs do Azure trabalham em conjunto para minimizar as interrupções do serviço para os clusters.
Neste artigo, irá aprender como a funcionalidade de reparação automática de nós se comporta em nós Windows e Linux.
Como o AKS verifica os nós com status de NotReady
O AKS usa as seguintes regras para determinar se um nó não está íntegro e precisa de reparo:
- O nó reporta o estado NotReady em verificações consecutivas dentro de um período de 10 minutos.
- O nó não relata nenhum estado durante 10 minutos.
Você pode verificar manualmente o estado de integridade de seus nós com o kubectl get nodes
comando.
Como funciona a reparação automática
Nota
O AKS inicia operações de reparo com a conta de usuário aks-remediator.
Se o AKS identificar um nó não saudável que permanece não saudável por pelo menos cinco minutos, o AKS executa as seguintes ações:
- O AKS reinicia o nó.
- Se o nó continuar com problemas após a reinicialização, o AKS reinstala a imagem do nó.
- Se o nó permanecer com problemas após a reimagem e for um nó Linux, o AKS reimplanta o nó.
O AKS tenta até três vezes reiniciar, remontar a imagem e reimplementar a sequência, caso o nó continue inoperante. O processo geral de reparo automático pode levar até uma hora para ser concluído.
Limitações
A reparação automática do nó AKS é um serviço prestado com os melhores esforços e não garantimos que o nó seja restaurado ao estado saudável. 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 do status NotReady do nó.
Há casos em que o AKS não realiza reparos automáticos. A falha ao reparar automaticamente o nó pode ocorrer por design ou se o Azure não puder detetar a existência de um problema. Exemplos de quando o reparo automático não é realizado incluem:
- O estado de um nó não está a ser reportado devido a um erro na configuração da rede.
- Um nó falhou ao registar-se inicialmente como um nó saudável.
- Se qualquer uma das seguintes manchas estiver presente no nó:
node.cloudprovider.kubernetes.io/shutdown
,ToBeDeletedByClusterAutoscaler
. - Um nó está em processo de atualização, resultando na seguinte anotação no nó
"cluster-autoscaler.kubernetes.io/scale-down-disabled": "true"
e"kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"
Monitorizar o reparo automático do nó usando eventos do Kubernetes
Quando AKS executa o reparo automático de nós no seu cluster, AKS emite eventos do Kubernetes da fonte aks-auto-repair para garantir a visibilidade. Os eventos a seguir aparecem em um objeto de um nó quando o reparo automático ocorre.
Para saber mais sobre como acessar, armazenar e configurar alertas em eventos do Kubernetes, consulte Usar eventos do Kubernetes para solução de problemas no Serviço Kubernetes do Azure.
Razão | Mensagem do Evento | Descrição |
---|---|---|
NodeRebootStart | O reparo automático do nó está a iniciar um procedimento de reinício devido à persistência do estado NotReady por mais de 5 minutos. | Esse evento é emitido para notificá-lo quando a reinicialização está prestes a ser executada no 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 nó após o reparo automático foi concluída. | Emitido assim que a reinicialização é concluída no nó. Esse 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ó vai iniciar uma ação de reimagem devido ao estado NotReady persistir por mais de 5 minutos. | Este evento é emitido para notificá-lo quando a reimagem está prestes a ser executada no seu nó. |
NodeReimageEnd | A ação de recriação de imagem do reparo automático do nó foi concluída. | Emitido assim que o processo de reimaging estiver concluído no nó. Esse evento não indica o estado de integridade (íntegro ou não íntegro) do nó após a reimagem ser executada. |
NodeRedeployStart | O reparo automático do nó está iniciando uma ação de reimplantação devido ao status NotReady persistir por mais de 5 minutos. | Este evento é emitido para informá-lo de que a reimplantação está prestes a ser executada no seu nó. Reimplantar é a última ação na sequência de reparo automático do nó. |
NodeRedeployEnd | A ação de reimplantação do nó de reparo automático foi concluída. | Emitido assim que a redistribuição estiver concluída no nó. Esse evento não indica o status de integridade (íntegro ou não íntegro) do nó após a reimplantação ser executada. |
Se ocorrer algum erro durante o processo de reparo automático do nó, os seguintes eventos serão emitidos com a mensagem de erro literal. Saiba mais sobre como solucionar erros comuns de reparo automático de nós.
Nota
O código de erro nas seguintes mensagens de evento varia dependendo do erro relatado.
Razão | Mensagem do Evento | Descrição |
---|---|---|
NodeRebootError | A ação de reinicialização do reparo automático do nó falhou 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 | A ação de reparação automática do nó por reimagem falhou devido a uma falha de operação. Veja os detalhes do erro aqui: Código de erro | Emitido quando há um erro com a ação de recuperação de imagem. |
NodeRedeployError (Erro de Reimplantação de Nodo) | A ação de reimplantação de reparo automático do nó falhou devido a uma falha de operação. Veja os detalhes do erro aqui: Código de erro | Emitido quando ocorre um erro na ação de reimplantação. |
Próximos passos
Por padrão, você pode acessar eventos e logs do Kubernetes em seu cluster AKS da última 1 hora. Para armazenar e consultar eventos e logs dos últimos 90 dias, habilite o Container Insights para uma solução de problemas mais profunda em seu cluster AKS.
Azure Kubernetes Service