Jul 12 09:58:59 master1 kubelet: E0712 09:58:59.435729 19537 server.go:302] "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"cgroupfs\" is different from docker cgroup driver: \"systemd\"" Jul 12 09:58:59 master1 systemd: kubelet.service: main process exited, code=exited, status=1/FAILURE Jul 12 09:58:59 master1 systemd: Unit kubelet.service entered failed state. Jul 12 09:58:59 master1 systemd: kubelet.service failed. kubelet启动报错
时间: 2024-04-11 10:33:47 浏览: 620
jul-to-slf4j-config:确保将 java.util.logging 重定向到 SLF4J 的配置
根据日志信息,kubelet启动失败的原因是kubelet的cgroup driver与Docker的cgroup driver不一致。kubelet和Docker使用cgroup来管理容器的资源限制和隔离。在这种情况下,kubelet的cgroup driver被配置为"cgroupfs",而Docker的cgroup driver被配置为"systemd"。
为了解决这个问题,你可以尝试以下方法:
1. 修改kubelet的配置文件:编辑kubelet的配置文件/var/lib/kubelet/config.yaml,并将cgroupDriver参数设置为"systemd"。确保config.yaml中具有以下配置:
```
cgroupDriver: systemd
```
然后重新启动kubelet服务。
2. 修改Docker的配置文件:如果你希望保持kubelet的cgroup driver为"cgroupfs",则可以尝试将Docker的cgroup driver修改为"cgroupfs"以与kubelet保持一致。编辑Docker的配置文件/etc/docker/daemon.json,并添加以下配置:
```
{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}
```
然后重新启动Docker服务。
无论选择哪种方法,确保kubelet和Docker的cgroup driver一致后,重新启动kubelet服务以使更改生效。
阅读全文