一种跨集群容器数量弹性伸缩实现方法及装置制造方法及图纸

技术编号:31708537 阅读:13 留言:0更新日期:2022-01-01 11:11
本申请提供一种跨集群容器数量弹性伸缩实现方法及装置,通过调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略;执行伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值;执行伸缩任务的实例,当综合指标值不在预设伸缩阈值区间内时,则根据各个集群的预设权重以及副本数的最大值和最小值,计算在各集群内的合理副本数;执行伸缩任务的实例,调用伸缩策略的API,对待处理应用在对应集群内的副本数进行缩放。本申请在满足容灾要求下,提高业务系统的可用性,确保应用系统始终拥有合适的容量,以满足当前流量需求。求。求。

【技术实现步骤摘要】
一种跨集群容器数量弹性伸缩实现方法及装置


[0001]本申请涉及云原生
,特别的,尤其涉及云原生Kubernetes环境下基于分布式架构的一种跨集群容器数量弹性伸缩实现方法及装置。

技术介绍

[0002]伴随企业数字化转型的推进,云原生已经成为驱动业务增长的重要引擎。作为云原生应用的行业事实标准,Kubernetes(以下简称k8s)为企业资源应用的容器化部署、统筹规划、构建升级提供了一种高效的统一管理机制。
[0003]目前,k8s多集群同时部署和运营也已不可避免,一方面混合云或是多云架构决定了需要多个集群;另一方面,如果只有一个集群并且该集群出现故障,那么所有的服务都会受到影响。但是目前资源调度受限于集群、应用可用性受限于集群、弹性伸缩受限于集群,还没有跨集群的对容器数量进行弹性伸缩的机制。
[0004]为此,如何更好地在满足容灾要求下,提高业务系统的可用性,确保应用系统始终拥有合适的容量以满足当前流量需求。

技术实现思路

[0005]鉴于上述内容中存在的问题,本申请提供了一种跨集群容器数量弹性伸缩实现方法及装置,用以在满足容灾要求下,提高业务系统的可用性,确保应用系统始终拥有合适的容量,以满足当前流量需求。
[0006]为了实现上述目的,本申请提供了以下技术方案:
[0007]一种跨集群容器数量弹性伸缩实现方法,初始化多个伸缩服务实例到多个k8s集群中,构成分布式集群;处于领导角色的伸缩服务实例对外提供待处理应用列表和对应的伸缩策略的API;所述领导角色的伸缩服务实例用于在内存中维护所述待处理应用和执行任务的伸缩服务实例之间的映射关系表,并将所述映射关系表更新到Raft数据库中,该方法包括:
[0008]调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略;所述领导角色的伸缩服务实例将伸缩任务派发给其他伸缩服务实例;
[0009]执行所述伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值;
[0010]执行所述伸缩任务的实例判断所述综合指标值是否在预设伸缩阈值区间内;
[0011]在所述综合指标值不在预设伸缩阈值区间内时,则根据各个集群的预设权重以及副本数的最大值和最小值,计算在各集群内的合理副本数;
[0012]执行所述伸缩任务的实例,调用所述伸缩策略的API,对所述待处理应用在对应集群内的副本数进行缩放。
[0013]进一步的,所述调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略,包括:
[0014]根据所述预设应用和相应的伸缩策略,所述领导角色的伸缩服务实例决定执行所述预设应用的伸缩任务的节点,并调用所述配置API将所述伸缩任务派发给相应的节点。
[0015]进一步的,所述执行所述伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值,包括:
[0016]依据所述伸缩任务派发的伸缩服务实例定时从部署有应用的各个集群的监控服务中获取指定时间周期内的监控指标平均值,对监控指标值根据副本数做加权平均,计算得到所述综合指标值。
[0017]进一步的,还包括:
[0018]在执行一次伸缩后,对该应用设置冷却周期,在该冷却周期内,不再做弹性缩放,以避免所述副本数波动太过频繁。
[0019]一种跨集群容器数量弹性伸缩实现装置,初始化多个伸缩服务实例到多个k8s集群中,构成分布式集群;处于领导角色的伸缩服务实例对外提供待处理应用列表和对应的伸缩策略的API;所述领导角色的伸缩服务实例用于在内存中维护所述待处理应用和执行任务的伸缩服务实例之间的映射关系表,并将所述映射关系表更新到Raft数据库中,该装置包括:
[0020]第一处理单元,用于调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略;所述领导角色的伸缩服务实例将伸缩任务派发给其他伸缩服务实例;
[0021]第二处理单元,用于执行所述伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值;
[0022]第三处理单元,用于执行所述伸缩任务的实例判断所述综合指标值是否在预设伸缩阈值区间内;
[0023]第四处理单元,用于在所述综合指标值不在所述预设伸缩阈值区间内时,则根据各个集群的预设权重以及副本数的最大值和最小值,计算在各集群内的合理副本数;
[0024]第五处理单元,用于执行所述伸缩任务的实例,调用所述伸缩策略的API,对所述待处理应用在对应集群内的副本数进行缩放。
[0025]进一步的,所述第一处理单元具体用于:
[0026]根据所述预设应用和相应的伸缩策略,所述领导角色的伸缩服务实例决定执行所述预设应用的伸缩任务的节点,并调用所述配置API将所述伸缩任务派发给相应的节点。
[0027]进一步的,所述第二处理单元具体用于:
[0028]依据所述伸缩任务派发的伸缩服务实例定时从部署有应用的各个集群的监控服务中获取指定时间周期内的监控指标平均值,对监控指标值根据副本数做加权平均,计算得到所述综合指标值。
[0029]进一步的,还包括:
[0030]第六处理单元,用于在执行一次伸缩后,对该应用设置冷却周期,在该冷却周期内,不再做弹性缩放,以避免所述副本数波动太过频繁。
[0031]一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行如上述所述的跨集群容器数量弹性伸缩实现方法。
[0032]一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至
少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如上述所述的跨集群容器数量弹性伸缩实现方法。
[0033]本申请所述的跨集群容器数量弹性伸缩实现方法及装置,通过调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略;所述领导角色的伸缩服务实例将伸缩任务派发给其他伸缩服务实例;执行所述伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值;执行所述伸缩任务的实例,当所述综合指标值不在预设伸缩阈值区间内时,则根据各个集群的预设权重以及副本数的最大值和最小值,计算在各集群内的合理副本数;执行所述伸缩任务的实例,调用所述伸缩策略的API,对所述待处理应用在对应集群内的副本数进行缩放。本申请在满足容灾要求下,提高业务系统的可用性,确保应用系统始终拥有合适的容量,以满足当前流量需求。
附图说明
[0034]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨集群容器数量弹性伸缩实现方法,其特征在于,初始化多个伸缩服务实例到多个k8s集群中,构成分布式集群;处于领导角色的伸缩服务实例对外提供待处理应用列表和对应的伸缩策略的API;所述领导角色的伸缩服务实例用于在内存中维护所述待处理应用和执行任务的伸缩服务实例之间的映射关系表,并将所述映射关系表更新到Raft数据库中,该方法包括:调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略;所述领导角色的伸缩服务实例将伸缩任务派发给其他伸缩服务实例;执行所述伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值;执行所述伸缩任务的实例判断所述综合指标值是否在预设伸缩阈值区间内;在所述综合指标值不在预设伸缩阈值区间内时,则根据各个集群的预设权重以及副本数的最大值和最小值,计算在各集群内的合理副本数;执行所述伸缩任务的实例,调用所述伸缩策略的API,对所述待处理应用在对应集群内的副本数进行缩放。2.根据权利要求1所述的方法,其特征在于,所述调用处于领导角色的伸缩服务实例的API配置需要伸缩的应用和相应的伸缩策略,包括:根据所述预设应用和相应的伸缩策略,所述领导角色的伸缩服务实例决定执行所述预设应用的伸缩任务的节点,并调用所述配置API将所述伸缩任务派发给相应的节点。3.根据权利要求1所述的方法,其特征在于,所述执行所述伸缩任务的实例从监控服务获取应用在所属集群的监控指标,根据副本数做加权平均,计算得到综合指标值,包括:依据所述伸缩任务派发的伸缩服务实例定时从部署有应用的各个集群的监控服务中获取指定时间周期内的监控指标平均值,对监控指标值根据副本数做加权平均,计算得到所述综合指标值。4.根据权利要求1所述的方法,其特征在于,还包括:在执行一次伸缩后,对该应用设置冷却周期,在该冷却周期内,不再做弹性缩放,以避免所述副本数波动太过频繁。5.一种跨集群容器数量弹性伸缩实现装置,其特征在于,初始化多个伸缩服务实例到多个k8s集群中,构成分布式集群;处于领导角色的伸缩服务实例对外提供待处理应用列表和对应的伸缩策略的API;所述领导角色的伸缩服务实例用于在内存...

【专利技术属性】
技术研发人员:朱柯徐丽
申请(专利权)人:北京同创永益科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1