1. 概述
ImagePullBackOff错误比较简单,镜像下载失败,要么网络设置有问题,要么没有设置镜像源,另外一个比较隐蔽的问题是,当你在集群环境下,假设有3个节点,那么这三个节点都要设置镜像源,因为 kubectl run命令默认可以在任一个节点上安装,而不是命令在哪个节点上执行!
另外如果是公司内网,无法连接镜像源,只能自己上传镜像时,切记,集群环境下也会存在问题,因为镜像需要拷贝到另外2个节点上,或指定节点安装。
指定节点安装参见【k8s in Action 笔记】 第三章 YAML描述文件创建pod(socat) 的 "3.5 使用标签和选择器来约束pod调度"章节
2. 问题复现
问题出现的现象是三节点集群环境下,第一个节点创建成功,后2个失败。
kubectl create -f nginx-deployment.yaml 执行之后,kubectl get pods 一致出现 ImagePullBackOff,一直无法执行成功,如下图,最下面的3个nginx-deployment-xxx:

红色框划大了,仅看最后三条
调查错误原因,在 master 服务器上面分别执行命令: kubectl describe pod xxx,查看三个nginx实例的报错信息:

本文介绍了在Kubernetes集群环境下遇到ImagePullBackOff错误的原因和解决方法。问题在于部分节点未配置正确的镜像源。解决方案包括确保所有节点配置国内镜像源,并重启Docker服务。此外,还提供了指定节点安装镜像的参考,以避免类似问题。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



