安装Pod网络插件时pod状态变为ImagePullBackOff
本文摘自于我的免费专栏《Kubernetes从0到1(持续更新)》请多关注
文章目录
- 先看案发现场
- 解决过程如下
- 原因剖析
- 解决方法
先看案发现场
原因是在下载Pod网络插件的时候pod始终为ImagePullBackOff
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f kube-flannel.yml
解决过程如下
上面显示
ImagePullBackOff
,说明有问题,可以使用kubectl describe pod coredns-545d6fc579-rddhk -n kube-system命令进行查看(注意换成自己的pod名)
原因剖析
可以看到coredns的pod被调度到k8s-node01上了,而这个节点没有对应的registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0镜像,因为只记得配置了master,node上忘记配置了,导致被调度到node的pod无法正确下载镜像。
解决方法
# 下载依赖(因为实测直接运行下面会提示缺少google_containers……这个镜像,可能是没有1.8.0版本,所以直接手动pull一个,改一下标签名)
docker pull coredns/coredns:1.8.0# 将coredns/coredns:1.8.0 镜像标记为google_containers……docker tag coredns/coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0# 这里网络较慢,请耐心等待……
ok,做完这一切,完全恢复正确了。
这里可以看见master状态也是
Ready
了