Azure Kubernetes Service (AKS) de reparação automática do nó

A AKS monitoriza continuamente o estado de saúde dos nós dos trabalhadores e executa a reparação automática do nó se não for saudável. A plataforma Azure virtual machine (VM) realiza manutenção em VMs com problemas.

Os VMS AKS e Azure trabalham em conjunto para minimizar as perturbações de serviço para clusters.

Neste documento, você vai aprender como a funcionalidade de reparação automática de nós se comporta tanto para os nós Windows como para os linux.

Como a AKS verifica os nódoas não saudáveis

A AKS utiliza as seguintes regras para determinar se um nó não é saudável e precisa de ser reparado:

  • O nó informa o estado do NotReady em verificações consecutivas dentro de um prazo de 10 minutos.
  • O nó não reporta nenhum estado em 10 minutos.

Pode verificar manualmente o estado de saúde dos seus nós com kubectl.

kubectl get nodes

Como funciona a reparação automática

Nota

A AKS inicia operações de reparação com o aks-remediador da conta do utilizador.

Se a AKS identificar um nó pouco saudável que permanece insalubre durante 10 minutos, a AKS toma as seguintes ações:

  1. Reinicie o nó.
  2. Se o reboot não for bem sucedido, reimagem o nó.
  3. Se a reimagem não for bem sucedida, reposicione o nó.

As reparações alternativas são investigadas por engenheiros da AKS se a reparação automática não for bem sucedida.

Se a AKS encontrar múltiplos nós insalubres durante uma verificação de saúde, cada nó é reparado individualmente antes de começar outra reparação.

Nó Autodrain

Eventos agendados podem ocorrer nas máquinas virtuais subjacentes (VMs) em qualquer uma das suas piscinas de nó. Para piscinas de nó pontuais, eventos agendados podem causar um evento de nó antecipado para o nó. Certos eventos de nó, como preempt, fazem com que o nó AKS seja autodrain para tentar um cordão e drenagem do nó afetado, o que permite um reprogramação gracioso de quaisquer cargas de trabalho afetadas nesse nó. Quando isso acontecer, poderá notar o nó para receber uma mancha com "remediator.aks.microsoft.com/unschedulable", por causa de "kubernetes.azure.com/scalesetpriority: spot".

A tabela seguinte mostra os eventos do nó, e as ações que causam para a autodrain do nó AKS.

Evento Descrição Ação
Congelar O VM está programado para parar por alguns segundos. CPU e conectividade de rede podem ser suspensas, mas não há impacto na memória ou em ficheiros abertos Sem ação
Reiniciar O VM está agendado para ser reiniciado. Perde-se a memória não persistente do VM. Sem ação
Voltar a implementar O VM está programado para mudar para outro nó. Os discos efémeros do VM estão perdidos. Cordão e drenagem
Preempt O VM spot está a ser apagado. Os discos efémeros do VM estão perdidos. Cordão e drenagem
Terminate O VM está programado para ser eliminado. Cordão e drenagem

Limitações

Em muitos casos, a AKS pode determinar se um nó não é saudável e tenta reparar o problema, mas há casos em que a AKS não consegue reparar o problema ou não consegue detetar que há um problema. Por exemplo, a AKS não consegue detetar problemas se um estado do nó não estiver a ser reportado devido a um erro na configuração da rede, ou se não tiver registado inicialmente como um nó saudável.

Passos seguintes

Utilize Zonas de Disponibilidade para aumentar a disponibilidade com as cargas de trabalho do cluster AKS.