【发布时间】:2019-09-18 10:40:42
【问题描述】:
我正在按照官方文档学习 kubernetes,在 Creating Highly Available clusters with kubeadm 部分中建议至少使用 3 个 master 和 3 个 worker 来设置 HA 集群。
给出此建议时没有解释其背后的原因。换句话说,为什么 2 master 和 2 worker 配置不适合 HA ?
【问题讨论】:
-
集群是基于仲裁的。 K8 在 etcd 中存储状态。 github.com/etcd-io/etcd/blob/master/Documentation/…
-
hmm ok.. 这句话没看懂可能会失败而不会失去仲裁,但有更多节点可能会失败..
-
我认为这个博客更好地解释了法定人数中的奇数,medium.com/@bikas.katwal10/…
-
medium.com/better-programming/…。这就解释了为什么 etcd 应该有奇数 - 筏算法...
-
我认为理解为什么3大师最好的方法是知道raft算法是如何工作的。这里有一个很棒的例子:thesecretlivesofdata.com/raft。这会让你有一个非常清晰的认识。 etcd 使用 raft 算法。您的工人人数并不重要。你可以有一个。但对于失败,最好有 3 个以上的节点。大师通常有奇数有一个适当的法定人数(已经解释)。一旦您了解了 raft 的工作原理,您也会更好地了解适当的法定人数。
标签: kubernetes distributed-computing scalability high-availability