一种kubernetes动态高可用方法、介质及设备与流程

文档序号:35969840发布日期:2023-11-09 10:33阅读:24来源:国知局
一种kubernetes动态高可用方法、介质及设备与流程

本发明属于kubernetes,具体涉及一种kubernetes动态高可用方法、介质及设备。


背景技术:

1、现有的kubernetes高可用方案主要采用三节点架构,而三节点架构是由kubernetes数据库etcd的高可用架构决定的。etcd基于raft协议算法,其高可用性必须保证集群半数以上的节点可用,因此一般etcd的节点数量为奇数,最小的高可用规模为三节点。在大多数使用场景中,由于受限于资源限制,一般只能选用三节点的高可用架构;当宕机的节点超过半数时,etcd无法对外提供服务,也就是说三节点架构的容错仅有一台。多数etcd高可用架构的高可用性受限,严重依赖运维介入,尤其在无人值守的低运维场景下无法应对。

2、现有的kubernetes高可用方案存在如下缺点:

3、1)高可用受限:三节点架构中一旦某一台机器宕机,则集群处于崩溃的临界状态,运维必须立刻介入处理,其高可用性仅为单节点容错,对人工依赖非常高;

4、2)资源浪费:raft协议的容错能力只为集群的半数,剩下的一般节点无法提高容错能力,如果要扩大容错节点,必须以倍数增加集群节点:当增加一台容错节点,必须增加两台集群节点;

5、3)运维成本高:受限于资源问题,大多数的高可用方案均采用三节点架构,容错性低,对人工运维的依赖程度很高,从而带来高运维成本。


技术实现思路

1、为了克服上述技术缺陷,本发明提供了一种kubernetes动态高可用方法,实现在有限的节点资源中最大化保障etcd集群的高可用性,从而保障kubernetes集群的高可用。

2、为了解决上述问题,第一方面,本发明提供了一种kubernetes动态高可用方法,包括如下步骤:

3、将节点分为第一节点和备份节点,第一节点为部署有etcd的节点,备份节点状态默认为standby状态;

4、第一备份节点对第一节点集群进行监测,当监测到第一节点集群中有节点宕机时,第一备份节点补位宕机节点;

5、当监测到第一节点集群中原宕机节点恢复时,第一备份节点结束补位。

6、进一步的,步骤第一备份节点对第一节点集群进行监测,当监测到第一节点集群中有节点宕机时,第一备份节点补位宕机节点,包括如下步骤:

7、第一备份节点上部署并启动etcd守护进程;

8、第一备份节点调用kube-apiserver接口进行抢锁;

9、抢锁成功的第一备份节点的状态更新为monitor状态,并监听第一节点集群;

10、当监听到第一节点集群中有节点宕机时,抢锁成功的第一备份节点调用kube-apiserver接口,将状态更新为standby-active状态;

11、触发etcd部署,第一备份节点加入第一节点集群,补位宕机节点。

12、进一步的,步骤触发etcd部署,第一备份节点加入第一节点集群,补位宕机节点后,还包括步骤:

13、第一备份节点监听到其成功部署etcd,并且其状态更新为standby-active状态时,释放锁。

14、进一步的,步骤当监测到第一节点集群中原宕机节点恢复时,第一备份节点结束补位,包括如下步骤:

15、抢锁成功的第二备份节点的状态更新为monitor状态,并监听第一节点集群;

16、当第二备份节点监测到第一节点集群中原宕机节点恢复时,调用kube-apiserver接口,通知第一备份节点根据节点优先级结束补位。

17、进一步的,步骤当第二备份节点监测到第一节点集群中原宕机节点恢复时,调用kube-apiserver接口,通知第一备份节点根据节点优先级结束补位,包括步骤:

18、第二备份节点监测到第一节点集群中原宕机节点恢复时,调用kube-apiserver接口,查询所有standby-active状态的备份节点;

19、若standby-active状态的备份节点的数量等于预设值,判断standby-active状态的备份节点是否为控制节点;

20、若standby-active状态的备份节点不是控制节点,将该备份节点的状态更新为standby状态,并删除部署的etcd。

21、进一步的,步骤当第二备份节点监测到第一节点集群中原宕机节点恢复时,调用kube-apiserver接口,通知第一备份节点根据节点优先级结束补位,还包括步骤:

22、若standby-active状态的备份节点的数量大于预设值,按照节点负载的高低以及是否为控制节点对standby-active状态的备份节点进行排序。

23、与现有技术相比,本发明具有以下有益效果:

24、本发明公开了一种kubernetes动态高可用方法,将节点分为第一节点和备份节点,当监测到第一节点集群中有节点宕机时,第一备份节点补位宕机节点;当监测到第一节点集群中原宕机节点恢复时,第一备份节点结束补位;通过将备份节点暂时加入第一节点集群,动态维持etcd的高可用稳态。实现在有限的节点资源中最大化保障etcd集群的高可用性,从而保障kubernetes集群的高可用,同时还可以减少人工运维介入,降低运维成本。

25、第二方面,本发明还提供了一种计算机可读存储介质,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的方法。

26、第三方面,本发明还提供了一种计算机设备,包括:

27、处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的方法。



技术特征:

1.一种kubernetes动态高可用方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的kubernetes动态高可用方法,其特征在于,步骤第一备份节点对第一节点集群进行监测,当监测到第一节点集群中有节点宕机时,第一备份节点补位宕机节点,包括如下步骤:

3.根据权利要求2所述的kubernetes动态高可用方法,其特征在于,步骤触发etcd部署,第一备份节点加入第一节点集群,补位宕机节点后,还包括步骤:

4.根据权利要求3所述的kubernetes动态高可用方法,其特征在于,步骤当监测到第一节点集群中原宕机节点恢复时,第一备份节点结束补位,包括如下步骤:

5.根据权利要求4所述的kubernetes动态高可用方法,其特征在于,步骤当第二备份节点监测到第一节点集群中原宕机节点恢复时,调用kube-apiserver接口,通知第一备份节点根据节点优先级结束补位,包括步骤:

6.根据权利要求5所述的kubernetes动态高可用方法,其特征在于,步骤当第二备份节点监测到第一节点集群中原宕机节点恢复时,调用kube-apiserver接口,通知第一备份节点根据节点优先级结束补位,还包括步骤:

7.一种计算机可读存储介质,其特征在于,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如权利要求1-6中任一项所述的方法。

8.一种计算机设备,其特征在于,包括:


技术总结
本发明公开了一种kubernetes动态高可用方法、介质及设备,所述方法包括如下步骤:将节点分为第一节点和备份节点,第一节点为部署有etcd的节点,备份节点状态默认为standby状态;第一备份节点对第一节点集群进行监测,当监测到第一节点集群中有节点宕机时,第一备份节点补位宕机节点;当监测到第一节点集群中原宕机节点恢复时,第一备份节点结束补位。

技术研发人员:刘忻,黄继承,林冬艺
受保护的技术使用者:广州市品高软件股份有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1