1.前提是node节点中安装好,并且能够正常安装calico网络插件
2.本人安装的是k8s版本1.19.0 对应的calico版本为3.20
3.k8s对应的calico版本文献:https://projectcalico.docs.tigera.io/archive/v3.20/getting-started/kubernetes/requirements

二进制包安装好: kubelet kube-proxy

查看我的集群节点还是没有正常工作

# kubectl get nodes

在这里插入图片描述

查看所有的pod 发现也是停止工作的情况

# kubectl get pod -A

在这里插入图片描述

通过命令查看kubelet运行日志,查看报错信息
发现报错:“failed pulling image “k8s.gcr.io/pause:3.2”: Error response from daemon”
无法拉取这个镜像

# journalctl -xeu kubelet

温馨提醒:
通过 vim /var/log/messages 文件来查看全局的日志也是可以的。
在这里插入图片描述

解决办法:
1.先通过国内镜像拉取pause的3.2版本
docker pull registry.aliyuncs.com/google_containers/pause:3.2
2.然后根据下载的镜像,做个 k8s.gcr.io/pause:3.2的镜像标签
docker tag registry.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
3.最后,重启我们的kubelet

 # systemctl restart kubelet

然后再通过命令查询kubelet运行时日志,发现正常了

# journalctl -xeu kubelet

在这里插入图片描述
然后查看各个工作节点。发现其中一个正常了,剩下的就照葫芦画瓢了。
在这里插入图片描述

总结:
这个calico网络插件问题,困扰我整整一天的时间,期间有问过知情人士,但都无果。
最终还是靠自己,沉着冷静分析问题,根据日志具体分析问题。由于是刚入门k8s很多东西还不懂,当然,后面也会遇到更多的问题,但都会一一记录好,作为日后的参考。
每天进步一点点。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐