在双节点 Kubernetes 集群中,当一个节点发生故障时,kube-apiserver 是否会停止监听另一个节点?

在双节点 Kubernetes 集群中,当一个节点发生故障时,kube-apiserver 是否会停止监听另一个节点?

我有一个小型的双节点 Kubernetes 集群。两个节点都是主节点,运行各自的 etcd,并运行工作负载(无污点)。

我注意到,当我重启一个节点时,另一个节点的 kubectl 停止工作,即使 kubeconfig 指向仍在运行的服务器。这是因为,显然,服务器不再监听端口 6443。

当重新启动的服务器重新上线时,它也无法使用 kubectl,并且它也没有监听端口 6443。

我通常会通过停止 docker 和 kubelet、刷新 iptables 并重新启动它们来进行干预。我想这会让事情变得更糟。

但我的问题如下:

  1. 当您重新启动双节点自 etcd 托管 Kubernetes 集群的一个节点时,另一个节点的 apiserver 停止监听端口 6443,这正常吗?
  2. 如果我等待足够长的时间,重新启动后,apiserver 会恢复吗?(无需我的干预)
  3. 如果可以,那么它是如何工作的?它多久会重试一次以再次启动 kube-apiserver?
  4. 如果我有三个节点,单节点重启后这些都不会发生吗?

相关内容