[发明专利]一种基于Kubernetes实现Pod间Leader选举的方法在审
申请号: | 202310410843.8 | 申请日: | 2023-04-13 |
公开(公告)号: | CN116643840A | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 生铮;王刚;高传集 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kubernetes 实现 pod leader 选举 方法 | ||
本发明公开了一种基于Kubernetes实现Pod间Leader选举的方法,属于Kubernetes技术领域,Pod启动时首先通过竞争一个CRD资源尝试成为Leader,得到所述CRD资源的Pod自动成为Leader,执行业务逻辑,同时不断的更新所述CRD资源的状态保证自身一直是Leader;未得到所述CRD资源的Pod不执行业务逻辑,同时不断的去竞争该CRD资源尝试成为新的Leader。本发明能够自动在Pod间选出Leader,当Leader因某些原因失活后,剩余的Pod能够再次选举出新的Leader,保证业务的高可用性。
技术领域
本发明涉及Kubernetes技术领域,具体地说是一种基于Kubernetes实现Pod间Leader选举的方法。
背景技术
Kubernetes是一种容器编排技术方案,能够为容器提供部署运行、资源调度、服务发现和动态伸缩等一系列功能。通常由Kubernetes创建出来的Pod是对等关系,彼此之间提供相同的服务,如果某些业务包含主从场景(例如读写操作,主节点写,其他节点读),这时就需要有一个Pod作为Leader完成主操作。如果在创建Pod之初手动设置Leader的话,当Leader失活后整个服务就处于宕机状态,违背高可用原则,因此Pod间必须能够主动选举出Leader。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于Kubernetes实现Pod间Leader选举的方法,解决Pod无法实现业务逻辑包含主从场景的情况,能够自动在Pod间选出Leader,当Leader因某些原因失活后,剩余的Pod能够再次选举出新的Leader,保证业务的高可用性。
本发明解决其技术问题所采用的技术方案是:
一种基于Kubernetes实现Pod间Leader选举的方法,Pod启动时首先通过竞争一个CRD资源尝试成为Leader,得到所述CRD资源的Pod自动成为Leader,执行业务逻辑,同时不断的更新所述CRD资源的状态保证自身一直是Leader;
未得到所述CRD资源的Pod不执行业务逻辑,同时不断的去竞争该CRD资源尝试成为新的Leader,一旦Leader Pod失活,CRD资源状态不再被更新,剩余Pod则可以通过新一轮的竞争自动选出新的Leader。
该方法能够自动在Pod间选出Leader,当Leader因某些原因失活后,剩余的Pod能够再次选举出新的Leader,保证业务的高可用性。
优选的,该方法的实现包括锁和控制器,
所述锁(Locker),是一个自定义的Kubernetes CRD资源,是所有Pod尝试修改的对象,Kubernetes的资源修改机制决定了在同一时间有且仅有一个Pod可以对资源进行写操作,因此竞争成功的Pod将成为Leader,竞争失败的Pod则成为竞争者;
所述控制器(Controller)控制选举行为,用来使Pod保持Leader状态或者是竞争状态;如果一个Pod是Leader,那么它将定时执行续租操作,以便一直保持Leader状态,当这个Leader Pod因意外无法完成续约时,那么到达特定时间后锁将失效,其他的Pod则尝试成为新的Leader;如果一个Pod不是Leader,那么它将定时发起选举,尝试成为新的Leader,以便在Leader宕机时接管业务。
进一步的,Leader Pod不断更新锁的状态以便一直保持Leader状态,更新失败则退化为竞争Pod;竞争Pod不断监听锁状态,待到达过期时间后尝试获取锁,择机成为新的Leader。
优选的,所述锁包含name和namespace字段,name为名称,namespace为命名空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310410843.8/2.html,转载请声明来源钻瓜专利网。