微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kubectl 连接拒绝现有集群

如何解决Kubectl 连接拒绝现有集群

希望有人能帮助我。 简而言之,我有一个自我管理的 k8s 集群,在 3 台机器上运行(1 个主节点,2 个工作节点)。为了使其成为 HA,我尝试向集群添加第二个 master。 经过一些失败的尝试后,我发现我需要将 controlPlaneEndpoint 配置添加到 kubeadm-config 配置映射中。所以我做了,masternodeHostname:6443

我为第二台主机生成了证书和加入命令,在第二台主机上运行后,失败了

error execution phase control-plane-join/etcd: error creating local etcd static pod manifest file: timeout waiting for etcd cluster to be available

现在检查第一个主服务器,端口 6443 上的 IP 连接被拒绝。所以我无法运行任何 kubectl 命令。
尝试重新创建 .kube 文件夹,并将所有配置复制到那里,但没有成功。
重启kubelet、docker。
集群上运行的容器似乎没问题,但我被锁定在任何集群配置之外(仪表板已关闭,kubectl 命令不起作用)。
有什么办法让它重新工作吗?不会丢失任何配置或已经存在的部署?
谢谢!对不起,如果这是一个菜鸟问题。

集群信息:

Kubernetes version: 1.15.3
Cloud being used: (put bare-Metal if not on a public cloud) bare-Metal
Installation method: kubeadm
Host OS: RHEL 7
CNI and version: weave 0.3.0
CRI and version: containerd 1.2.6

解决方法

这是 Kubernetes Leaflet.Draw [1,2] 的一个古老的已知问题。
它是由较短的 etcd 超时时间引起的。据我所知,它是 source 中的硬编码值,无法更改(使其可配置的功能请求已针对版本 1.22 开放)。
最好的办法是升级到更新的版本,然后重新创建集群。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。