使用二进制的方式搭建k8s集群
现象kubelet状态一直是 activing
kubectl get node也没有任何资源
通过 journalctl -xefu kubelet 查看kubele日志发现:
failed to run Kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"
所以可以判定原因是 cgroup driver导致的
解决办法找到kubelet的配置文件,将 cgroupDriver: systemd改为 cgroupDriver: cgroupfs
停止kubelet的服务
删除kubelet相关证书 rm -rf kubelet-client-*
然后启动kubelet systemctl daemon-reload && systemctl enable kubelet && systemctl start kubelet
再次查看kubelet的状态,发现已经可以成功启动了 systemctl status kubelet
究其原因,是因为自己之前部署二进制k8s集群时用的容器运行时是containerd,所以将cgroup driver改为了systemd;但是此次安装用的是docker,没有将这个参数修改回来



