「Kubernetes」- “cgroupfs” is different from docker cgroup driver: “systemd”

  CREATED BY JENKINSBOT

问题描述

原有 Docker 1.13 版本,升级到 Docker 19.03 版本。在重新启动 kubelet 服务后,产生如下错误:

misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"

OS:CentOS Linux release 7.5.1804 (Core)
Kubernetes:v1.14.0
Docker:Docker version 19.03.2, build 6a30dfc

问题原因

我们没有深入研究,但是根据错误提示,可以得到以下信息:

1)kubelet 使用的 cgroup driver 是 systemd 的,

2)而 docker 使用的 cgroup driver 是 cgroupfs 的

两者不同,导致上述错误。解决办法应该是使二者的 cgroup driver 相同。

解决办法

修改 /etc/sysconfig/kubelet 文件,为 KUBELET_EXTRA_ARGS 添加 --cgroup-driver=cgroupfs 选项。

原先为--cgroup-driver=systemd选项,位于/var/lib/kubelet/kubeadm-flags.env中(应该是初始化时生成的)。

参考文献

1.6.0 kubelet fails with error “misconfiguration: kubelet cgroup driver: “cgroupfs” is different from docker cgroup driver: “systemd” #43805