tutorial origin online okd minishift openshift openshift-origin

origin - openshift tutorial



¿Cómo depurar "ImagePullBackOff"? (4)

De repente, no puedo desplegar algunas imágenes que podrían desplegarse antes. Obtuve el siguiente estado de pod:

[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

La aplicación simplemente no se iniciará. El pod no está intentando ejecutar el contenedor. Desde la página Evento, obtuve Back-off pulling image "172.30.84.25:5000/default/arix@sha256:d326 . Back-off pulling image "172.30.84.25:5000/default/arix@sha256:d326 que puedo extraer la imagen con la etiqueta con docker pull .

También he comprobado el registro del último contenedor. Estaba cerrado por alguna razón. Creo que el pod al menos debería intentar reiniciarlo.

Me he quedado sin ideas para depurar los problemas. ¿Qué puedo consultar más?


¿Has intentado editar para ver qué está mal (tenía la ubicación de la imagen incorrecta)

kubectl edit pods arix-3-yjq9w

o incluso eliminar tu pod?

kubectl delete arix-3-yjq9w


Ejecute el inicio de sesión de Docker

Empuje la imagen al docker hub

Re-crear pod

Esto resolvió mi problema. Espero eso ayude.


Olvidé enviar la imagen etiquetada 1.0.8 al ECR (centro de imágenes de AWS) ... Si está utilizando Helm y actualizo:

helm upgrade minta-user ./src/services/user/helm-chart

asegúrese de que la etiqueta de imagen dentro de values.yaml se inserte (en ECR o Docker Hub, etc.) por ejemplo: (este es mi helm-chart / values.yaml)

replicaCount: 1 image: repository:dkr.ecr.us-east-1.amazonaws.com/minta-user tag: 1.0.8

¡necesita asegurarse de que la imagen: 1.0.8 sea presionada!


Puede usar la sintaxis '' describe pod ''

Para uso de OpenShift:

oc describe pod <pod-id>

Para Kubernetes de vainilla:

kubectl describe pod <pod-id>

Examina los eventos de la salida. En mi caso muestra Back-off tirando coredns / coredns de imagen: último

En este caso, la imagen coredns / coredns: último no se puede extraer de 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/""

Pasos adicionales de depuración

  1. Identifique el nodo haciendo un ''kubectl / oc get pods -o wide''
  2. ssh en el nodo que no puede extraer la imagen del acoplador
  3. Verifique que el nodo pueda resolver el DNS del registro de Docker realizando un ping.
  4. intente extraer la imagen del acoplador manualmente en el nodo
  5. Si está utilizando un registro privado, verifique que su secret existe y que el secreto es correcto. Su secreto también debe estar en el mismo espacio de nombres. Gracias swenzel
  6. Intenta tirar de la imagen localmente