突然、以前に展開できたイメージを展開できません。次のポッドステータスを取得しました。
[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
アプリケーションは起動しません。ポッドはコンテナを実行しようとはしていません。イベントページから、Back-off pulling image "172.30.84.25:5000/default/arix@sha256:d326
を取得しました。 docker pull
のタグで画像をプルできることを確認しました。
最後のコンテナのログも確認しました。何らかの理由で閉鎖されました。ポッドは少なくとも再起動を試みる必要があると思います。
問題をデバッグするためのアイデアが不足しています。何をもっと確認できますか?
「describe pod」構文を使用できます
OpenShiftの場合:
oc describe pod <pod-id>
バニラ・クベルネテスの場合:
kubectl describe pod <pod-id>
出力のイベントを調べます。私の場合、それはを示していますバックオフプルイメージcoredns/coredns:latest
この場合、イメージcoredns/coredns:latestはインターネットからプルできません。
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\""
追加のデバッグ手順
何が間違っているかを確認するために編集しようとしましたか(画像の場所が間違っていました)
kubectl edit pods arix-3-yjq9w
またはポッドを削除しますか?
kubectl delete arix-3-yjq9w
1.0.8でタグ付けされたイメージをECR(AWSイメージハブ)にプッシュするのを忘れていました... Helmを使用しており、次の方法でアップグレードする場合:
helm upgrade minta-user ./src/services/user/helm-chart
values.yaml内のイメージタグが(ECRまたはDocker Hubなどに)プッシュされることを確認します。例:(これは私のhelm-chart/values.yamlです)
replicaCount: 1
image:
repository:dkr.ecr.us-east-1.amazonaws.com/minta-user
tag: 1.0.8
image:1.0.8がプッシュされることを確認する必要があります!