Kubernetes pod状态出现ImagePullBackOff的原因
通過一個試驗作為例子來學習一下。
我們創(chuàng)建一個名為fail 的 deployment,讓它故意指向一個實際并不存在的 Docker 鏡像:
$ kubectl run fail --image=jerry/sap:v1.0.0
查看這個Pod的狀態(tài),發(fā)現(xiàn)狀態(tài)為 ErrImagePull 或者 ImagePullBackOff:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
fail-1034443984-jerry 0/1 ImagePullBackOff 0 2m
可以使用describe命令查看這個失敗的Pod的明細:
$ kubectl describe pod fail-1034443984-jerry
查看 describe 命令的輸出中 Events 這部分,我們可以看到如下內(nèi)容:
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
5m 5m 1 {default-scheduler } Normal Scheduled Successfully assigned fail-1034443984-jerry to gke-nrhk-1-default-pool-a101b974-wfp7
5m 2m 5 {kubelet gke-nrhk-1-default-pool-a101b974-wfp7} spec.containers{fail} Normal Pulling pulling image “jerry/sap:v1.0.0”
5m 2m 5 {kubelet gke-nrhk-1-default-pool-a101b974-wfp7} spec.containers{fail} Warning Failed Failed to pull image
“jerry/sap:v1.0.0”: Error: image jerry/sap not found
5m 2m 5 {kubelet gke-nrhk-1-default-pool-a101b974-wfp7} Warning FailedSync Error syncing pod, skipping: failed to “StartContainer” for “fail” with ErrImagePull: “Error: image rosskukulinski/dne not found”
5m 11s 19 {kubelet gke-nrhk-1-default-pool-a101b974-wfp7} spec.containers{fail} Normal BackOff Back-off pulling image “rosskukulinski/dne:v1.0.0”
5m 11s 19 {kubelet gke-nrhk-1-default-pool-a101b974-wfp7} Warning FailedSync Error syncing pod, skipping: failed to “StartContainer” for “fail” with ImagePullBackOff: "Back-off pulling image “jerry/sap:v1.0.0"”
注意:觀察 Pod 狀態(tài)的時候,鏡像缺失和倉庫權(quán)限不正確是沒法區(qū)分的。其它情況下,Kubernetes 將報告一個 ErrImagePull 狀態(tài)。
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的Kubernetes pod状态出现ImagePullBackOff的原因的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《魔兽世界》巨魔德鲁伊各形态样子
- 下一篇: Kubernetes pod状态出现Cr