昨晚装好的k8s的master节点, 今天登录上去想看下, 结果给我一个惊喜。
kubectl get nodes
查看到的却是链接不上集群的报错。
查看状态显示集群的状态是8秒前自动重启过, 现在还是处于自动重启状态。
查看集群日志
sudo journalctl -xefu kubelet
这个就是查看集群日志的命令, 打印出来的日志超级多, 并且还会实时追加打印日志, 我们直接到末尾查看下日志信息。
可以看到k8s一直在试图重启,但是都是失败, 失败原因是kubectl使用的cgroupfs 设置, 而docker使用的是systemd 设置, 两边不一致的导致。 于是我赶到很奇怪,之前搜索了下, 发现k8s已经换成cgroup 了。 保持了和docker的一致, 原因好像是systemed 不稳定啥的。
切换docker的设置为cgroup
由于docker的默认设置就是cgroup , 所以我只要把docker的配置文件中
"exec-opts": ["native.cgroupdriver=systemd"],
这行内容删除就可以了。
docker 配置文件在 :
sudo vim /etc/docker/daemon.json
重启docker和kubectl服务
systemctl restart docker
systemctl restart kubelet
再次查看状态, 发现已经启动成功了