Pilotes CSI : Collecte des journaux
Summary: Cet article explique comment collecter les journaux de base pour commencer à résoudre un problème de la gamme Dell Container Storage Modules (CSM) : Pilotes CSI (Container Storage Interface) Dell ...
Instructions
Collecte du
journal des pilotes CSICela consiste à activer le débogage, à reproduire le problème si possible, à collecter les journaux pour le contrôleur de pilotes CSI, à collecter les journaux à partir du pod de nœud.
kubectl Les commandes peuvent être remplacées par « oc » dans les environnements OpenShift.
Activez les logs de débogage pour le contrôleur de pilotes CSI et les pods de nœuds.
Reportez-vous à la section « Configuration de journalisation dynamique » dans la documentation : https://dell.github.io/csm-docs/docs/csidriver
Déterminez les noms des pods de contrôleur et de nœud.
Utilisez l’option kubectl get pods pour répertorier les pods dans l’espace de nommage du pilote.
# kubectl get pods -n isilon NAME READY STATUS RESTARTS AGE isilon-controller-66d7d9d7c-6j6f4 6/6 Running 0 11m isilon-node-9wngk 2/2 Running 0 27d
Collectez les journaux du contrôleur de pilotes CSI.
Les logs doivent être collectés pour les pods de contrôleur. Collectez les logs de tous les contrôleurs à l’aide de kubectl logs . Assurez-vous de transmettre le conteneur approprié, tel que le pilote.
kubectl logs -n <namespace> <controller> <container> > <file name>
Exemple :
kubectl logs -n isilon isilon-controller-66d7d9d7c-6j6f4 driver > isilon-controller-66d7d9d7c-6j6f4_driver.log
Répétez cette procédure pour tous les conteneurs requis liés à votre problème (attacheur, snapshotteur, provisionneur, pilote, redimensionneur, etc.). Veillez à modifier le nom du fichier de sortie pour qu’il corresponde au nom du contrôleur et au conteneur.
Collectez les logs du pod de nœud de pilote CSI.
Les logs doivent également être collectés pour les nœuds de travail. Il peut s’agir d’un nœud ou de plusieurs nœuds si un pod problématique se déplace d’un nœud à un autre. Cela permet de collecter les journaux pour chacun des conteneurs du pod du nœud de pilote CSI (pilote, registre et ainsi de suite) :
kubectl logs -n <namespace> <worker node> > <filename>.txt
Exemple :
kubectl logs -n isilon isilon-node-9wngk driver > isilon-node-9wngk_driver.txt kubectl logs -n isilon isilon-node-9wngk registrar > isilon-node-9wngk_registrar.txt
Alternatives
Script
: génère tous les journaux du contrôleur individuellement (modifiez l’espace de nommage « isilon » 2 endroits si nécessaire) et ajoute des conteneurs selon les besoins.
for x in $(kubectl get pods -n isilon | grep controller | awk '{print $1}'); do for i in attacher provisioner driver snapshotter;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done
Cela permet de collecter les journaux des nœuds (modifiez l’espace de nommage « isilon » à deux endroits si nécessaire) et d’ajouter des conteneurs en fonction des besoins.
for x in $(kubectl get pods -n isilon | grep node | awk '{print $1}'); do for i in driver registrar;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done
Depuis l’option
La collecte de tous les journaux peut générer plus de données que nécessaire. L’option «--since" peut être utilisée pour effectuer une collecte pendant une durée connue. Cette option est suivie de « 5 s », « 5 m » ou « 5 h » pour les secondes, les minutes et les heures en fonction de la date à laquelle la collecte des logs doit remonter. Cela est également utile si le problème a été reproduit, collectez les 5 dernières minutes de journaux (ou le temps qu’il a fallu pour se reproduire) :
Exemple :
kubectl logs -n isilon isilon-node-xxx driver --since 5m > isilon-node-xxx_driver.txt
Tous les conteneurs
Pour le dépannage, il est utile de collecter les journaux séparément, comme indiqué ci-dessus. Parfois, le remplacement du nom du conteneur par "--all-containers" pour collecter tous les logs des conteneurs du pod peut être utile.
Exemple :
kubectl logs -n isilon isilon-node-xxx --all-containers> isilon-node_driver.txt
Autres informations requises :
Container Orchestrator (K8s, OpenShift, etc.) et version
Version et saveur
de Kubernetes Version du pilote
Version de la baie ou du microcode
Système d’exploitation et version des nœuds K8
Additional Information
Pour répertorier les déploiements:
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
CSI-POWERSCALE isilon-controller 1/1 1 1 1 14d
powermax-controller 1/1 1 1 26d
unity unity-controller 1/1 1 1 47d
vxflexos vxflexos-controller 2/2 2 107d
-Nom:
valeur X_CSI_DEBUG: « true »
Pour Isilon, le contenu de l’API REST OneFS doit également être consigné dans le débogage en définissant sur 0 (true):
-Nom:
X_CSI_VERBOSE valeur: « 0 »
Activez les journaux de débogage des nœuds de pilote CSI en modifiant le fichier daemman.
Le débogage est activé en modifiant le processus.
Pour répertorier les processus:
NAMESPACE NAMED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
csi-powerscale isilon-node 2 2 2 2 2 14d
powermax-node 2 2 2 2 2 26d
unity unity-node 2 2 2 2 2 47d
vxflexos vxflexos-node 2 2 2 2 107d
-Nom:
valeur X_CSI_DEBUG: « Vrai »
Pour Isilon, le contenu de l’API REST OneFS doit également être consigné dans le débogage en définissant sur 0 (true):
-Nom:
X_CSI_VERBOSE valeur: « 0 »
Dans la mesure où les logs de débogage ne sont pas rétroactives, reproduisez le problème si possible avant de collecter les logs.