Pending

应用长时间处于 Pending 状态时,也可以按照这个办法查看镜像的下载进度。

安装 Kubernetes 过程中,或者向 Kubernetes 部署应用的过程中,有可能会碰到 ImagePullBackoff 的问题。例如执行命令:

kubectl get pods -n kube-system

结果如下:

NAME                                          READY   STATUS              RESTARTS   AGE
coredns-94d74667-6dj45 1/1 ImagePullBackOff 0 12m
coredns-94d74667-xv6wd 1/1 Pending 0 12m
etcd-master 1/1 Running 0 13m
kube-apiserver-master 1/1 Running 0 13m
kube-controller-manager-master 1/1 Running 0 12m
kube-flannel-ds-amd64-4wjcl 1/1 Running 0 12m
kube-flannel-ds-amd64-9k28h 1/1 Running 0 12m
kube-flannel-ds-amd64-pwkv5 1/1 Running 0 12m
kube-proxy-qd6w7 1/1 Running 0 12m
kube-scheduler-master 1/1 Running 0 12m

碰到这个问题时,可按如下步骤解决:

1.确定问题 Pod 所在节点,以 kube-system 名称空间下的 Pod coredns-94d74667-6dj45 为例

kubectl get pods coredns-94d74667-6dj45 -n kube-system -o wide

输出结果如下所示:

NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE     NOMINATED NODE   READINESS GATES
coredns-94d74667-6dj45 1/1 Running 2 39d 10.244.0.40 master <none> <none>

从这个就结果中,我们得知,该 Pod 被调度到了 master 节点

2.确定 Pod 所使用的容器镜像

kubectl get pods coredns-94d74667-6dj45 -n kube-system -o yaml | grep image:

输出结果如下所示:

    image: registry.aliyuncs.com/google_containers/coredns:1.3.1
image: registry.aliyuncs.com/google_containers/coredns:1.3.1

从这个结果中,我们得知,该 Pod 使用到了容器镜像 registry.aliyuncs.com/google_containers/coredns:1.3.1

3.在 Pod 所在节点执行 docker pull 指令

docker pull registry.aliyuncs.com/google_containers/coredns:1.3.1

如果镜像标签没有问题,docker 指令将显示该镜像的下载过程,耐心等待即可。如果不能抓取 docker 镜像,请参考 Docker 命令的输出提示,做对应的处理。

不能获取到镜像,ImagePullBackoff或者Pending的更多相关文章

  1. UI Automator Viewer获取手机镜像时报错

    使用UI Automator Viewer获取手机镜像时报错,具体信息如下: Error while obtaining UI hierarchy XML file: com.android.ddml ...

  2. azure powershell 获取可用镜像列表

    通过Azure Powershell 指定location和Pbulishername 获取所有可用镜像的 publisherName,Offer,Skus,Version,location信息列表 ...

  3. Azure Powershell 获取可用镜像 PublisherName,Offer,Skus,Version

    #登录 $username="{登录名}" #定义一个用户账号的变量,可以输入需要登录的订阅账号名称 $password=ConvertTo-SecureString -Strin ...

  4. 获取docker镜像的tag列表

    已nginx为例 命令如下 wget -q https://registry.hub.docker.com/v1/repositories/nginx/tags -O - | sed -e 's/[] ...

  5. Docker镜像的获取与删除

    Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Dicker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库 ...

  6. 微服务架构 - 巧妙获取被墙的Docker镜像

    在国内由于种种原因,有些Docker镜像直接是获取不到的,特别是k8s中的一些镜像.本人在部署k8s中的helm组件时需要获取tiller镜像,如果直接用如下命令: docker pull gcr.i ...

  7. docker 查询或获取私有仓库(registry)中的镜像

    docker 查询或获取私有仓库(registry)中的镜像,使用 docker search 192.168.1.8:5000 命令经测试不好使. 解决: 1.获取仓库类的镜像: [root@sha ...

  8. docker 获取镜像

    之前提到过,Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像. 从 Docker 镜像仓库获取镜像的命令是 docker pull.其命令格式为: docker p ...

  9. python 镜像仓库获取最新版本号

    #/bin/python# -*- coding: utf-8 -*-import requestsfrom urllib import parsefrom requests.auth import ...

随机推荐

  1. APISpace 全球快递物流查询API接口 免费好用

    前言   随着我国电子商务的迅猛发展,物流行业也开始突飞猛进,人们的日常生活越来越离不开快递服务,查快递.寄快递的需求越来越大,随之而来,常用快递接口的需求也越来越大. 全国快递查询接口,支持各大快递 ...

  2. Solution -「Hdu3037」Saving Beans

    Prob. 给定 \(m\) 个相同球,\(n\) 个不同的盒子. 求在这 \(n\) 个盒子中放不超过 \(m\) 个球的方案数,并对 \(p\) 取模. 其中 \(1 \leq n, m \leq ...

  3. 2022-7-18 第五组 pan 面向对象

    面向过程 向过程就是:面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求. 面向对象 什么是面向对象: 面向对象思想就是不断的创建对象,使用对 ...

  4. 搞懂前端二进制系列(一):🍇 认识Blob对象

    参考资料: https://juejin.cn/post/6844904183661854727 [你不知道的Blob] https://juejin.cn/post/6844904144453517 ...

  5. python在执行命令时添加环境变量或指定执行路径

    cwd: 命令的执行路径,相当于os.chdir('/home')提前切换到对应路径 env: 环境变量,某些执行路径需要添加必须的环境变量,例如fastboot依赖与adb路径下的环境变量 impo ...

  6. PHP生成器yield使用示例

    <?php function getLines($file) { $f = fopen($file, 'r'); try { while ($line = fgets($f)) { yield ...

  7. Python3的原生协程(Async/Await)和Tornado异步非阻塞

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_113 我们知道在程序在执行 IO 密集型任务的时候,程序会因为等待 IO 而阻塞,而协程作为一种用户态的轻量级线程,可以帮我们解决 ...

  8. 使用python3.7+Vue.js2.0+Django2.0.4异步前端通过api上传文件到七牛云云端存储

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_130 之前一篇文章是通过普通js+tornado来上传七牛云:使用Tornado配合七牛云存储api来异步切分上传文件,本次使用v ...

  9. 深入Synchronized各种使用方法

    深入学习Synchronized各种使用方法 在Java当中synchronized通常是用来标记一个方法或者代码块.在Java当中被synchronized标记的代码或者方法在同一个时刻只能够有一个 ...

  10. 从零开始Blazor Server(11)--编辑用户

    用户编辑和角色编辑几乎一模一样,这里先直接贴代码. @page "/user" @using BlazorLearn.Entity @using Furion.DataEncryp ...