官方 Kubernetes 教程的第一部分指出,处理生产流量的 Kubernetes 集群应该至少有三个节点。
但是并没有说明为什么三个节点是首选。是因为比两个节点更可靠,还是因为需要满足 Kubernetes 内部的某些特殊需求呢?我认为,只有在有多个 Kubernetes 集群(每个集群都有不同的主节点)的情况下才会发生拆分脑的情况,而单个集群应该可以至少处理两个节点,每个节点可能位于自己的可用性区域。
官方 Kubernetes 教程的第一部分指出,处理生产流量的 Kubernetes 集群应该至少有三个节点。
但是并没有说明为什么三个节点是首选。是因为比两个节点更可靠,还是因为需要满足 Kubernetes 内部的某些特殊需求呢?我认为,只有在有多个 Kubernetes 集群(每个集群都有不同的主节点)的情况下才会发生拆分脑的情况,而单个集群应该可以至少处理两个节点,每个节点可能位于自己的可用性区域。
这意味着每个集群至少需要3个主节点。
Kubernetes将所有关键数据存储在etcd中,当发生故障时,会使用多数派来进行修复。每个主节点上都运行一个etcd实例。在生产级别的集群中,希望有至少三个etcd来支持。因此,每个集群至少需要三个主节点。
minikube
和非minikube
环境之间的语义差异,因为似乎我的误解就在这里,但我觉得这可能会使原始问题变形,例如“生产Kubernetes建议使用三个‘节点’,在minikube中主节点是单数?”或类似的问题。 - rjs