Reparo automático dos nós do AKS (Serviço de Kubernetes do Azure)

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

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.

Para a maioria das cargas de trabalho de produção, o AKS Automático é a experiência padrão recomendada para o AKS em ambientes de produção. Os clusters AKS Automatic e AKS Standard já vêm configurados com reparo automático dos nós.

Neste artigo, você aprenderá como funciona o reparo automático do nó, quando as ações de reparo disparam, quais limitações se aplicam e como monitorar eventos de reparo.

Comportamento do reparo automático de nós por modo de cluster

Ambos os modos de cluster do AKS vêm pré-configurados com reparo automático de nós:

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

Ambos os modos usam as mesmas verificações de integridade do nó e a mesma sequência de reparo descrita neste artigo.

Para obter mais informações sobre os padrões de plataforma automática do AKS, consulte O que é AKS (Serviço de Kubernetes do Azure) Automático?

Como o AKS verifica se há nós NotReady

O AKS usa as seguintes regras para determinar se um nó não está saudável e precisa ser reparado:

  • O nó reporta 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ó com problemas que permanecer assim por pelo menos cinco minutos, o AKS executará as seguintes ações:

  1. O AKS reinicializa o nó.
  2. Se o nó permanecer com problemas após a reinicialização, o AKS reinstalará a imagem do nó.
  3. Se o nó permanecer com status não íntegro após a reinstalação da imagem e for um nó Linux, o AKS reimplantará o nó.

O AKS tentará novamente a sequência de reinicialização, reinstalação da imagem e reimplementação até três vezes se o nó permanecer com status não íntegro. O processo geral de reparo automático pode levar até uma hora para ser concluído.

Considerações sobre produção

O reparo automático do nó é um mecanismo de resiliência principal, mas combine-o com práticas de resiliência no nível de carga de trabalho:

  • Execute cargas de trabalho críticas com várias réplicas.
  • Use PodDisruptionBudgets e sondas de prontidão para reduzir o impacto visível ao usuário.
  • Monitore a atividade de reparo e os eventos de erro para detectar problemas recorrentes no nó.
  • Incorpore o tempo de reparo automático no SLO/SLA e no planejamento de resposta a incidentes.

Limitações

O reparo automático de nós do AKS é um serviço de melhor esforço. O AKS não garante que um nó seja restaurado ao status íntegro em todos os cenários. Se um nó permanecer com status não íntegro, realize uma investigação manual. Para obter mais informações, consulte Solucionar problemas do status NotReady do nó.

O AKS pode não executar o reparo automático nos seguintes cenários:

  • Um erro de configuração de rede impede o reporte do status de um nó.
  • Um nó não conseguir se registrar como um nó íntegro.
  • Um nó tem um dos seguintes taints:
    • node.cloudprovider.kubernetes.io/shutdown
    • ToBeDeletedByClusterAutoscaler
  • Um nó está sendo 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"

Monitore o reparo automático de nós usando eventos do Kubernetes

Quando o AKS realiza a reparação automática do nó, emite eventos Kubernetes da fonte aks-auto-repair. Os seguintes eventos aparecem em um objeto de nó quando ocorre o reparo automático.

Para saber mais sobre como acessar, armazenar e alertar sobre eventos do Kubernetes, consulte Usar eventos do Kubernetes para solucionar problemas no AKS.

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 cinco minutos. Esse evento notifica 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 recriação de imagem devido ao status NotReady persistir por mais de cinco minutos. Este evento notifica quando a recriação de imagem está prestes a ser executada em seu nó.
NodeReimageEnd A ação de reimagem do reparo automático do nó foi concluída. Emitido quando a reimagem for 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 reimagem.
NodeRedeployStart O reparo automático do nó está iniciando uma ação de reimplementação devido ao status NotReady persistir por mais de cinco minutos. Este evento notifica você quando a reimplementação está prestes a ser executada em seu nó. A reimplementação é a última ação na sequência de reparo automático do nó.
NodeRedeployEnd A ação de reimplementação do reparo automático do nó foi concluída. Emitido quando a reimplementação for 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 reimplementação.

Se ocorrerem erros durante o reparo automático do nó, o AKS emitirá os seguintes eventos com a mensagem de erro na íntegra. Para obter mais informações, consulte Solução de problemas de erros comuns de reparo automático de nós.

Observação

O código de erro nas mensagens de evento a seguir varia de acordo com o 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.