Solução básica de problemas de falhas de nó não pronto
Este artigo fornece etapas de solução de problemas para recuperar nós de cluster do AKS (Serviço de Kubernetes do Microsoft Azure) após uma falha. Este artigo aborda especificamente as mensagens de erro mais comuns geradas quando ocorre uma falha de nó não pronto e explica como a funcionalidade de reparo de nó pode ser feita para nós Windows e Linux.
Antes de começar
Leia o guia oficial para solução de problemas de clusters do Kubernetes. Além disso, leia o guia do engenheiro da Microsoft para solução de problemas do Kubernetes. Este guia contém comandos para solucionar problemas de pods, nós, clusters e outros recursos.
Pré-requisitos
- CLI do Azure, versão 2.31 ou posterior. Se a CLI do Azure já estiver instalada, você poderá encontrar o número da versão executando
az --version
.
Solução de problemas básicos
O AKS monitora continuamente o estado de integridade dos nós de trabalho e repara automaticamente os nós se eles se tornarem não íntegros. A plataforma de VM (Máquina Virtual) do Azure mantém as VMs que apresentam problemas. O AKS e as VMs do Azure trabalham em conjunto para reduzir as interrupções de serviço para os clusters.
Para os nós, há duas formas de pulsações:
Atualiza para o .status de um
Node
objeto.Objetos de Concessão no namespace kube-node-lease. Cada
Node
um tem um objeto associadoLease
.
Comparado às atualizações do .status de a Node
, a Lease
é um recurso leve. O uso Lease
de objetos para pulsações reduz o impacto no desempenho dessas atualizações para clusters grandes.
O kubelet é responsável por criar e atualizar o .status para Node
objetos. Ele também é responsável por atualizar os Lease
objetos relacionados aos Node
objetos.
- O kubelet atualiza o nó
.status
quando há uma alteração no status ou se não houve atualização para um intervalo configurado. O intervalo padrão para.status
atualizações de nós é de cinco minutos, o que é muito maior do que o tempo limite padrão de 40 segundos para nós inacessíveis. - O kubelet cria e atualiza seu
Lease
objeto a cada 10 segundos (o intervalo de atualização padrão).Lease
As atualizações ocorrem independentemente das atualizações do nó.status
. Se aLease
atualização falhar, o kubelet tentará novamente, usando uma retirada exponencial que começa em 200 milissegundos e é limitada a sete segundos.
Você não pode agendar um pod em um nó que tenha um status de NotReady
ou Unknown
. Você pode programar um pod somente em nós que estão no Ready
estado.
Se o MemoryPressure
nó estiver no estado , DiskPressure
ou PIDPressure
, você deverá gerenciar seus recursos para agendar pods extras no nó. Se o nó estiver no NetworkUnavailable
modo, você deverá configurar a rede no nó corretamente.
O AKS gerencia o ciclo de vida e as operações dos nós do agente para você. Não há suporte para a modificação dos recursos de IaaS associados aos nós do agente. Por exemplo, não há suporte para personalizar um nó por meio de conexões SSH, atualizar pacotes ou alterar a configuração de rede em um nó. Para obter mais informações, consulte Cobertura de suporte do AKS para nós de agente.
Certifique-se de que as seguintes condições sejam atendidas:
Seu cluster está no estado Bem-sucedido (Em execução ). Para verificar o status do cluster no portal do Azure, pesquise e selecione Serviços do Kubernetes e selecione o nome do cluster do AKS. Em seguida, na página Visão geral do cluster, procure no Essentials para encontrar o Status. Ou insira o comando az aks show na CLI do Azure.
Seu pool de nós tem um estado de provisionamento de Êxito e um estado de Energia de Execução. Para verificar o status do pool de nós no portal do Azure, retorne à página do cluster do AKS e selecione Pools de nós. Como alternativa, insira o comando az aks nodepool show na CLI do Azure.
As portas de saída necessárias estão abertas em seus NSGs (grupos de segurança de rede) e firewall para que o endereço IP do servidor de API possa ser alcançado. Para obter mais informações, consulte Regras de rede de saída necessárias e FQDNs para clusters do AKS.
Seus nós implantaram as imagens de nó mais recentes.
Seus nós estão no
Running
estado em vez deStopped
ouDeallocated
.Seu cluster está executando uma versão do Kubernetes com suporte do AKS.
Mais informações
Para solucionar problemas Not Ready
de status de um nó, consulte Solucionar problemas de uma alteração em um nó íntegro para o status Não Pronto.
Aviso de isenção de responsabilidade para contatos de terceiros
A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar informações adicionais sobre esse tópico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão das informações de contato de terceiros.