k8s报错:The connection to the server 192.168.10.128:6443 was refused - did you specify the right host

报错详情:
[root@k8s-master-01 ~]# kubectl get no
E0601 13:49:25.403858 1309 memcache.go:265] couldn’t get current server API group list: Get “https://192.168.10.128:6443/api?timeout=32s”: dial tcp 192.168.10.128:6443: connect: connection refused
E0601 13:49:25.404153 1309 memcache.go:265] couldn’t get current server API group list: Get “https://192.168.10.128:6443/api?timeout=32s”: dial tcp 192.168.10.128:6443: connect: connection refused
E0601 13:49:25.408368 1309 memcache.go:265] couldn’t get current server API group list: Get “https://192.168.10.128:6443/api?timeout=32s”: dial tcp 192.168.10.128:6443: connect: connection refused
E0601 13:49:25.411620 1309 memcache.go:265] couldn’t get current server API group list: Get “https://192.168.10.128:6443/api?timeout=32s”: dial tcp 192.168.10.128:6443: connect: connection refused
E0601 13:49:25.417276 1309 memcache.go:265] couldn’t get current server API group list: Get “https://

### 解决 Kubernetes 集群重启后 kube-apiserver 连接失败问题 当 Kubernetes 集群中的 `kube-apiserver` 服务在节点重启后无法正常工作时,通常可能是由于以下几个原因引起的: #### 1. **检查 kube-apiserver 是否已成功启动** 确认 `kube-apiserver` 服务的状态是否正常运行。可以使用以下命令来验证: ```bash systemctl status kube-apiserver ``` 如果服务未启动,则可以通过以下命令重新加载配置文件并尝试启动服务[^1]: ```bash systemctl daemon-reload systemctl start kube-apiserver systemctl enable kube-apiserver ``` 对于多主节点环境,建议使用带有 `--now` 参数的方式启用服务以确保立即生效[^2]: ```bash systemctl enable --now kube-apiserver ``` #### 2. **验证端口监听情况** 默认情况下,`kube-apiserver` 使用的是 6443 端口对外提供服务。通过以下命令检查该端口是否正在监听: ```bash netstat -tuln | grep 6443 ``` 如果没有看到对应的监听条目,说明 `kube-apiserver` 可能未能正确绑定到指定端口。 #### 3. **审查日志排查异常** 查看 `kube-apiserver` 的日志可以帮助定位具体问题所在。以下是获取日志的方法: ```bash journalctl -u kube-apiserver -f ``` 常见的错误可能涉及证书失效、网络不通或者配置参数不匹配等问题。 #### 4. **校验 TLS/SSL 证书有效性** 确保用于身份认证的 SSL/TLS 证书仍然有效并未过期。特别是当你手动创建了自签名 CA 或者更新了相关密钥材料之后,务必同步修改所有依赖这些凭证的服务组件设置,并分发至各个节点上应用最新版本[^3]。 例如,授予 `kubectl` 用户访问 Kubelet API 所需权限的操作如下所示: ```bash [root@k8s-master01 ~]# kubectl create clusterrolebinding kube-apiserver:kubelet-apis \ --clusterrole=system:kubelet-api-admin \ --user kubernetes ``` 此操作定义了一个基于角色的访问控制(RBAC),允许 `kube-apiserver` 正常调用 `kubelet` 提供的功能接口,从而避免因缺乏适当许可而导致请求被拒的情况发生。 #### 5. **测试连通性** 最后一步是从其他机器向目标服务器发起 HTTPS 请求,检验能否顺利抵达目的地址上的 `kube-apiserver` 实例。比如利用 curl 工具发送 GET 方法查询健康状况路径 `/healthz` 来判断其可用性: ```bash curl https://<master-ip>:6443/healthz --cacert /etc/kubernetes/pki/ca.crt ``` --- ### 总结 综上所述,针对 Kubernetes 集群中遇到的 `kube-apiserver` 在主机重启后的连接故障现象,应依次按照上述几个方面逐一核查直至找到根本原因加以修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值