背景:
初始化k8s時,提示 kubelet 啟動失敗,報錯如下
failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd"
報錯原因
Docker 和 k8s 的cgroup不一致導致
解決辦法:
將他們的 cgroup 改為一致即可。統一使用systemd或者cgroupfs。
修改過程:
Docker部分修改:
1、追加 exec-opts 參數
[root@master ~]# vi /etc/docker/daemon.json { "data-root": "/home/docker", "exec-opts": ["native.cgroupdriver=systemd"] }
2、重啟docker服務
systemctl restart docker
3、重新查看模式
docker info | grep -i "Cgroup Driver"
k8s部分修改
[root@master ~]# cat /etc/sysconfig/kubelet KUBELET_EXTRA_ARGS="--cgroup-driver=systemd" KUBE_PROXY_MODE="ipvs" [root@master ~]#