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 associado Lease .

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 a Lease 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 MemoryPressurenó estiver no estado , DiskPressureou 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.

    Captura de tela do portal do Azure de uma página Visão geral do cluster do Serviço de Kubernetes do Azure (A K S). Na seção Essentials, o status é 'Bem-sucedido (em execução)'.

  • 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.

    Captura de tela do portal do Azure de um pool de nós de cluster do Serviço de Kubernetes do Azure (A K S). O estado de provisionamento é Bem-sucedido. O estado de energia é Em execução.

  • 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 de Stopped ou Deallocated.

  • 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.