我看到除了apiServer之外,大多数K8S主组件都有一个领导者选择过程。如果在任何时间点只有一个节点是领导者,那么为什么对于更大的k8s集群我们需要3个以上的主集群?
答案 0 :(得分:0)
Kubernetes HA群集使用etcd来存储和同步配置的事实要求最少3台主机。 etcd至少需要3个节点才能确保HA。一般情况下,要部署Kubernetes HA集群时,需要使用n + 1模型。
在单个主设置中,主节点与工作程序节点一起管理etcd数据库,API服务器,控制器管理器和调度程序。但是,如果单个主节点发生故障,那么所有工作节点也将发生故障,整个群集将丢失。 相反,在多主服务器设置中,多主服务器可为单个群集提供高可用性并提高网络性能,因为所有主服务器的行为都像一个统一的数据中心。 多主服务器设置可防止各种故障模式,从丢失单个工作节点到主节点的etcd服务故障。通过提供冗余,多主群集可以为最终用户提供高度可用的系统。
请勿将群集与两个主副本一起使用。更改永久状态时,两副本群集上的共识要求两个副本同时运行。结果,两个副本都是必需的,任何副本的故障都会使群集变为多数故障状态。因此,就HA而言,两个副本的群集不如单个副本群集。
以下是有用的文档:kubernetes-ha-cluster,creating-ha-cluster。
文章:ha-cluster,ha。