基于树莓派4的K8s集群kubectl间歇性连接拒绝问题排查
树莓派K8s集群kubectl间歇性连接失败问题解决
环境背景
基于3台树莓派4搭建家庭实验室K8s集群,用于可靠部署测试。各节点预先安装了docker.io、iptables、kubelet、kubeadm及kubectl;因使用Docker作为容器运行时,已在/etc/docker/daemon.json中配置cgroup驱动为systemd。集群初始化、节点加入流程均完成,~/.kube/config配置无误,正常状态下执行kubectl get nodes可正确返回所有节点状态。
问题表现
间歇性执行kubectl命令时,会抛出以下错误:
The connection to the server [kube01.ip]:6443 was refused - did you specify the right host or port?
- 部分场景下无需任何操作即可自行恢复连接
- 部分场景下需重启kubelet,但重启前kubelet服务状态显示正常
已验证无效的排查措施
- 禁用swap:执行
sudo swap off -a并清理/etc/fstab中的swap挂载配置 - 校验容器运行时cgroup驱动配置一致性
- 确认
~/.kube/config文件权限设置正确(符合600权限要求)
有效解决方案
将容器运行时从Docker切换为containerd,切换后集群已稳定运行数小时,未再出现上述连接失败问题。
内容的提问来源于stack exchange,提问作者Jehan Alvani
相关产品推荐
相关产品推荐

