k8s集群重启后kubelet启动报错解决
1 k8s版本 1.23.0,docker-ce版本20.10.14
2 问题报错,启动kubelet报错,内容如下
May 16 09:47:13 k8s-master kubelet: E0516 09:47:13.512956 7403 server.go:302] "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is different from docker cgroup driver: \"cgroupfs\""
May 16 09:47:13 k8s-master systemd: kubelet.service: main process exited, code=exited, status=1/FAILURE
May 16 09:47:13 k8s-master systemd: Unit kubelet.service entered failed state.
May 16 09:47:13 k8s-master systemd: kubelet.service failed
3 问题分析,根据报错,原因应该是kubelet的cgroupfs与docker不一致导致的
4 问题解决,修改docker配置
cat > /etc/docker/daemon.json <<EOF
{"exec-opts": ["native.cgroupdriver=systemd"]}
EOF
5 再重启docker,问题解决
[root@k8s-master ~]# systemctl restart docker
[root@k8s-master ~]# systemctl restart kubelet
[root@k8s-master ~]#
[root@k8s-master ~]# systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: active (running) since Mon 2022-05-16 09:48:06 CST; 3s ago
Docs: https://kubernetes.io/docs/
Main PID: 8226 (kubelet)
Tasks: 23
Memory: 56.9M
CGroup: /system.slice/kubelet.service
├─8226 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config...
└─8745 /opt/cni/bin/calico