![](/img/trans.png)
[英]How to enable leader election for high-availability Kubernetes on Google Compute Engine?
[英]Kubernetes' High Availability Leader Lease
我有一个关于 Kubernetes 对 kube-controller-manager 和 kube-scheduler 的领导者/追随者租用管理的问题:据我所知,Kubernetes 在kube-system
命名空间中将当前领导者作为端点进行kube-system
。
您可以通过以下方式获得领导者
$ kubectl get endpoints -n kube-system
NAME ENDPOINTS AGE
kube-controller-manager <none> 20m
kube-scheduler <none> 20m
然后例如
$ kubectl describe endpoints kube-scheduler -n kube-system
Name: kube-scheduler
Namespace: kube-system
Annotations: control-plane.alpha.kubernetes.io/leader={"holderIdentity":"controller-0", ...}
当前的leader是control-plane.alpha.kubernetes.io/leader
注解的holderIdentity
。
我的问题:
租赁管理像收购租赁,更新租约,生存时间等在实施leaderelection.go上Kubernetes端点上。 是否有特定原因没有直接在 Etcd 上使用“开箱即用”的 Etcd 原语(如 Etcd 的比较和交换操作以及对象上的生存时间)实现租约管理?
编辑
几个原因:
出于安全原因,只有 API 服务器才能访问 etcd。 请记住,如果按照惯例将 etcd 用于领导者租用,那么使用领导者选举的自定义控制器和操作员也需要访问 etcd,鉴于存储在 etcd 中的数据的重要性,这是不可取的。
参考: https : //kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#securing-etcd-clusters
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.