k8s node notReady之kubelet cgroup driver: "cgroupfs" is different from docker
问题
worker节点运行正常,因为安装其他软件我就重启了一下,结果发现kubectl get nodes显示node1 notReady,这时执行kubectl describe node node1发现node1上的kubelet没有正常运行,
我手动执行systemctl start kubelet.service没有报错,但是当我执行systemctl statuskubelet.service发现服务失败了。
执行journalctl -xeu kubelet
发现具体的错误信息:
关键信息就是:
Mar 19 03:11:12 node1 kubelet[125980]: F0319 03:11:12.805339 125980 server.go:273] failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
解决办法
临时将/etc/docker/daemon.json中的对应参数修改为cgroupfs
[root@node1 ~]# cat /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=cgroupfs"], "registry-mirrors": ["http://hub-mirror.c.163.com"] } [root@node1 ~]#
重启docker与kubelet
systemctl restart docker
systemctl status kubelet.service
现在kubelet正常运行了。
办法二(也是推荐)
将/var/lib/kubelet/kubeadm-flags.env文件中的–cgroup-driver=cgroupfs 修改为
–cgroup-driver=systemd
也就是docker配置项和kubelet的一致都是systemd。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!