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?

14
demandé sur Graham Dumpleton 2016-01-18 09:24:30

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

  1. Identifier le nœud en faisant un "kubectl/oc obtenir des gousses -o large'
  2. ssh dans le noeud qui ne peut pas tirer l'image docker
  3. vérifiez que le noeud peut résoudre les DNS du registre docker en effectuant un ping.
  4. essayez de tirer l'image du docker manuellement sur le noeud
17
répondu rjdkolb 2018-05-02 06:39:15

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
1
répondu Clemens Tolboom 2016-10-12 12:48:39