Kubectl随机出现服务器连接拒绝错误求助(192.168.1.105:6443)
Kubernetes连接服务器随机拒绝问题排查
问题描述
运行kubectl命令时会随机出现连接拒绝错误,示例命令:
kubectl get nodes
错误信息:
The connection to the server 192.168.1.105:6443 was refused - did you specify the right host or port?
环境信息
- kubelet版本:1.25.3
- 操作系统:Rocky Linux(运行在VMware Player)
- 工作节点:2台同版本、同配置的Rocky Linux节点
已尝试操作
- 执行
swapoff -a关闭swap - 重启docker、kubelet服务
- 完全重新安装集群
- 添加配置文件
~/home/.kube/config - 修改
daemon.json配置
排查建议
- 检查kube-apiserver状态
- 在控制节点执行
systemctl status kube-apiserver,确认服务是否稳定运行、有无频繁重启;若异常,查看日志journalctl -u kube-apiserver -f定位报错原因。
- 在控制节点执行
- 验证网络连通性
- 在执行kubectl的节点,多次执行
nc -zv 192.168.1.105 6443,检查端口是否随机不通,排查VMware网络丢包、防火墙拦截问题。 - 控制节点执行
firewall-cmd --list-all,确认6443端口允许工作节点访问;若未添加规则,执行firewall-cmd --add-port=6443/tcp --permanent && firewall-cmd --reload。
- 在执行kubectl的节点,多次执行
- 检查kubelet状态与配置
- 所有节点执行
systemctl status kubelet,确认服务正常运行;查看日志journalctl -u kubelet -f,排查连接apiserver失败的报错。 - 检查kubelet配置文件(通常为
/var/lib/kubelet/config.yaml或/etc/kubernetes/kubelet.conf),确认apiserver地址配置正确。
- 所有节点执行
- 验证kubeconfig配置
- 注意
~/home/.kube/config路径可能错误,正确路径应为~/.kube/config;检查文件中clusters字段的server地址为https://192.168.1.105:6443,证书信息有效。 - 执行
kubectl config view,确认当前context指向正确集群。
- 注意
- 检查容器运行时兼容性
- Kubernetes 1.25默认使用containerd,若用Docker需确认版本为20.10+,与kubelet 1.25.3兼容。
- 检查
/etc/docker/daemon.json配置,确保cgroup driver与kubelet一致,示例配置:
配置后重启Docker:{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" }systemctl restart docker,通过docker info | grep Cgroup和kubelet --version | grep -i cgroup对比cgroup driver是否一致。
- 检查节点资源
- 控制节点执行
free -h和df -h,确认内存、磁盘空间充足,资源不足可能导致apiserver随机崩溃。
- 控制节点执行
内容的提问来源于stack exchange,提问作者C.V
相关产品推荐
相关产品推荐

