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"”
注意:观察 Pod 状态的时候,镜像缺失和仓库权限不正确是没法区分的。其它情况下,Kubernetes 将报告一个 ErrImagePull 状态。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- kubernetes-批量删除Evicted Pods[通俗易懂]
- Kubernetes Service
- 3-Kubernetes入门之Ubuntu安装部署集群
- 企业运维 | MySQL关系型数据库在Docker与Kubernetes容器环境中快速搭建部署主从实践
- Kubernetes 领进门 | 安装 kubernetes-dashboard 可视化面板
- 【K8S专栏】Kubernetes有状态应用管理
- K8S 生态周报| Kubernetes v1.25 将添加 user namespaces 的支持
- 使用Kubernetes重新思考系统架构并减轻技术债务
- CNCF 发布 Kubernetes 策略管理白皮书
- kubernetes安装Redis集群
- 使用 Velero 备份还原 Kubernetes 集群资源
- kubernetes | statefulset控制器详解
- kubernetes安装Prometheus监控集群状态
- 使用kubernetes创建容器一直处于ContainerCreating状态的原因查找与解决