Reparo automático dos nós do Azure Kubernetes Service (AKS)

Aplica-se a: ✔️ AKS Automatic ✔️ AKS Standard

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.

Para a maioria das cargas de trabalho de produção, o AKS Automatic é a experiência predefinida recomendada e pronta para produção do AKS. Tanto os clusters AKS Automatic como AKS Standard vêm pré-configurados com reparação automática de nós.

Neste artigo, aprende como funciona a reparação automática de nós, quando as ações de reparação são ativadas, que limitações se aplicam e como monitorizar eventos de reparação.

Comportamento de reparação automática dos nós por modo de cluster

Ambos os modos do cluster AKS vêm pré-configurados com reparação automática de nós:

  • AKS Automatic: Pré-configurado como parte das configurações predefinidas prontas para produção do AKS Automatic.
  • AKS Standard: Pré-configurado em clusters AKS Standard sem configuração adicional.

Ambos os modos utilizam as mesmas verificações de saúde dos nós e a mesma sequência de reparação descrita neste artigo.

Para mais informações sobre os padrões automáticos da plataforma AKS, veja O que é o Azure Kubernetes Service (AKS) Automatic?

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 insalubre durante pelo menos cinco minutos, o AKS realiza as seguintes ações:

  1. O AKS reinicia o nó.
  2. Se o nó se mantiver instável após o reinício, o AKS reimagina o nó.
  3. Se o nó continuar instável após a reimagem e for um nó Linux, o AKS redistribui o nó.

O AKS tenta novamente a sequência de reinício, reimagem e reimplantação até três vezes se o nó continuar instável. O processo global de reparação automóvel pode demorar até uma hora a ser concluído.

Considerações sobre a produção

A reparação automática dos nós é um mecanismo fundamental de resiliência, mas deve ser combinada com práticas de resiliência ao nível das cargas de trabalho:

  • Execute cargas de trabalho críticas com várias réplicas.
  • Utilize PodDisruptionBudgets e sondas de prontidão para reduzir o impacto visível para o utilizador.
  • Monitorizar a atividade de reparação e os eventos de erro para detetar problemas repetidos nos nós.
  • Incorpore o tempo de reparação automática no planeamento de SLO/SLA e da resposta a incidentes.

Limitações

A reparação automática de nós do AKS é um serviço prestado numa base de melhor esforço. O AKS não garante que um nó volte a um estado saudável em todos os cenários. Se um nó permanecer não saudável, efetue uma investigação manual. Para mais informações, consulte Resolver problemas do estado NotReady do nó.

O AKS pode não realizar reparações automáticas nos seguintes cenários:

  • Um erro de configuração de rede impede o reporte do estado de um nó.
  • Um nó não consegue registar-se como um nó saudável.
  • Um nó tem uma das seguintes manchas:
    • node.cloudprovider.kubernetes.io/shutdown
    • ToBeDeletedByClusterAutoscaler
  • Um nó está a ser atualizado e tem as seguintes anotações:
    • "cluster-autoscaler.kubernetes.io/scale-down-disabled": "true"
    • "kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"

Monitorizar o reparo automático do nó usando eventos do Kubernetes

Quando o AKS realiza a auto-reparação de nós, emite eventos Kubernetes a partir da aks-auto-repair fonte. Os seguintes eventos aparecem num objeto de nó quando ocorre uma autorreparação.

Para saber mais sobre aceder, armazenar e alertar em eventos Kubernetes, consulte Usar eventos Kubernetes para resolução de problemas no AKS.

Razão Mensagem de evento Descrição
NodeRebootStart A reparação automática de Node está a iniciar uma ação de reinício devido ao estado NotReady persistir por mais de cinco minutos. Este evento notifica-te quando o reinício está prestes a ser realizado no teu 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 A reparação automática do nó está a iniciar uma ação de reimagem devido ao estado NotReady persistir por mais de cinco minutos. Este evento notifica-o quando a reimagem está prestes a ser realizada 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 A reparação automática do nó está a iniciar uma ação de reimplantação devido ao estado NotReady persistir por mais de cinco minutos. Este evento notifica-o quando uma nova implementação estiver prestes a ser efetuada 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 ocorrerem erros durante a reparação automática do nó, o AKS emite os seguintes eventos com a mensagem de erro exata. Para mais informações, consulte Resolução de problemas comuns de autorrecuperação de nós.

Nota

O código de erro nas seguintes mensagens de evento varia consoante o erro reportado.

Razão Mensagem de 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.