参考:
https://blog.csdn.net/qq_43279371/article/details/107622819
https://www.jianshu.com/p/27a8187af0e9
《Kubernetes权威指南》第2章
问题:
- 参考第一个链接的话,不需要给docker设置https代理
- cgroupdriver 问题导致kublet无法运行
因为Kubernetes设置cgroupdriver为systemd,而docker服务的cgroupdriver默认为cgroupfs,建议修改为systemd:
[root@master ~]# cat /etc/docker/daemon.json { "registry-mirrors": ["https://xxs4y74g.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"] }
- 安装CNI网络插件(在master和node上都需要执行)
kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"
- 如果node节点上缺少calico相关文件,导致一直处于NotReady,可以从master上拷贝
/etc/cni/net.d/10-calico.conflist /etc/cni/net.d/calico-kubeconfig /opt/cni/bin/calico /opt/cni/bin/calico-ipam
- 获取pods的状态,确保status都是running,获取node状态,确保status都是Ready,否则的话,就需要排查一下
可以使用systemctl status kubelet -l
来查看服务的状态,消除错误信息。