不能获取到镜像,ImagePullBackoff或者Pending
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 命令的输出提示,做对应的处理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!