You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重启工作节点Docker服务后主节点Kubelet提示config.yaml文件不存在

解决Kubelet配置文件/var/lib/kubelet/config.yaml缺失的问题

我之前运维K8s集群时也碰到过一模一样的状况——重启工作节点Docker后,主节点查kubelet日志就报这个文件找不到的错误。大概率是重启操作影响了kubelet配置文件的完整性,或是节点的kubelet配置没正确初始化。下面是几个我亲测有效的解决步骤:

  • 第一步:确认问题节点的文件状态
    先登录到出问题的工作节点(不是主节点),执行命令检查文件是否真的不存在:

    ls -l /var/lib/kubelet/config.yaml
    

    如果输出显示"No such file or directory",就继续往下操作。

  • 第二步:用kubeadm重新生成配置(适用于kubeadm部署的集群)
    这是最稳妥的修复方式,步骤如下:

    1. 在工作节点执行重置命令(会清空节点的K8s相关配置,执行前记得先驱逐节点上的业务Pod,避免影响服务):
      kubeadm reset
      
    2. 回到主节点,生成新的节点加入命令:
      kubeadm token create --print-join-command
      
    3. 把主节点输出的join命令复制到工作节点执行,完成后kubelet会自动生成缺失的config.yaml文件。
  • 第三步:检查kubelet的systemd配置(排查路径错误)
    有时候不是文件真的缺失,而是kubelet启动参数里指定了错误的配置路径。可以检查kubelet的systemd配置文件:

    cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    

    查看里面的--config=/var/lib/kubelet/config.yaml参数是否正确,如果路径写错了,修改后执行:

    systemctl daemon-reload
    systemctl restart kubelet
    
  • 第四步:验证修复结果
    完成上述操作后,回到主节点重新查看kubelet日志:

    journalctl -u kubelet -f
    

    如果没有再报文件缺失的错误,再检查节点状态:

    kubectl get nodes
    

    确认节点状态变为Ready就说明问题解决了。

内容的提问来源于stack exchange,提问作者ccd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 17:59:10