Débogage des noeuds worker
Cloud privé virtuel Infrastructure classique
Passez en revue les options permettant de déboguer vos noeuds worker et d'identifier les causes premières des échecs.
Vérifier les notifications de noeud worker et les mises à jour de maintenance
Recherchez dans le tableau de bord de santé et d'état de IBM Cloud les notifications ou les mises à jour de maintenance qui peuvent être pertinentes pour vos noeuds worker. Ces notifications ou mises à jour peuvent aider à déterminer la cause des défaillances du noeud worker.
- Clusters classiques Recherchez dans letableau de bord de santé toute notification de maintenance d'urgence IBM Cloud pouvant affecter les noeuds worker classiques de votre compte. Selon la nature de la notification de maintenance, vous devrez peut-être réamorcer ou recharger vos noeuds worker.
- Recherchez dans le tableau de bord de statut IBM Cloud tout problème connu pouvant affecter vos noeuds worker ou votre cluster. Si l'un des composants suivants affiche
un statut d'erreur, ce composant peut être la cause des interruptions de votre noeud worker.
- Pour tous les clusters, vérifiez les composants Kubernetes Service et Container Registry.
- Pour les clusters Red Hat OpenShift, vérifiez le composant Red Hat OpenShift on IBM Cloud composant.
- Pour les clusters de VPC, vérifiez les composants Virtual Private Cloud, Virtual Private Endpoint et Virtual Server for VPC.
- Pour les clusters classiques, vérifiez les composants Classic Infrastructure Provisioning et Virtual Servers.
Étapes rapides pour résoudre les problèmes de nœud worker
Si votre noeud worker ne fonctionne pas comme prévu, vous pouvez suivre ces étapes pour mettre à jour vos outils de cluster et de ligne de commande ou exécuter des tests de diagnostic. Si le problème persiste, reportez-vous à la section Débogage de votre noeud worker pour connaître les étapes supplémentaires.
Débogage de votre noeud worker
Etape 1 : Obtenez l'état du noeud worker
Si votre cluster est à l'état Critical, Delete failed ou Warning, ou s'il reste bloqué à l'état Pending, vérifiez l'état de vos noeuds worker.
ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID
Etape 2 : Vérifiez l'état du noeud worker
Consultez les zones State et Status correspondant à chaque noeud worker dans votre sortie d'interface de ligne de commande.
Pour plus d'informations, voir Etats du noeud worker.
Etape 3 : Affichez les détails relatifs à chaque noeud worker.
Obtenez les détails relatifs à votre noeud worker. Si les détails comprennent un message d'erreur, consultez la liste des messages d'erreur courants concernant les noeuds worker pour savoir comment résoudre le problème.
ibmcloud oc worker get --cluster CLUSTER_NAME_OR_ID --worker WORKER_NODE_ID
Etape 4 : Vérifiez le fournisseur d'infrastructure du noeud worker
Examinez l'environnement d'infrastructure pour rechercher les autres raisons susceptibles de provoquer des problèmes de noeud worker.
- Assurez-vous auprès de votre équipe chargée de la mise en réseau qu'aucune opération de maintenance récente, telle que des mises à jour de pare-feu ou de sous-réseau, ne pourrait avoir une incidence sur les connexions de noeud worker.
- Consultez IBM Cloud pour Red Hat OpenShift on IBM Cloud et le fournisseur d’infrastructure sous-jacent, par exemple Virtual Servers pour les composants classiques liés au VPC, ou Satellite.
- Si vous accès l'infrastructure sous-jacente, par exemple les serveurs virtuels classiques, examinez les détails des machines correspondantes pour les noeuds worker.
Étape 5 : Rassembler les journaux et autres informations sur les nœuds de travail
Exécution de la commande must-gather
La commande CLI oc adm must-gather recueille les informations de votre cluster pour les problèmes de débogage. Cet outil indispensable recueille les définitions des ressources, les journaux de service, etc. Notez que les journaux
d'audit ne sont pas collectés dans le cadre de l'ensemble d'informations par défaut afin de réduire la taille des fichiers.
Lorsque vous exécutez oc adm must-gather, un nouveau pod avec un nom aléatoire est créé dans un nouveau projet sur le cluster. Les données sont collectées sur ce pod et sauvegardées dans un nouveau répertoire commençant par must-gather.local.
Consultez les exemples de commandes suivants.
oc adm must-gather
Exemple de commande pour collecter des données relatives à une ou plusieurs caractéristiques spécifiques, utilisez l'argument --image avec une image spécifique.
oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
Exemple de commande pour collecter les journaux d'audit.
oc adm must-gather -- /usr/bin/gather_audit_logs
Exemple de commande pour exécuter must-gather dans un espace de noms spécifique.
oc adm must-gather --run-namespace NAMESPACE \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
Exemple de commandes pour collecter les journaux à partir d'un moment donné.
oc adm must-gather --since=24h
oc adm must-gather --since-time=$(date -d '-24 hours' +%Y-%m-%dT%T.%9N%:z )
Exemple de commande pour collecter les journaux du réseau.
oc adm must-gather -- gather_network_logs
Pour plus d'exemples et d'arguments, exécutez la commande suivante
oc adm must-gather -h
Exemple de commande pour créer un fichier compressé à partir du répertoire must-gather.
tar cvaf must-gather.tar.gz must-gather.local.5421342344627712289/
Joignez le fichier compressé à votre dossier d'assistance.
Recueil d'un rapport SOS
sosreport est un outil qui collecte les détails de configuration, les informations système et les données de diagnostic des systèmes Red Hat Enterprise Linux (RHEL) et Red Hat Enterprise Linux CoreOS (RHCOS). Il fournit un moyen
normalisé de collecter des informations de diagnostic relatives à un nœud, qui peuvent ensuite être fournies à l'assistance pour le diagnostic des problèmes.
Dans certaines interactions avec le support, celui-ci peut vous demander de collecter une archive sosreport pour un nœud OpenShift Container Platform spécifique. Par exemple, il peut être nécessaire d'examiner les journaux du
système ou d'autres données spécifiques au nœud qui ne sont pas incluses dans la sortie de oc adm must-gather.
La méthode de collecte d'un fichier « sosreport » varie en fonction du système d'exploitation du nœud de travail. Les nœuds RHCOS utilisent la commande « toolbox ». Les nœuds RHEL 8 et RHEL 9 ne prennent pas en charge
la commande « toolbox »; utilisez plutôt le script « sosreport » de l' Red Hat.
La méthode recommandée pour générer un sosreport pour un nœud de cluster OpenShift Container Platform est d'utiliser un pod de débogage.
Accédez à votre cluster Red Hat OpenShift.
-
Répertoriez vos nœuds de travail afin d'identifier le nœud cible et son système d'exploitation.
oc get nodes -o wideNotez le nom du nœud de travail dont vous souhaitez collecter l'
sosreport. La colonne « OS-IMAGE » indique si le nœud exécute RHCOS ou RHEL. -
Lancez une session de débogage sur le nœud cible.
oc debug node/node_namePour entrer dans une session de débogage sur le nœud cible entaché de l'effet
NoExecute, ajoutez une tolérance à un espace de noms temporaire et démarrez le pod de débogage dans l'espace de noms temporaire.oc new-project temp oc patch namespace temp --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'oc debug node/my-cluster-node -
Définir
/hostcomme répertoire racine dans l'interpréteur de commandes de débogage. Le pod de débogage monte le système de fichiers racine de l'hôte dans le répertoire «/host» au sein du pod. En définissant le répertoire racine sur/host, vous pouvez exécuter les binaires présents dans les chemins d'accès aux exécutables de l'hôte.chroot /hostOpenShift Container Platform Les nœuds de cluster exécutant Red Hat Enterprise Linux CoreOS (RHCOS) sont immuables et dépendent des opérateurs pour appliquer les modifications apportées au cluster. Il n'est pas recommandé d'accéder aux nœuds de la grappe en utilisant SSH. Cependant, si l'API OpenShift Container Platform n'est pas disponible ou si le kubelet ne fonctionne pas correctement sur le nœud cible, les opérations oc peuvent être affectées. Dans ce cas, il est possible d'accéder aux nœuds en utilisant
ssh core@NODE.CLUSTER_NAME.BASE_DOMAIN. -
Récupérez l'
sosreporte en utilisant la méthode adaptée au système d'exploitation du nœud de travail.-
Nœuds RHCOS: utilisez la commande «
toolbox».-
Démarrer un conteneur de boîte à outils, qui comprend les binaires et les modules d'extension nécessaires à l'exécution du site
sosreport. La commande «toolbox» n'est prise en charge que sur les nœuds RHCOS.toolboxSi un module de boîte à outils est déjà en cours d'exécution, la commande Toolbox affiche
'toolbox-' already exists. Trying to start….. Elle supprime le module de boîte à outils en cours d'exécution avecpodman rm toolbox-et démarre un nouveau module de boîte à outils. -
Exécutez la commande
sos reportet suivez les invites pour collecter les données de dépannage.sos report -k crio.all=on -k crio.logs=on -k podman.all=on -k podman.logs=onExemple de commande pour inclure dans votre rapport des informations sur les configurations de réseau OVN- Kubernetes d'un nœud.
sos report --all-logsLa sortie «
sosreport» indique l'emplacement de l'archive et sa somme de contrôle. L'exemple de résultat suivant fait référence à l'identifiant de cas de soutien 01234567. Le chemin d'accès au fichier se trouve en dehors de l'environnement «chroot», car le conteneur de la boîte à outils monte le répertoire racine de l'hôte à l'adresse/host.Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
-
-
Nœuds RHEL 8 et RHEL 9: la commande «
toolbox» n'est pas prise en charge sur les nœuds RHEL. Utilisez plutôt le script de collecte de rapports SOS « Red Hat ».-
Téléchargez et exécutez le script « sosreport » de l' Red Hat en suivant les instructions fournies dans l'article de la base de connaissances disponible à l'adresse Red Hat.
-
Suivez les instructions du script pour collecter les données de dépannage. Notez l'emplacement du fichier d'archive généré à partir de la sortie du script.
-
-
-
Affiche le site
sosreportdans un fichier.Le conteneur de débogage monte le répertoire racine de l'hôte à l'adresse
/host. Lorsque vous spécifiez les fichiers cibles à concaténer, indiquez le chemin d'accès absolu à partir du répertoire racine du conteneur de débogage, en incluant «/host».oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz' > /tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xzOpenShift Container Platform Les nœuds de cluster exécutant Red Hat Enterprise Linux CoreOS (RHCOS) sont immuables et dépendent des opérateurs pour appliquer les modifications apportées au cluster. Le transfert d'une archive
sosreportà partir d'un nœud de cluster en utilisantscpn'est pas recommandé. Cependant, si l'API OpenShift Container Platform n'est pas disponible ou si le kubelet ne fonctionne pas correctement sur le nœud cible,ocles opérations peuvent être affectées. Dans de telles situations, il est possible de copier une archivesosreportà partir d'un nœud en exécutantscp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>. -
Téléchargez le fichier dans votre dossier d'assistance.