如何在 Google Compute Engine 上为高可用性 Kubernetes 启用领导选举?

How to enable leader election for high-availability Kubernetes on Google Compute Engine?

我正在尝试 运行 kubernetes 在 instructions 之后的 GCE 高可用性模式下,但是我的 kube-scheduler.manifestkube-controller-manager.manifest 没有 --leader-elect=true 标志设置在任何主人。

我在 salt templates, and it appears to me that there is no configuration option to enable it. Further, the high-availability proposal 中研究表明即使在 "non-replicated mode" 中也应该启用该标志,但它似乎没有。

为 kube-scheduler 和 kube-controller-manager 启用领导选举的正确方法是什么?有没有办法不求助于

high-availability instructions mention enabling the --leader-elect flag, but the high-availability setup instructions don't explain exactly how to do it. The high-availability proposal doc 是这样描述领导者选举的:"We will use the same configuration in non-replicated mode to simplify deployment scripts",但我在 salt 模板中找不到这方面的证据。

从 Kubernetes v1.4.0 开始,leader-elect 标志的默认值为 true,因此在没有明确配置的情况下,应该启用领导者选举客户端。

您可能还希望根据您启动的主服务器数量(默认为 1)设置 Kubernetes API 服务器的 apiserver-count 标志。它给master选出的组件(调度器,控制器-管理器)一个关于master形成的quorum大小的提示,因为leader选举过程使​​用Raft共识。

参考文献: