kubelet启动失败的解决方案

 更新时间:2025年10月10日 15:45:26   作者:my_qq_990814268  
这篇文章主要介绍了kubelet启动失败的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

原因之一:

是kubelet cgroup驱动程序“ cgroupfs”与docker cgroup驱动程序不同

公司的k8s,新增了一个节点,但kubelet启动一直报错,无法启动,网上找了半天,发现是kubelet cgroup驱动程序“ cgroupfs”与docker cgroup驱动程序不同,所导致,原因不详。

cgroups 的全称是 Linux Control Groups,主要作用是限制、记录和隔离进程组(process groups)使用的物理资源(cpu、memory、IO 等)。

systemd是系统自带的cgroup管理器, 系统初始化就存在的, 和cgroups联系紧密,为每一个进程分配cgroups, 用它管理就行了. 如果设置成cgroupfs就存在2个cgroup控制管理器, 实验证明在资源有压力的情况下,会存在不稳定的情况。

一、查看docker cgroup驱动

[root@shrs-35 ~]# docker info|grep Driver
 Storage Driver: overlay2
 Logging Driver: json-file
 Cgroup Driver: systemd

二、查看kubelet cgroup驱动

[root@shrs-35 ~]# systemctl show --property=Environment kubelet | cat
Environment=KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml

发现确实是俩个cgroup驱动程序不一致导致的

三、解决办法

3.1 修改docker的Cgroup Driver

修改/etc/docker/daemon.json文件

{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

重启docker

systemctl daemon-reload
systemctl restart docker

3.2 修改kubelet的Cgroup Driver

修改/etc/systemd/system/kubelet.service.d/10-kubeadm.conf文件,增加–cgroup-driver=systemd (官方推荐用systemd)

Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cgroup-driver=systemd"

重启kubelet

systemctl daemon-reload
systemctl restart kubelet

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Kubernetes应用服务质量管理详解

    Kubernetes应用服务质量管理详解

    这篇文章主要为大家介绍了Kubernetes应用服务质量管理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • ragflow k8s部署过程图文详解

    ragflow k8s部署过程图文详解

    这篇文章主要介绍了ragflow k8s部署详细过程,本文将使用ragflow-0.18.0,来进行演示详细部署过程,需要的朋友可以参考下
    2025-04-04
  • 删除k8s环境过期镜像&docker磁盘清理方式

    删除k8s环境过期镜像&docker磁盘清理方式

    文章介绍了如何清理Kubernetes环境中的过期镜像和Docker磁盘空间,包括使用`docker system prune`命令和编写脚本进行镜像删除
    2025-12-12
  • 在CentOS上如何安装Singularity高性能容器

    在CentOS上如何安装Singularity高性能容器

    Singularity是劳伦斯伯克利国家实验室专门为大规模、跨节点HPC和DL工作负载而开发的容器化技术,具备轻量级、快速部署、方便迁移等优势,且支持从Docker镜像格式转换为Singularity镜像格式,本文给大家介绍在CentOS上如何安装Singularity高性能容器,感兴趣的朋友一起看看吧
    2024-05-05
  • Rainbond上部署API Gateway Kong及环境配置教程

    Rainbond上部署API Gateway Kong及环境配置教程

    这篇文章主要为大家介绍了Rainbond上部署API Gateway Kong及环境配置教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • k8s整合istio配置gateway入口、配置集群内部服务调用管理(最新推荐)

    k8s整合istio配置gateway入口、配置集群内部服务调用管理(最新推荐)

    这篇文章主要介绍了k8s整合istio配置gateway入口、配置集群内部服务调用管理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Rainbond对微服务进行请求速率限制详解

    Rainbond对微服务进行请求速率限制详解

    这篇文章主要为大家介绍了Rainbond对微服务进行请求速率限制,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • kubernetes认证鉴权内容浅析

    kubernetes认证鉴权内容浅析

    这篇文章主要为大家介绍了kubernetes认证鉴权内容浅析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • kubelet启动失败的解决方案

    kubelet启动失败的解决方案

    这篇文章主要介绍了kubelet启动失败的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • K8S设置node最大pod数量实现方式

    K8S设置node最大pod数量实现方式

    文章介绍了如何在Kubernetes节点上修改最大Pod数量的步骤,包括修改配置文件、重启kubelet和检查设置是否生效
    2025-12-12

最新评论