为什么我不能获取到镜像,ImagePullBackoff

发布于:2025-05-14 ⋅ 阅读:(20) ⋅ 点赞:(0)


一 、现象

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 节点。

  1. 确定 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

  1. 在 Pod 所在节点执行 docker pull 指令:
docker pull registry.aliyuncs.com/google_containers/coredns:1.3.1

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


网站公告

今日签到

点亮在社区的每一天
去签到