Débogage des échecs IBM Cloud File Storage for Classic
Passez en revue les options permettant de déboguer File Storage for Classic et d'identifier les causes premières des échecs.
Procédure visant à vérifier si le pod qui monte votre instance de stockage est correctement déployé
Suivez la procédure ci-dessous pour passer en revue les éventuels messages d'erreur liés au déploiement du pod.
-
Affichez la liste des pods de votre cluster. Un pod est correctement déployé s'il est à l'état En cours d'exécution.
kubectl get pods -
Obtenez les détails relatifs à votre pod et passez en revue des messages d'erreur éventuels qui s'affichent dans la section Events de la sortie de l'interface CLI.
kubectl describe pod <pod_name> -
Extrayez les journaux relatifs à votre pod et consultez les messages d'erreur qu'ils contiennent le cas échéant.
kubectl logs <pod_name>
Redémarrage de votre pod d'application
Certains problèmes peuvent être résolus en redémarrant et redéployant les pods. Suivez la procédure ci-dessous pour redéployer un pod spécifique.
-
Si votre pod fait partie d'un déploiement, supprimez-le et laissez le déploiement le régénérer. Si votre pod ne fait pas partie d'un déploiement, supprimez-le et réappliquez votre fichier de configuration de pod.
- Supprimez le pod.
kubectl delete pod <pod_name> ``` Exemple de sortie ```sh {: screen} pod "nginx" deleted ``` 2. Réappliquez le fichier de configuration pour redéployer le pod. ```sh {: pre} kubectl apply -f <app.yaml> ``` Exemple de sortie ```sh {: pre} pod/nginx created ``` -
Si le redémarrage de votre pod ne résout pas le problème, rechargez vos noeuds worker.
-
Vérifiez que vous utilisez la dernière version du plug-in IBM Cloud et IBM Cloud Kubernetes Service.
ibmcloud updateibmcloud plugin repo-pluginsibmcloud plugin update
Procédure visant à vérifier que les pods de pilote de stockage et de plug-in sont à l'état En cours d'exécution
Suivez la procédure ci-dessous pour vérifier le statut de votre pilote de stockage et des pods du plug-in, et recherchez les messages d'erreur éventuels.
-
Répertoriez les pods dans l'espace de noms
kube-system.kubectl get pods -n kube-system -
Si le pilote de stockage et les gousses de plug-in n'affichent pas le statut Exécution, obtenez plus de détails sur le pod pour trouver la cause principale. Selon l'état de votre pod, les commandes suivantes peuvent échouer.
- Obtenez les noms des conteneurs qui s'exécutent dans le pod de pilote.
kubectl describe pod POD_NAME -n kube-system ``` 2. Exportez les journaux du pod de pilote dans un fichier `logs.txt` sur votre machine locale. ```sh {: pre} kubectl logs <pod_name> -n kube-system > logs.txt ``` 3. Examinez le fichier journal. ```sh {: pre} cat logs.txt ``` -
Recherchez les messages d'erreur éventuels dans les derniers journaux. Consultez la File Storage for Classic documentation sur le traitement des incidents pour connaître la procédure à suivre afin de corriger les erreurs courantes.
Procédure visant à vérifier si votre réservation de volume persistant a été correctement mise à disposition.
Suivez la procédure ci-dessous pour vérifier le statut de votre PVC et recherchez les messages d'erreur éventuels.
-
Vérifiez le statut de votre PVC. Une réservation de volume persistant est correctement mise à disposition si elle est à l'état Lié.
kubectl get pvc-
L'état de PVC Bound indique que votre PVC est mis à disposition.
Exemple de sortie
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE silver-pvc Bound pvc-4b881a6b-ada8-4a44-b568-fe909107d756 24Gi RWX ibmc-file-silver 7m29s -
Si votre PVC est à l'état En attente, décrivez-le et recherchez dans la section Events de la sortie d'éventuels avertissements ou messages d'erreur. Notez qu'une réservation de volume persistant qui fait référence à des classes de stockage avec le mode de liaison de volume
WaitForFirstConsumerreste à l'état En attente jusqu'à ce qu'elle soit utilisée par un pod d'application déployé.kubectl describe pvc <pvc_name>Exemple de sortie
Name: local-pvc Namespace: default StorageClass: sat-local-file-gold Status: Pending Volume: Labels: <none> Annotations: <none> Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Mounted By: <none> Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning ProvisioningFailed 60s (x42 over 11m) persistentvolume-controller storageclass.storage.k8s.io "sat-local-file-gold" not found
-
Vérification et mise à jour de la version CLI kubectl
Si vous utilisez une version d'interface de ligne de commande kubectl qui ne correspond pas au moins à la version principale.secondaire de votre cluster, vous risquez d'obtenir des résultats inattendus. Par exemple, Kubernetes ne prend pas en charge les versions client kubectl dont le numéro de version diffère de 2 versions ou plus par rapport à la version serveur (n +/- 2).
-
Vérifiez que la version de l'interface de ligne de commande
kubectlque vous exécutez sur votre machine locale correspond à la version Kubernetes qui est installée dans votre cluster. Affichez la version de l'interface de ligne de commandekubectlqui est installée dans votre cluster et sur votre machine locale.kubectl versionExemple de sortie :
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.36", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.36+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}Les versions de l'interface de ligne de commande correspondent si la même version est visible dans
GitVersionpour le client et le serveur. Vous pouvez ignorer la partie+IKSde la version du serveur. -
Si les versions de l'interface en ligne de commande (CLI
kubectl) sur votre machine locale et sur votre cluster ne correspondent pas, mettez à jour votre cluster ou installez une autre version de la CLI sur votre machine locale.