Tout à coup, je ne peux pas déployer des 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 tout simplement pas. La nacelle n'essaie pas de lancer le conteneur. De la page de l'événement, j'ai Back-off pulling image "172.30.84.25:5000/default/arix@sha256:d326
. J'ai vérifié que je pouvais extraire l'image avec la balise avec docker pull
.
J'ai également vérifié le journal du dernier conteneur. C'était fermé pour une raison quelconque. Je pense que le pod devrait au moins essayer de le redémarrer.
Je suis à court d'idées pour résoudre les problèmes. Que puis-je vérifier de plus?
Vous pouvez utiliser la syntaxe ') '
Pour OpenShift, utilisez:
oc describe pod <pod-id>
Pour les Kubernetes à la vanille:
kubectl describe pod <pod-id>
Examinez les événements de la sortie. Dans mon cas, cela montre en tirant l'image coredns/coredns en arrière-plan: latest
Dans ce cas, l’image coredns/coredns: la dernière ne peut pas être extraite d’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\""
Étapes de débogage supplémentaires
Avez-vous essayé de modifier pour voir ce qui ne va pas (j'ai eu le mauvais emplacement de l'image)
kubectl edit pods arix-3-yjq9w
ou même supprimer votre pod?
kubectl delete arix-3-yjq9w
J'ai oublié de transférer l'image balisée 1.0.8 vers la caisse enregistreuse électronique (AWS) (hub d'images AWS) ... Si vous utilisez Helm et effectuez une mise à niveau par:
mise à niveau de la barre minta-user ./src/services/user/helm-chart
assurez-vous que la balise d'image à l'intérieur de values.yaml est poussée (vers ECR ou Docker Hub, etc.), par exemple: (c'est mon helm-chart/values.yaml)
replicaCount: 1
image:
repository:dkr.ecr.us-east-1.amazonaws.com/minta-user
tag: 1.0.8
vous devez vous assurer que l'image: 1.0.8 est poussée!