[Kubernetes] Leaderection

介绍

关于k8s的kube-scheduler和kube-controller-manager高可用部分,它们使用的选举机制和常用的基于中间件的方式不太一样,在k8s中是基于k8s资源来维护分布式锁。正常的情况下kube-scheduler和kube-controller-manager只有一个副本是处于正常的业务逻辑状态,其他的在一直获取锁,去竞争leader。如果因为某种原因现有的leader退出,或者获取锁失败,则会由其他副本竞争新的leader,并执行正常的业务逻辑。

介绍 现在市面上k8s扩展方式用的最多的就是opertor-sdk和kube-builder,而这种中方式都是基于controller-run