Kubectl 连接拒绝现有集群

时间:2021-05-20 07:02:17

标签: kubernetes connection controls cluster-computing

希望有人能帮助我。 简而言之,我有一个自我管理的 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

1 个答案:

答案 0 :(得分:1)

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