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

O AKS monitoriza continuamente o estado de funcionamento dos nós de trabalho e efetua a reparação automática do nó se ficarem em mau estado de funcionamento. A plataforma de máquinas virtuais (VMs) do Azure realiza 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 documento, irá aprender como a funcionalidade de reparação automática de nós se comporta tanto para nós do Windows como para Linux.

Como o AKS verifica se existem nós em mau estado de funcionamento

O AKS utiliza as seguintes regras para determinar se um nó está em mau estado de funcionamento e precisa de ser reparado:

  • O nó comunica o estado NotReady em verificações consecutivas dentro de um período de 10 minutos.
  • O nó não comunica nenhum estado dentro de 10 minutos.

Pode verificar manualmente o estado de funcionamento dos nós com kubectl.

kubectl get nodes

Como funciona a reparação automática

Nota

O AKS inicia operações de reparação com o aks-remediator da conta de utilizador. O mínimo de Nós necessários num Cluster do AKS para reparação automática é 2.

Se for identificado um nó em mau estado de funcionamento que permanece nesse estado durante 10 minutos, o AKS realiza as seguintes ações:

  1. Reinicie o nó.
  2. Se o reinício não for bem-sucedido, reimage o nó.
  3. Se a imagem não for bem-sucedida, reimplemente o nó.

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

Se o AKS encontrar vários nós em mau estado de funcionamento durante uma verificação de estado de funcionamento, cada nó é reparado individualmente antes de começar outra reparação.

Node Autodrain

Os Eventos Agendados podem ocorrer nas máquinas virtuais (VMs) subjacentes em qualquer um dos conjuntos de nós. Para conjuntos de nós spot, os eventos agendados podem causar um evento de nó preempt para o nó. Determinados eventos de nós, como preempt, fazem com que o nó do AKS tente um cordão e drenagem do nó afetado, o que permite um reagendamento gracioso de quaisquer cargas de trabalho afetadas nesse nó. Quando isto acontece, poderá reparar no nó para receber um taint com "remediator.aks.microsoft.com/unschedulable", devido a "kubernetes.azure.com/scalesetpriority: spot".

A tabela seguinte mostra os eventos do nó e as ações que causam para a deteção automática do nó do AKS.

Evento Descrição Ação
Fixar A VM está agendada para colocar em pausa durante alguns segundos. A conectividade da CPU e da rede pode ser suspensa, mas não há impacto na memória ou nos ficheiros abertos Nenhuma ação
Reiniciar A VM está agendada para reinício. A memória não persistente da VM é perdida. Nenhuma ação
Voltar a implementar A VM está agendada para ser movida para outro nó. Os discos efémeros da VM são perdidos. Cordão e drenagem
Preempt A VM spot está a ser eliminada. Os discos efémeros da VM são perdidos. Cordão e drenagem
Terminate A VM está agendada para ser eliminada. Cordão e drenagem

Limitações

Em muitos casos, o AKS pode determinar se um nó está em mau estado de funcionamento e tentar reparar o problema, mas existem casos em que o AKS não consegue reparar o problema ou não consegue detetar que existe um problema. Por exemplo, o AKS não consegue detetar problemas se o estado de um nó não estiver a ser comunicado devido a um erro na configuração da rede ou se não tiver registado inicialmente como um nó em bom estado de funcionamento.

Passos seguintes

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