k8s - leader election 实现

leader election

  1. lock type 锁类型
    • leases
    • endpointsleases
    • configmapsleases
  2. leases类型实现
    • 对应的struct,leaderelection/resourcelock/leaselock/LeaseLock
  3. endpointsleases
    • 实现endpoints和leases两种方式
    • MultiLock: 用作迁移,里面有两种场景,Primary、Secondary
    • endpointsLock
      • 通过在endpoints里面的annotation存储的LeaderElectionRecord信息,来进行选举
      • annotation里面的key为control-plane.alpha.kubernetes.io/leader
      • LeaderElectionRecord存储了时间、 标识
  4. configmapsleases
    • 实现configmaps和lease两种
    • MultiLock
    • configmapLock
      • 跟endpoints差不多
  5. 入口LeaderElector
    • 重要的元素LeaderElectionConfig
      • Lock rl.Interface
      • Callbacks LeaderCallbacks
  6. 通过callback,实现业务逻辑
    • OnStartedLeading:成为leader
    • OnStoppedLeading:leader结束
    • OnNewLeader:leader变更时
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值