现象
我用rancher 部署k8s集群的时候出现Failed to get /health for host [10.154.12.79]: Get https://xxx:2379/health: net/http: TLS handshake timeout 这一错误.
执行./rke_linux-amd64 -d up --config=cluster.yml 命令打开debug模式发现更多报错信息
WARN[0134] [etcd] host [xxx] failed to check etcd health: failed to get /health for host [10.2.6.76]: Get https://xxx:2379/health: remote error: tls: bad certificate
解决方案
报错信息提示是证书不对,由于我的集群环境有过变更所有证书很可能也变掉了. 在GitHub找到类似的问题 RKE Installation error ETCD Health Check Problem
在主节点上执行sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/ /var/lib/etcd/
需要注意的是删除这些文件之后新生成的集群里面原来的容器信息就没有了,你可以先把这些文件备份,另外etcd数据库还可以通过导入db文件的方式恢复数据,需谨慎操作

本文解决Rancher部署K8s集群时遇到的证书错误、连接失败及Pod待分配等问题,包括清理配置文件、修复证书验证等步骤。
最低0.47元/天 解锁文章
780

被折叠的 条评论
为什么被折叠?



