2025年kubelet起不来(kubelet.go node not found)

kubelet起不来(kubelet.go node not found)空降助手 Kubernetes 集群部署踩坑记录 kubelet cgroup driver systemd is different from docker cgroup driver 场景复现 问题排查 解决方案 1 修改 docker 的 Cgroup Driver 步骤 2 修改 kubelet 的 Cgroup Driver 步骤 k8s node1 NotReady 场景复现 问题排查 解决方案 token 过期 加入集群失败 场景复现 问题排查 解决方案 Nameserver





空降助手

  • Kubernetes集群部署踩坑记录
  • kubelet cgroup driver: "systemd" is different from docker cgroup driver:
  • 场景复现
  • 问题排查
  • 解决方案
  • 1. 修改docker的Cgroup Driver步骤
  • 2. 修改kubelet的Cgroup Driver步骤
  • k8s-node1 NotReady
  • 场景复现
  • 问题排查
  • 解决方案
  • token过期,加入集群失败
  • 场景复现
  • 问题排查
  • 解决方案
  • Nameserver limits exceeded
  • 场景复现
  • 问题排查
  • 解决方案


部署的时候遇到了问题,顺便记录一下

场景复现

init主节点的时候失败,报错信息:

kubectl容器找不到 kubelet.go node not found_kubectl容器找不到

问题排查

根据提示查kubelet日志,报错信息是:

很明显可以看出,kubelet启动失败,原因是kubelet cgroup驱动程序“ cgroupfs”与docker cgroup驱动程序不一致。
这是一个很重要的坑,docker的cgroup必须与kubelet一致!!!

解决方案

既然是保持Cgroup Driver配置一致,那就是有两种改法,一种是让docker与kubelet一致,另一种是让kubelet与docker一致。
首先回滚init操作,《Kubernetes集群部署实录》这篇里有讲,不再赘述,然后就是修改配置,以下两种任选其一(或者说看选哪种能生效吧)

1. 修改docker的Cgroup Driver步骤
  1. 编辑文件,加入exec-opts配置,改成这样:
  1. 重启docker
2. 修改kubelet的Cgroup Driver步骤
  1. 编辑文件,增加配置,改成这样:
  1. 重启kubelet

kubelet与docker的cgroup-driver配置一致后,再重新初始化master节点,即可解决该问题。

场景复现

node1节点加入集群后,在master上一直显示NotReady:

kubectl容器找不到 kubelet.go node not found_kubernetes_02

问题排查

查看kubelet日志,发现kubelet停了

kubectl容器找不到 kubelet.go node not found_docker_03

解决方案

需要重置一下node节点的kubelet,先删除 node节点上的文件夹,然后重启kubelet

重新执行加入集群命令,即可解决

场景复现

token过期时,会报错token无响应:

kubectl容器找不到 kubelet.go node not found_容器_04

问题排查

k8s的token默认有效期是24小时,过期需要手动重新生成

解决方案

在master上重新生成token

未记录的token也可以在master上重新找回,参考命令:

场景复现

node加入集群时遇到一个报错,显示:“Nameserver limits exceeded” err=“Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 223.5.5.5 223.6.6.6 202.99.96.68”

kubectl容器找不到 kubelet.go node not found_问题排查_05

问题排查

意思应该是 nameserver 超出限制,超出的被忽略,去对应的node节点查看:

kubectl容器找不到 kubelet.go node not found_容器_06


果然超过了3条记录

解决方案

随便删掉两条nameserver,重启docker:

再去master上查看节点,已经正常


编程小号
上一篇 2025-03-19 22:30
下一篇 2025-02-10 11:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/14050.html