为什么生产 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 数量。因此,三个是每个集群的最小主节点数。