如何在 Kubernetes HA Master 设置中检测活动的 Controller Manager 和 Scheduler?

How to detect the active Controller Manager and Scheduler in a Kubernetes HA Master setup?

我已经设置了一个 kubernetes 集群 高可用性 :3 个 etcd 节点,3 个 api 服务器, 3 个控制器管理器和 3 个调度器。 api 服务器前面有一个负载平衡器。我看到 apiservers 运行 作为 A​​ctive-Active 而 Controller Manager 和 Scheduler 作为 Active/Standby 工作.有谁知道如何在 HA Master 设置中检测活动的控制器管理器和调度程序?

所有 K8s 基础组件都由 systemd 而非 dockerd 管理。

谢谢。

在我的例子中,检索端点 yaml 并查看“...kubernetes.io/leader”注释的 "holderIdentity" 字段。

我使用以下命令找出领导者

kubectl proxy --port=8000

curl 127.0.0.1:8000/api/v1/namespaces/kube-system/endpoints/kube-controller-manager | grep leader

curl 127.0.0.1:8000/api/v1/namespaces/kube-system/endpoints/kube-scheduler | grep leader