Kubekey部署Kubernetes集群时kubelet报错"node not found"问题分析
2025-06-30 19:39:06作者:何举烈Damon
问题现象
在使用Kubekey v3.1.1部署Kubernetes v1.25.3集群时,安装过程卡在初始化阶段,kubelet服务报错"Error getting node" err="node "master" not found"。从日志中可以看到,kubelet无法正常启动,且无法与API Server建立连接。
根本原因分析
这个问题通常由以下几个因素导致:
-
网络连接问题:kubelet无法连接到API Server(6443端口),导致无法注册节点。日志中显示"dial tcp 10.30.10.13:6443: connect: connection refused"。
-
镜像拉取失败:kubelet无法从registry.k8s.io拉取pause镜像(registry.k8s.io/pause:3.8),导致Pod沙箱创建失败。
-
DNS解析问题:API Server的地址"lb.kubesphere.local"可能无法正确解析。
-
版本兼容性问题:某些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的情况,可以:
- 配置镜像仓库代理
- 提前手动拉取所需镜像
- 使用国内镜像源
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。
预防措施
- 在安装前确保网络环境正常,能够访问所需镜像仓库
- 检查并配置好所有节点的hosts文件
- 选择经过验证的Kubernetes和KubeSphere版本组合
- 对于离线环境,提前准备所有依赖镜像
- 确保节点满足最低资源要求
通过以上方法,可以有效地解决kubelet无法注册节点的问题,顺利完成Kubernetes集群的部署。
登录后查看全文
热门项目推荐
相关项目推荐
暂无数据
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
539
3.76 K
Ascend Extension for PyTorch
Python
349
414
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
889
609
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
338
185
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
986
252
openGauss kernel ~ openGauss is an open source relational database management system
C++
169
233
暂无简介
Dart
778
193
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
114
140
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.35 K
758