kubelet启动失败-报错解决

本文解决了一个因kubelet和docker驱动程序不一致导致的kubelet无法启动的问题。通过修改配置文件使两者驱动程序保持一致,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kubelet 启动失败

配置完daemon.json,重启docker后kubelet起不来

[root@node1/etc/docker]# vim daemon.json

    {
      "registry-mirrors": ["https://ig2l319y.mirror.aliyuncs.com"],
      "exec-opts": ["native.cgroupdriver=systemd"]
    }
systemctl restart docker

状态如图

在这里插入图片描述
在这里插入图片描述

原因:

kubelet和docker的驱动程序不一致。

查看kubelet驱动程序方法

[root@node1~]# cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--cgroup-driver=cgroup --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.1"
#--cgroup-driver=cgroup 该节点驱动程序为cgroup

查看docker驱动程序方法

[root@node1~]# docker info |grep Cgroup
Cgroup Driver: systemd
#docker驱动程序为 systemd

解决方法:

#将kubelet和docker 的驱动程序改成一致。
vim /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.1"
#将cgroup改成systemd

解释贴图如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### 解析 Kubelet 启动失败 错误 6443 当遇到 Kubelet 启动失败并显示错误代码 6443 的情况时,这通常意味着 Kubelet 尝试连接到 API Server 使用的是默认端口 (通常是 6443),但是遇到了问题。此类问题的原因可能是多方面的。 #### 可能原因分析 1. **API Server 不可用** 如果 API Server 没有正确启动或配置不当,则可能导致此问题。应确认 API Server 是否正在运行以及其监听地址和端口号设置是否正确[^1]。 2. **防火墙阻止访问** 防火墙规则可能会阻止 Kubelet 访问 API Server 所需的端口。检查主机上的防火墙配置以确保允许通过该特定端口进行通信。 3. **证书问题** Kubernetes 组件间的安全通信依赖于 TLS 加密,因此任何涉及 CA 文件路径不正确、过期或其他认证材料损坏的情况都可能引发上述错误。验证所有必要的 SSL/TLS 证书文件是否存在且有效。 4. **网络插件未安装或配置错误** 若集群内缺少合适的 CNI (Container Network Interface)插件,或者已有的 CNI 插件被错误地配置了,也会造成类似的症状。确保已经按照官方文档指导完成了相应操作,并且所选 CNI 版本兼容当前使用的 Kubernetes 发行版。 5. **资源不足** 主机本身可能存在内存溢出等问题影响到了 Kubelet 正常工作。监控系统性能指标来排查是否有硬件层面的因素干扰着服务稳定性。 #### 推荐解决方案 针对以上提到的各种可能性,可以采取如下措施尝试解决问题: - 查看 `/var/log/kubelet.log` 日志文件中的具体报错信息,寻找更详细的线索帮助定位根本原因。 - 对比 `kubeadm init` 初始化命令执行期间输出的日志片段同现有环境状况之间的差异之处;特别是关于 APIServer 地址参数部分的内容。 - 利用 `kubectl get nodes -o wide` 命令查看节点状态详情,注意观察 Ready 字段的状态变化趋势。 - 测试从目标机器外部能否 ping 通本地 IP 和指定端口(如 6443),以此判断是不是简单的连通性障碍所致。 - 更新至最新稳定版本的 kubernetes 并重置整个集群再做初始化处理,有时能够快速摆脱某些难以捉摸的小毛病带来的困扰。 ```bash sudo systemctl restart containerd sudo systemctl status kubelet.service journalctl -u kubelet --no-pager | tail -n 50 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值