K8S初始化master节点不成功kubelet.service failed(cgroup driver配置问题)

发布于:2025-07-04 ⋅ 阅读:(15) ⋅ 点赞:(0)

一、背景

安装k8s集群,初始化master节点一直不成功。

二、排查

查看日志
ps -ef | grep kube-apiserver

[root@zjy01 home]# ps -ef | grep kube-apiserver
root      85663   4637  0 12:41 pts/1    00:00:00 grep --color=auto kube-apiserver
[root@zjy01 home]# 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: activating (auto-restart) (Result: exit-code) since Mon 2025-06-30 12:42:02 CST; 5s ago
     Docs: https://kubernetes.io/docs/
  Process: 85670 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE)
 Main PID: 85670 (code=exited, status=1/FAILURE)

Jun 30 12:42:02 zjy01 systemd[1]: Unit kubelet.service entered failed state.
Jun 30 12:42:02 zjy01 systemd[1]: kubelet.service failed.

journalctl -u kubelet -f

Jun 30 12:43:05 zjy01 kubelet[86386]: E0630 12:43:05.825806   86386 server.go:294] "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is different from docker cgroup driver: \"cgroupfs\""
Jun 30 12:43:05 zjy01 systemd[1]: Unit kubelet.service entered failed state.
Jun 30 12:43:05 zjy01 systemd[1]: kubelet.service failed.

发现是说kubelet的cgroup driver是systemd和docker的cgroupfs不一致。

三、解决

3.1 修改docker的cgroup driver为systemd

编辑 /etc/docker/daemon.json文件,添加"exec-opts": ["native.cgroupdriver=systemd"],如下:

{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "data-root": "/home/docker"
}

修改后,重启docker

systemctl daemon-reload
systemctl restart docker

查看修改结果:OK

[root@wangdy home]# docker info | grep -i cgroup
 Cgroup Driver: systemd
 Cgroup Version: 1

查看kubelet的cgroup driver,发现两者已经保持一致

[root@wangdy home]# cat /var/lib/kubelet/config.yaml | grep cgroupDriver
cgroupDriver: systemd

3.2 查看结果

1)kubectl已经Active: active (running)

[root@wangdy home]# 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 2025-06-30 12:50:17 CST; 8min ago
     Docs: https://kubernetes.io/docs/
 Main PID: 93176 (kubelet)
    Tasks: 63
   Memory: 69.7M
   CGroup: /system.slice/kubelet.service
           └─93176 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config...

2)pods状态已经正常

[root@zjy01 home]# kubectl get pods -n kube-system
NAME                            READY   STATUS    RESTARTS   AGE
etcd-zjy01                      1/1     Running   0          8m53s
kube-apiserver-zjy01            1/1     Running   0          8m47s
kube-controller-manager-zjy01   1/1     Running   0          8m51s
kube-scheduler-zjy01            1/1     Running   0          8m54s
[root@zjy01 home]# 

END


网站公告

今日签到

点亮在社区的每一天
去签到