How to Solve kubelet starts error after k8s Cluster is Restarted
After the k8s cluster restarts, kubelet starts to solve the error
1 k8s version 1.23.0, docker CE version 20.10.14
2. An error is reported for the problem, and an error is reported for starting kubelet. The contents are as follows:
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 problem analysis: according to the error report, the reason should be that kubelet’s cgroups are inconsistent with docker
4. Solve the problem and modify the docker configuration
cat > /etc/docker/daemon.json <<EOF
{"exec-opts": ["native.cgroupdriver=systemd"]}
EOF
5. Restart docker to solve the problem
[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