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

我们创建一个名为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 pod状态出现ImagePullBackOff的原因相关推荐

  1. Kubernetes pod 状态出现 ImagePullBackOff 的原因

    通过一个试验作为例子来学习一下. 我们创建一个名为fail 的 deployment,让它故意指向一个实际并不存在的 Docker 镜像: $ kubectl run fail --image=jer ...

  2. Kubernetes pod状态出现CrashLoopBackOff 的原因

    做个实验: $ kubectl run crasher --image=rosskukulinski/crashing-app 查看这个pod的状态: $ kubectl get pods NAME ...

  3. Kubernetes Pod 所需要掌握的一切

    文章目录 pod 简介 kubectl apply 创建 pod 创建一个 nginx pod 创建一个 执行命令的 pod kubectl create 创建 pod kubectl run 创建 ...

  4. k8s技术预研7--深入掌握Kubernetes Pod

    目录 1.Yaml格式的Pod定义文件完整模板详解 2.Pod的基本用法     2.1 由1个容器组成的Pod示例     2.2 由两个为紧耦合关系的容器打包组成的Pod示例 3.静态Pod    ...

  5. 容器编排技术 -- Kubernetes Pod 生命周期

    容器编排技术 -- Kubernetes Pod 生命周期 1 Pod phase 2 Pod 状态 3 容器探针 3.1 该什么时候使用存活(liveness)和就绪(readiness)探针? 4 ...

  6. 浅析Kubernetes Pod重启策略和健康检查

    使用Kubernetes的主要好处之一是它具有管理和维护集群中容器的能力,几乎可以提供服务零停机时间的保障.在创建一个Pod资源后,Kubernetes会为它选择worker节点,然后将其调度到节点上 ...

  7. k8s的Pod状态和生命周期管理

    Pod状态和生命周期管理 一.什么是Pod? 二.Pod中如何管理多个容器? 三.使用Pod 四.Pod的持久性和终止 五.Pause容器 六.init容器 七.Pod的生命周期 (1)Pod pha ...

  8. kubernetes pod一直是ContainerCreating,READY是0/1

    目录 背景 解决方案 背景 新创建的nginx-deployment,情况如下所示. [root@localhost software]# kubectl get pods NAME READY ST ...

  9. kubernetes Pod Lifecycle生命周期与livenessProbe、 readinessProbe探测方法

    kuberenetes pod Liveness, Readiness and Startup Probes tags: Pod,探针,健康检测 文章目录 kuberenetes pod Livene ...

最新文章

  1. PHP框架编写和应用知识点,写PHP框架需要具备那些知识?
  2. Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!
  3. STM32的SPI时钟
  4. SAP财务报表不平之分析
  5. jQuery教程2---隐藏p标签内容-按钮
  6. maven3安装和使用笔记
  7. java中的关键字有哪些_Java关键字有哪些?
  8. // D:\SaveLog\_SaveLog.dpr立即备份晓亮的电脑操作记录热键(快捷键) F11由于原来的 AutoIt 杀毒软件总是误报没办法只好麻烦一点用 Delphi XE4 做了...
  9. Android 应用开发(第四章)---手机海外市场移动应用
  10. java long类型判断_Java中的long类型和Long类型比较大小
  11. html盒子模型子元素怎么水平占满父元素_立下flag)每日10道前端面试题18 关于【盒模型】十问...
  12. sam卡和sim卡区别_SAM卡槽是不是和SIM卡槽是一个东西,有高人知道么?
  13. nodejs 游戏框架_Pomelo:网易开源基于 Node.js 的游戏服务端框架
  14. 11-TensorFlow 基于ResNet的轴承故障诊断
  15. 照片删除格式化恢复后损坏的碎片重组修复数据恢复方法
  16. php 微信 语音,微信语音的上传与下载功能实现详解
  17. 使用Scrapy爬取掘金热门文章的分析和实现
  18. 计算机视觉入门(一)
  19. android google 登录登出接入
  20. STM32单片机的CRL和CRH寄存器

热门文章

  1. Activity四种加载模式
  2. iPhone模拟器中程序的删除
  3. 实验:PIO外部中断
  4. CSS基础(part7)--字体样式属性
  5. 小白的算法初识课堂(part8)--贪婪算法
  6. 多重共线性诊断与R语言实践
  7. 有的时候不评价别人其实挺难的
  8. SAP 电商云 Spartacus UI 点了 Shipping Method 之后的执行逻辑
  9. 在 SAP CRM Fiori 应用上给 Opportunity 订单添加 note 的后台执行明细
  10. 我的工作日常:一个CSS问题引起的小插曲