为什么生产 Kubernetes 集群应该至少有三个节点?
Why should a production Kubernetes cluster have a minimum of three nodes?
官方 Kubernetes 教程的 first section 指出,
A Kubernetes cluster that handles production traffic should have a minimum of three nodes.
但没有说明为什么首选三个。为了避免脑裂的情况,仅仅是为了提高可用性,还是为了迎合 Kubernetes 内部的特定需求,是否需要三个而不是两个?我原以为脑裂场景只会发生在多个 Kubernetes 集群(每个集群都有不同的主节点)上,而单个集群应该能够处理至少两个节点,每个节点也许都在自己的可用区中。
这意味着每个集群至少有 3 个主节点。
Kubernetes 将所有关键数据都保存在etcd 中,在出现故障时使用多数来修复。 etcd 的一个实例在每个主节点上运行。三是一个人想要支持 prod-level 集群的最小 etcds 数量。因此,三个是每个集群的最小主节点数。
官方 Kubernetes 教程的 first section 指出,
A Kubernetes cluster that handles production traffic should have a minimum of three nodes.
但没有说明为什么首选三个。为了避免脑裂的情况,仅仅是为了提高可用性,还是为了迎合 Kubernetes 内部的特定需求,是否需要三个而不是两个?我原以为脑裂场景只会发生在多个 Kubernetes 集群(每个集群都有不同的主节点)上,而单个集群应该能够处理至少两个节点,每个节点也许都在自己的可用区中。
这意味着每个集群至少有 3 个主节点。
Kubernetes 将所有关键数据都保存在etcd 中,在出现故障时使用多数来修复。 etcd 的一个实例在每个主节点上运行。三是一个人想要支持 prod-level 集群的最小 etcds 数量。因此,三个是每个集群的最小主节点数。