Partager via


Résolution des problèmes de base des échecs Node Not Ready

Cet article décrit les étapes de dépannage pour récupérer des nœuds de cluster Microsoft Azure Kubernetes Service (AKS) après une défaillance. Cet article traite spécifiquement des messages d’erreur les plus courants générés en cas d’échec d’un nœud non prêt et explique comment la fonctionnalité de réparation de nœud peut être effectuée pour les nœuds Windows et Linux.

Avant de commencer

Lisez le guide officiel pour la résolution des problèmes de clusters Kubernetes. Lisez également le guide de résolution des problèmes kubernetes de l’ingénieur Microsoft. Ce guide contient des commandes pour la résolution des problèmes de pods, de nœuds, de clusters et d’autres fonctionnalités.

Conditions préalables

  • Azure CLI, version 2.31 ou ultérieure. Si Azure CLI est déjà installé, vous pouvez trouver le numéro de version en exécutant az --version.

Résolution des problèmes de base

AKS surveille en permanence l’état d’intégrité des nœuds Worker et répare automatiquement les nœuds s’ils deviennent défectueux. La plateforme de machines virtuelles Azure gère les machines virtuelles qui rencontrent des problèmes. AKS et les machines virtuelles Azure fonctionnent ensemble pour réduire les interruptions de service pour les clusters.

Pour les nœuds, il existe deux formes de pulsations :

Par rapport aux mises à jour du fichier .status d’un Node, un Lease est une ressource légère. L’utilisation Lease d’objets pour les pulsations réduit l’impact sur les performances de ces mises à jour pour les clusters volumineux.

Kubelet est responsable de la création et de la mise à jour du fichier .status pour les Node objets. Il est également responsable de la mise à jour des Lease objets associés aux Node objets.

Kubelet met à jour le Node fichier .status si l’une des conditions suivantes est remplie :

  • Une modification de status se produit.

  • Aucune mise à jour n’a lieu après un intervalle de temps configuré.

L’intervalle par défaut pour status mises à jour vers un est de Node cinq minutes. Cet intervalle est beaucoup plus long que le délai d’attente par défaut de 40 secondes pour les nœuds inaccessibles. Kubelet crée puis met à jour son Lease objet une fois toutes les dix secondes (intervalle de mise à jour par défaut). Mises à jour se Lease produisent indépendamment des mises à jour du Node status. Si la Lease mise à jour échoue, kubelet effectue une nouvelle tentative à l’aide d’une interruption exponentielle qui commence à 200 millisecondes et est limitée à un maximum de sept secondes.

Vous ne pouvez pas planifier un Pod sur un Node qui a un status de NotReady ou Unknown. Vous pouvez planifier un Pod uniquement sur les nœuds qui sont dans l’état Ready .

Si votre nœud est à l’état MemoryPressure, DiskPressureou PIDPressure , vous devez gérer vos ressources afin de planifier des pods supplémentaires sur le nœud. Si votre nœud est en NetworkUnavailable mode, vous devez configurer correctement le réseau sur le nœud. Vérifiez que les conditions suivantes sont remplies :

  • Votre cluster est dans l’état Réussite (en cours d’exécution). Pour case activée le cluster status sur le Portail Azure, recherchez et sélectionnez Services Kubernetes, puis sélectionnez le nom de votre cluster AKS. Ensuite, dans la page Vue d’ensemble du cluster, recherchez l’état dans Essentials. Vous pouvez également entrer la commande az aks show dans Azure CLI.

    Portail Azure capture d’écran d’une page vue d’ensemble d’un cluster Azure Kubernetes Service (AKS). Dans la section Essentials, l’état est « Réussite (en cours d’exécution) ».

  • Votre pool de nœuds a un état d’approvisionnementréussi et l’état d’alimentationEn cours d’exécution. Pour case activée le pool de nœuds status sur le Portail Azure, revenez à la page de votre cluster AKS, puis sélectionnez Pools de nœuds. Vous pouvez également entrer la commande az aks nodepool show dans Azure CLI.

    Portail Azure capture d’écran d’un pool de nœuds de cluster Azure Kubernetes Service (AKS). L’état d’approvisionnement est Réussi. L’état d’alimentation est En cours d’exécution.

  • Les ports de sortie requis sont ouverts dans vos groupes de sécurité réseau (NSG) et votre pare-feu afin que l’adresse IP du serveur d’API soit accessible. Pour plus d’informations, consultez Règles de réseau de trafic sortant et noms de domaine complets requis pour les clusters AKS.

  • Vos nœuds ont déployé les dernières images de nœud.

  • Vos nœuds sont dans l’état Running au lieu de Stopped ou Deallocated.

  • Votre cluster exécute une version de Kubernetes prise en charge par AKS.

Exclusion de responsabilité sur les coordonnées externes

Microsoft fournit des informations de contacts externes afin de vous aider à obtenir un support technique sur ce sujet. Ces informations de contact peuvent être modifiées sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.