5.5. Générer une archive sosreport pour un nœud de cluster OpenShift Container Platform
La manière recommandée de générer un sosreport
pour un nœud de cluster OpenShift Container Platform 4.12 est à travers un pod de débogage.
Conditions préalables
-
Vous avez accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
. - Vous avez un accès SSH à vos hôtes.
-
Vous avez installé l'OpenShift CLI (
oc
). - Vous avez un abonnement standard ou premium Red Hat.
- Vous disposez d'un compte Red Hat Customer Portal.
- Vous avez un numéro d'identification de dossier d'assistance Red Hat existant.
Procédure
Obtenir une liste des nœuds de la grappe :
$ oc get nodes
Entrez dans une session de débogage sur le nœud cible. Cette étape instancie un pod de débogage appelé
<node_name>-debug
:$ oc debug node/my-cluster-node
Pour 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 fictif et démarrez le module de débogage dans l'espace de noms fictif :$ oc new-project dummy
$ oc patch namespace dummy --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'
$ oc debug node/my-cluster-node
Définissez
/host
comme répertoire racine dans le shell de débogage. Le pod de débogage monte le système de fichiers racine de l'hôte dans/host
au sein du pod. En changeant le répertoire racine en/host
, vous pouvez exécuter les binaires contenus dans les chemins d'exécution de l'hôte :# chroot /host
NoteLes nœuds de cluster OpenShift Container Platform 4.12 exécutant Red Hat Enterprise Linux CoreOS (RHCOS) sont immuables et s'appuient sur les opérateurs pour appliquer les changements de cluster. L'accès aux nœuds de cluster à l'aide de SSH n'est pas recommandé et les nœuds seront altérés en tant que accessed. 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
seront impactées. Dans de telles situations, il est possible d'accéder aux nœuds en utilisantssh core@<node>.<cluster_name>.<base_domain>
à la place.Démarrer un conteneur
toolbox
, qui contient les binaires et les plugins nécessaires à l'exécution desosreport
:# toolbox
NoteSi un pod
toolbox
est déjà en cours d'exécution, la commandetoolbox
produit'toolbox-' already exists. Trying to start…
. Supprimez le conteneur de boîte à outils en cours d'exécution avecpodman rm toolbox-
et créez un nouveau conteneur de boîte à outils, afin d'éviter tout problème avec les pluginssosreport
.Collecter des archives sur le site
sosreport
.Exécutez la commande
sosreport
et activez les pluginscrio.all
etcrio.logs
CRI-O container enginesosreport
:# sosreport -k crio.all=on -k crio.logs=on 1
- 1
-k
vous permet de définir les paramètres du pluginsosreport
en dehors des paramètres par défaut.
- Appuyez sur Enter lorsque vous y êtes invité, pour continuer.
-
Fournissez l'identifiant du dossier d'assistance de Red Hat.
sosreport
ajoute l'identifiant au nom de fichier de l'archive. La sortie
sosreport
indique l'emplacement de l'archive et la somme de contrôle. L'exemple de sortie suivant fait référence à l'identifiant de cas de support01234567
:Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz 1 The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
- 1
- Le chemin d'accès au fichier de l'archive
sosreport
se trouve en dehors de l'environnementchroot
car le conteneur de la boîte à outils monte le répertoire racine de l'hôte à l'adresse/host
.
Fournissez l'archive
sosreport
à l'assistance Red Hat pour analyse, en utilisant l'une des méthodes suivantes.Téléchargez le fichier vers un cas d'assistance Red Hat existant directement à partir d'un cluster OpenShift Container Platform.
Depuis le conteneur de la boîte à outils, exécutez
redhat-support-tool
pour attacher l'archive directement à un dossier d'assistance Red Hat existant. Cet exemple utilise l'ID de cas d'assistance01234567
:# redhat-support-tool addattachment -c 01234567 /host/var/tmp/my-sosreport.tar.xz 1
- 1
- Le conteneur Toolbox monte le répertoire racine de l'hôte à l'adresse
/host
. Faites référence au chemin absolu du répertoire racine du conteneur Toolbox, y compris/host/
, lorsque vous spécifiez les fichiers à télécharger par le biais de la commanderedhat-support-tool
.
Téléchargez le fichier vers un dossier d'assistance Red Hat existant.
Concaténer l'archive
sosreport
en exécutant la commandeoc debug node/<node_name>
et rediriger la sortie vers un fichier. Cette commande suppose que vous avez quitté la sessionoc debug
précédente :$ 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.xz 1
- 1
- Le conteneur de débogage monte le répertoire racine de l'hôte à l'adresse
/host
. Faites référence au chemin absolu du répertoire racine du conteneur de débogage, y compris/host
, lorsque vous spécifiez les fichiers cibles pour la concaténation.
NoteLes nœuds de cluster OpenShift Container Platform 4.12 exécutant Red Hat Enterprise Linux CoreOS (RHCOS) sont immuables et s'appuient sur les opérateurs pour appliquer les changements de cluster. Le transfert d'une archive
sosreport
à partir d'un nœud de cluster en utilisantscp
n'est pas recommandé et les nœuds seront altérés en tant que accessed. 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érationsoc
seront impacté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>
.- Accédez à un dossier d'assistance existant sur https://access.redhat.com/support/cases/.
- Sélectionnez Attach files et suivez les instructions pour télécharger le fichier.