Skip to content

3. Troubleshooting

Formation suivie via le blog de Stéphane Robert : parcours Kubernetes.

Commandes à exécuter :

Terminal window
kubectl describe deployment nginx -n demo-app
kubectl 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

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.

Terminal window
kubectl logs <nom-du-pod> -n demo-app --previous

C’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.

Un Service qui ne répond pas n’est presque jamais cassé : il fonctionne, mais il ne pointe vers rien.

Terminal window
kubectl get pods --show-labels
kubectl describe service nginx -n demo-app

Vérifiez que Endpoints n’est pas vide et que les labels correspondent bien.

Si ça dure trop longtemps, cherchez au niveau des Finalizers, qui peuvent bloquer la suppression.