首页
/ Kubekey部署Kubernetes集群时kubelet报错"node not found"问题分析

Kubekey部署Kubernetes集群时kubelet报错"node not found"问题分析

2025-06-30 13:28:34作者:何举烈Damon

问题现象

在使用Kubekey v3.1.1部署Kubernetes v1.25.3集群时,安装过程卡在初始化阶段,kubelet服务报错"Error getting node" err="node "master" not found"。从日志中可以看到,kubelet无法正常启动,且无法与API Server建立连接。

根本原因分析

这个问题通常由以下几个因素导致:

  1. 网络连接问题:kubelet无法连接到API Server(6443端口),导致无法注册节点。日志中显示"dial tcp 10.30.10.13:6443: connect: connection refused"。

  2. 镜像拉取失败:kubelet无法从registry.k8s.io拉取pause镜像(registry.k8s.io/pause:3.8),导致Pod沙箱创建失败。

  3. DNS解析问题:API Server的地址"lb.kubesphere.local"可能无法正确解析。

  4. 版本兼容性问题:某些Kubernetes版本与kubeadm可能存在兼容性问题。

解决方案

1. 检查并修复网络连接

首先确保master节点的6443端口是开放的,并且kubelet可以访问该端口。可以通过以下命令测试:

telnet 10.30.10.13 6443

如果连接失败,检查防火墙设置:

systemctl status firewalld
iptables -L -n | grep 6443

2. 配置正确的hosts解析

确保所有节点的/etc/hosts文件中包含master节点的正确解析:

10.30.10.13 master lb.kubesphere.local

3. 解决镜像拉取问题

对于无法访问registry.k8s.io的情况,可以:

  1. 配置镜像仓库代理
  2. 提前手动拉取所需镜像
  3. 使用国内镜像源
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/pause:3.8

4. 清理并重新安装

如果问题持续存在,建议清理集群后重新安装:

./kk delete cluster
./kk create cluster --with-kubernetes v1.22.12 --with-kubesphere v3.3.2 -y

5. 版本选择建议

使用Kubekey前,可以先查看支持的Kubernetes版本:

./kk version --show-supported-k8s

选择经过充分测试的稳定版本组合,如Kubernetes v1.22.12与KubeSphere v3.3.2。

预防措施

  1. 在安装前确保网络环境正常,能够访问所需镜像仓库
  2. 检查并配置好所有节点的hosts文件
  3. 选择经过验证的Kubernetes和KubeSphere版本组合
  4. 对于离线环境,提前准备所有依赖镜像
  5. 确保节点满足最低资源要求

通过以上方法,可以有效地解决kubelet无法注册节点的问题,顺利完成Kubernetes集群的部署。

登录后查看全文
热门项目推荐
相关项目推荐