Résolution des problèmes de base des échecs de nœud non prêts
Cet article fournit des étapes de résolution des problèmes pour récupérer les 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 lorsqu’un échec Node Not Ready se produit et explique comment les fonctionnalités de réparation de nœud peuvent être effectuées pour les nœuds Windows et Linux.
Avant de commencer
Lisez le guide officiel pour résoudre les problèmes des clusters Kubernetes. Lisez également le guide de l’ingénieur Microsoft pour résoudre les problèmes liés à Kubernetes. Ce guide contient des commandes pour la résolution des problèmes de pods, de nœuds, de clusters et d’autres fonctionnalités.
Prerequisites
- 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
.
Dépannage 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 machine virtuelle Azure gère les machines virtuelles qui rencontrent des problèmes. AKS et Azure VMs travaillent ensemble pour réduire les interruptions de service pour les clusters.
Pour les nœuds, il existe deux formes de pulsations :
Met à jour le .status d’un
Node
objet.Objets de bail dans l'espace de nom kube-node-lease. Chacun
Node
a un objet associéLease
.
Par rapport aux mises à jour apportées à l’état .status d’un Node
, il Lease
s’agit d’une ressource légère. L’utilisation d’objets Lease
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 de l’état .status pour Node
les objets. Il est également responsable de la mise à jour des Lease
objets liés aux Node
objets.
- Kubelet met à jour le nœud
.status
en cas de modification de l’état ou s’il n’y a pas eu de mise à jour pour un intervalle configuré. L’intervalle par défaut pour.status
les mises à jour des nœuds est de cinq minutes, qui est beaucoup plus long que le délai d’attente par défaut de 40 secondes pour les nœuds inaccessibles. - Le kubelet crée puis met à jour son
Lease
objet toutes les 10 secondes (intervalle de mise à jour par défaut).Lease
les mises à jour se produisent indépendamment des mises à jour vers le nœud.status
. Si laLease
mise à jour échoue, le kubelet retente, en utilisant un backoff exponentiel qui commence à 200 millisecondes et est limité à sept secondes.
Vous ne pouvez pas planifier un pod sur un nœud dont l’état NotReady
est ou Unknown
. Vous pouvez planifier un pod uniquement sur les nœuds qui sont dans l’état Ready
.
Si votre nœud est dans l’état ou PIDPressure
DiskPressure
dans l’étatMemoryPressure
, vous devez gérer vos ressources pour planifier des pods supplémentaires sur le nœud. Si votre nœud est en NetworkUnavailable
mode, vous devez configurer le réseau sur le nœud correctement.
AKS gère le cycle de vie et les opérations des nœuds d’agent pour vous. La modification des ressources IaaS associées aux nœuds de l’agent n’est pas prise en charge. Par exemple, la personnalisation d’un nœud via des connexions SSH, la mise à jour des packages ou la modification de la configuration réseau sur un nœud n’est pas prise en charge. Pour plus d’informations, consultez la couverture du support AKS pour les nœuds d’agent.
Vérifiez que les conditions suivantes sont remplies :
Votre cluster est dans l’état Réussi (En cours d’exécution). Pour vérifier l’état du cluster 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.
Votre pool de nœuds a un état d’approvisionnement réussi et un état d’alimentation de l’exécution. Pour vérifier l’état du pool de nœuds 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.
Les ports de sortie requis sont ouverts dans vos groupes de sécurité réseau (NSG) et pare-feu afin que l’adresse IP du serveur d’API puisse être atteinte. Pour plus d’informations, consultez Règles de réseau sortant requises et noms de domaine complets 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 deStopped
ouDeallocated
.Votre cluster exécute une version prise en charge par AKS de Kubernetes.
Plus d’informations
Pour résoudre les Not Ready
problèmes d’état d’un nœud, consultez Résoudre les problèmes de modification d’un nœud sain en état Non prêt.
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 changer sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.