Kubernetes pod状态出现ImagePullBackOff的原因

通过一个试验作为例子来学习一下。

我们创建一个名为fail 的 deployment,让它故意指向一个实际并不存在的 Docker 镜像:
$ kubectl run fail --image=jerry/sap:v1.0.0

查看这个Pod的状态,发现状态为 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 这部分,我们可以看到如下内容:

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"”

image

注意:观察 Pod 状态的时候,镜像缺失和仓库权限不正确是没法区分的。其它情况下,Kubernetes 将报告一个 ErrImagePull 状态。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

汪子熙 CSDN认证博客专家 前端框架 Node.js SAP
Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。14 多年的 SAP 产品开发生涯,Jerry 曾经先后参与 SAP Business ByDesign,SAP CRM,SAP Cloud for Customer,SAP S/4HANA,SAP Commerce Cloud(电商云)等标准产品的研发工作。
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值