[发明专利]一种基于Kubernetes实现Pod间Leader选举的方法在审
申请号: | 202310410843.8 | 申请日: | 2023-04-13 |
公开(公告)号: | CN116643840A | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 生铮;王刚;高传集 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kubernetes 实现 pod leader 选举 方法 | ||
1.一种基于Kubernetes实现Pod间Leader选举的方法,其特征在于,Pod启动时首先通过竞争一个CRD资源尝试成为Leader,得到所述CRD资源的Pod自动成为Leader,执行业务逻辑,同时不断的更新所述CRD资源的状态保证自身一直是Leader;
未得到所述CRD资源的Pod不执行业务逻辑,同时不断的去竞争该CRD资源尝试成为新的Leader,一旦Leader Pod失活,CRD资源状态不再被更新,剩余Pod则可以通过新一轮的竞争自动选出新的Leader。
2.根据权利要求1所述的一种基于Kubernetes实现Pod间Leader选举的方法,其特征在于,该方法的实现包括锁和控制器,
所述锁,是一个自定义的Kubernetes CRD资源,是所有Pod尝试修改的对象,Kubernetes的资源修改机制决定了在同一时间有且仅有一个Pod可以对资源进行写操作,因此竞争成功的Pod将成为Leader,竞争失败的Pod则成为竞争者;
所述控制器控制选举行为,用来使Pod保持Leader状态或者是竞争状态;如果一个Pod是Leader,那么它将定时执行续租操作,以便一直保持Leader状态,当这个Leader Pod因意外无法完成续约时,那么到达特定时间后锁将失效,其他的Pod则尝试成为新的Leader;如果一个Pod不是Leader,那么它将定时发起选举,尝试成为新的Leader,以便在Leader宕机时接管业务。
3.根据权利要求2所述的一种基于Kubernetes实现Pod间Leader选举的方法,其特征在于,Leader Pod不断更新锁的状态以便一直保持Leader状态,更新失败则退化为竞争Pod;竞争Pod不断监听锁状态,待到达过期时间后尝试获取锁,择机成为新的Leader。
4.根据权利要求2所述的一种基于Kubernetes实现Pod间Leader选举的方法,其特征在于,所述锁包含name和namespace字段,name为名称,namespace为命名空间;
name和namespace标识不同的业务锁,每个主从业务都对应一个锁,多个Pod通过竞争锁从而成为Leader,只有Leader才能执行业务逻辑,同时一个Pod也可以竞争多个锁,成为多个业务的Leader。
5.根据权利要求4所述的一种基于Kubernetes实现Pod间Leader选举的方法,其特征在于,所述锁还包含LockerIdentity和LockerExpirationTime字段,标识锁的持有者和锁的有效期,有效期以内持有锁的Pod一直处于Leader状态;
LockerIdentity:锁标识,标识锁持有对象,此字段唯一;每个Pod依据此字段确定自身是否获取到了锁:如果该字段和自身身份标识相等,则说明获取到了锁成为Leader;如果该字段和自身身份标识不相等,则说明没有获取到锁成为竞争者;
LockerExpirationTime:锁到期时间,标识当前锁是否有效,如果锁到期时间处在当前时间之后,锁有效,反之锁失效;当锁有效时,只有持有锁的Pod才可以更新锁,续租Leader,当锁失效时,所有的Pod均可以更新锁,成功者成为新的Leader。
6.根据权利要求2或3或4或5所述的一种基于Kubernetes实现Pod间Leader选举的方法,其特征在于,所述控制器包含配置和监听器,
配置包含Identity、LeaseDuration和RetryInterval;监听器是一个守护进程,持续运行,根据配置完成Pod的竞争操作,控制Pod选举的具体流程;
Identity:身份标识,用来证明自身持有锁,竞争成功后设置到锁的LockerIdentity字段;
LeaseDuration:租约时长,用来设置锁到期时间,即锁的LockerExpirationTime=当前时间+LeaseDuration;
RetryInterval:重试间隔,决定尝试获取锁的频率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310410843.8/1.html,转载请声明来源钻瓜专利网。