3. Troubleshooting
Formation suivie via le blog de Stéphane Robert : parcours Kubernetes.
Le Deployment reste à 0/1
Section titled “Le Deployment reste à 0/1”Commandes à exécuter :
kubectl describe deployment nginx -n demo-appkubectl get events -n demo-app| Ce que vous voyez | Ce que ça veut dire | Par quoi commencer |
|---|---|---|
ErrImagePull, puis ImagePullBackOff |
le nœud n’arrive pas à récupérer l’image | relire le nom et le tag : une faute de frappe donne exactement cette erreur. Ensuite seulement : image privée sans identifiants, ou registry injoignable |
Pending sans événement d’image |
aucun nœud ne peut accueillir le Pod | ressources insuffisantes, ou contrainte de placement |
Le Pod est en CrashLoopBackOff
Section titled “Le Pod est en CrashLoopBackOff”CrashLoopBackOff signifie que le conteneur démarre puis s’arrête, en boucle. Le délai entre deux redémarrages double à chaque échec (10 s, 20 s, 40 s…) et plafonne à 5 minutes.
kubectl logs <nom-du-pod> -n demo-app --previousC’est le rôle du flag --previous. S’il répond unable to retrieve container logs, aucune exécution précédente n’est disponible : relancez sans le flag, le conteneur courant a peut-être eu le temps d’écrire.
Le Service ne répond pas
Section titled “Le Service ne répond pas”Un Service qui ne répond pas n’est presque jamais cassé : il fonctionne, mais il ne pointe vers rien.
kubectl get pods --show-labelskubectl describe service nginx -n demo-appVérifiez que Endpoints n’est pas vide et que les labels correspondent bien.
Le namespace reste en Terminating
Section titled “Le namespace reste en Terminating”Si ça dure trop longtemps, cherchez au niveau des Finalizers, qui peuvent bloquer la suppression.