k8s集群中主节点和etcd故障的影响

时间:2020-03-04 05:17:19

标签: kubernetes

我想了解在只有一个具有内部etcd存储的主节点的k8s集群中,主节点故障可能带来的影响。

据我了解,在工作节点上运行的所有已部署工作负载容器(包括具有持久卷声明的无状态和有状态集)将继续运行,直到需要重新创建任何容器为止,因为它们没有直接的功能依赖性在主节点上,etcd存储其核心功能。并且,主节点的不可用性仅影响集群的控制平面操作。

我的理解正确吗?如果不是,您能否解释主节点故障对在该群集上运行的工作负载的影响?

我知道,为k8s集群实现HA的最佳方法是建立一个多主集群,并可能将etcd存储外部化。这个问题是为了了解在配置多主群集之前,主节点失败进行知情呼叫的确切影响。

1 个答案:

答案 0 :(得分:0)

仲裁系统上的

Etcd运算符,因此只要集群看到多数,它将继续运行。如果发生故障的节点是当前领导者,则其他节点将在心跳超时后触发选举。

对于kube-apiserver来说,它是一种水平服务,因此像其他任何Webapp一样,丢失节点并不有趣。一些(大多数)控制器是单例的,但是它们在每个控制平面节点上运行,并使用kube-apiserver进行领导者选举,例如与Etcd一起使用,如果领导者去世,则几秒钟后另一个副本将获得领导者锁定并接管。 / p>