Déboguer les problèmes de nœuds

Cette page explique comment déboguer les problèmes de nœuds sur les clusters Anthos sur VMware (GKE sur VMware) à l'aide d'une suite d'outils de débogage préinstallés.

Présentation

Chaque Clusters Anthos sur VMware (GKE sur VMware) que vous créez est composé de plusieurs nœuds. Chaque nœud inclut une distribution de CoreOS toolbox, un script shell qui décompresse et exécute un conteneur de débogage, debug-toolbox. debug-toolbox est une image de conteneur qui inclut plusieurs tools de débogage utiles.

Si vous rencontrez des problèmes avec un nœud spécifique, essayez de déboguer en procédant comme suit : connectez-vous au nœud concerné, exécutez le script toolbox pour décompresser et exécuter le conteneur debug-toolbox, puis exécutez les outils inclus dans le conteneur.

Outils inclus dans le conteneur debug-toolbox

Le conteneur debug-toolbox exécute une image de base Debian qui inclut les packages suivants :

  • bash
  • curl
  • dnsutils
  • hping3
  • iperf3
  • lsof
  • netcat
  • mtr
  • procps
  • strace
  • tcpdump
  • traceroute
  • util-linux

Ces outils étant inclus dans le conteneur, vous n'avez pas besoin d'une connexion Internet. Si vous souhaitez installer des outils de débogage supplémentaires, utilisez apt-get, qui nécessite une connexion Internet.

Utiliser un fichier de cookie (toolbox)

  1. Connectez-vous en SSH au nœud du cluster.

  2. Exécutez la commande toolbox :

    sudo toolbox

    Cette commande démarre un conteneur debug-toolbox.

  3. Depuis le conteneur, exécutez l'un des tools. Exemple : tcpdump.

  4. Lorsque vous avez terminé, quittez le conteneur et fermez la connexion SSH au nœud.

Détecteur de problème de nœud

À partir de la version 1.4 d'Anthos clusters on VMware, le détecteur de problèmes de nœud, activé pour tous les nœuds d'un cluster, facilite la détection rapide de certains problèmes courants. Le détecteur de problèmes de nœuds vérifie toujours les problèmes possibles et signale les mêmes que les événements et conditions sur le nœud. Si un nœud présente un problème, vous pouvez vérifier si le détecteur a détecté le problème en exécutant kubectl describe sur le nœud, et en recherchant les événements et conditions correspondants.

Le détecteur de problèmes de nœuds génère plusieurs conditions sur le nœud. Si la condition signalée est KubeletUnhealthy ou ContainerRuntimeUnhealthy, un redémarrage du service systemd correspondant (kubelet ou Docker) peut aider à rendre à nouveau le nœud sain.

À partir de la version 1.5 d'Anthos clusters on VMware, la réparation automatique de kubelet et de docker systemd est activée dans le détecteur de problèmes de nœuds. Si le détecteur de problèmes de nœuds détecte une condition KubeletUnhealthy ou ContainerRuntimeUnhealthy sur le nœud, il tente de redémarrer automatiquement le service kubelet ou Docker si la durée écoulée depuis le dernier redémarrage est supérieure à un certain seuil.