Comment déboguer "ImagePullBackOff"?
tout d'un coup, je ne peux pas déployer certaines images qui pourraient être déployées auparavant. J'ai le statut de pod suivant::
[root@webdev2 origin]# oc get pods
NAME READY STATUS RESTARTS AGE
arix-3-yjq9w 0/1 ImagePullBackOff 0 10m
docker-registry-2-vqstm 1/1 Running 0 2d
router-1-kvjxq 1/1 Running 0 2d
L'application ne démarre pas. La nacelle n'essaie pas de faire fonctionner le container. De la page de L'événement, j'ai obtenu Back-off pulling image "172.30.84.25:5000/default/arix@sha256:d326
. J'ai vérifié que je peux tirer de l'image avec la balise docker pull
.
j'ai aussi vérifié le journal de la dernière conteneur. Il a été fermé pour une raison quelconque. Je pense que le module doit au moins essayer de redémarrer il.
je suis à court d'idées pour déboguer les problèmes. Que puis-je vérifier plus?
2 réponses
Vous pouvez utiliser la fonctiondécrire pod syntaxe
Pour OpenShift utilisation:
oc describe pod <pod-id>
Pour la vanille Kubernetes:
kubectl describe pod <pod-id>
Examiner les événements de la sortie. Dans mon cas, cela montre Retour-hors tirant image coredns/coredns:le dernier
dans ce cas, l'image coredns/coredns: latest ne peut pas être tirée de la Internet.
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
5m 5m 1 {default-scheduler } Normal Scheduled Successfully assigned coredns-4224169331-9nhxj to 192.168.122.190
5m 1m 4 {kubelet 192.168.122.190} spec.containers{coredns} Normal Pulling pulling image "coredns/coredns:latest"
4m 26s 4 {kubelet 192.168.122.190} spec.containers{coredns} Warning Failed Failed to pull image "coredns/coredns:latest": Network timed out while trying to connect to https://index.docker.io/v1/repositories/coredns/coredns/images. You may want to check your internet connection or if you are behind a proxy.
4m 26s 4 {kubelet 192.168.122.190} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "coredns" with ErrImagePull: "Network timed out while trying to connect to https://index.docker.io/v1/repositories/coredns/coredns/images. You may want to check your Internet connection or if you are behind a proxy."
4m 2s 7 {kubelet 192.168.122.190} spec.containers{coredns} Normal BackOff Back-off pulling image "coredns/coredns:latest"
4m 2s 7 {kubelet 192.168.122.190} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "coredns" with ImagePullBackOff: "Back-off pulling image \"coredns/coredns:latest\""
autres étapes de débogage
- Identifier le nœud en faisant un "kubectl/oc obtenir des gousses -o large'
- ssh dans le noeud qui ne peut pas tirer l'image docker
- vérifiez que le noeud peut résoudre les DNS du registre docker en effectuant un ping.
- essayez de tirer l'image du docker manuellement sur le noeud
avez - vous essayé d'éditer pour voir ce qui ne va pas (j'ai eu le mauvais emplacement d'image)
kubectl edit pods arix-3-yjq9w
kubectl delete arix-3-yjq9w