一种基于kubernetes集群的应用资源调度方法、装置及分布式系统与流程

文档序号:36973753发布日期:2024-02-07 13:24阅读:14来源:国知局
一种基于kubernetes集群的应用资源调度方法、装置及分布式系统与流程

本发明涉及资源调度,尤其涉及一种基于kubernetes集群的应用资源调度方法、装置及分布式系统。


背景技术:

1、在kubernetes环境中,由于应用程序运行在跨集群的多个节点,并且服务也会分布在多个集群或者多个云厂商中,因此如何让分布在不同地方的服务器节点(node)资源分配更加合理,使得不同node的资源占用能够达到一个均衡的状态,从而避免出现有的node资源占用过高,有的node资源又相对偏低的情况变得非常困难且极具挑战性。这就需要我们采取一些措施来对kubernetes资源进行优化,以达到资源的最佳利用和最优性能。

2、在kubernetes环境中,节点资源分配是通过调度器(scheduler)实现的。调度器负责将容器运行的单元(pod)调度到可用的节点上,并根据节点的资源状况进行选择。然而,如果仅仅依靠原生调度器进行资源分配,很难实现精细化的资源管理。因此,我们需要借助其他工具或方法来优化资源分配。

3、当前kubernetes原生调度器主要考虑了任务分配速度和执行效率,而没有充分考虑集群的资源利用率,没有准确判断节点的实际使用情况,因此在动态变化的资源使用情况下,这可能导致资源利用率不均衡。


技术实现思路

1、为了克服上述技术缺陷,本发明的目的在于提供一种基于kubernetes集群的应用资源调度方法、装置及分布式系统,解决现有调度器资源调度不够均衡的问题。

2、本发明公开了一种基于kubernetes集群的应用资源调度方法,包括:

3、应用模块根据应用请求配置应用的动态参数以发起调度信号;

4、调度模块接收所述调度信号,通过策略模块实时采集kubernetes集群中各个节点服务器的静态参数和动态参数,并基于所述应用的动态参数中各个子参数作为维度数据,配置各个所述维度数据对应权重,根据所述维度数据、所述权重以及所述节点服务器的静态参数和动态参数对各个所述节点服务器进行优先级配置,以生成调度策略;

5、所述调度模块根据所述调度策略调度至少一个所述节点服务器进行应用部署。

6、优选地,所述根据所述维度数据、所述权重以及所述节点服务器的静态参数和动态参数对各个所述节点服务器进行优先级配置,包括:

7、对于每一所述节点服务器,执行以下:

8、从所述节点服务器的静态参数和动态参数获得每一所述维度数据对应的静态值和动态值;

9、根据所述动态值和所述静态值的比值确定所述节点服务器每一所述维度数据下的占用状态;

10、在每一所述维度数据下,根据所述占用状态与所述权重的比值确定所述应用在所述维度数据下的占用程度,将所有所述维度数据下的所述占用程度相加,以获得所述应用部署在各个所述节点服务器上对应的评分;

11、根据各个节点服务器的评分进行排序,以进行优先级配置。

12、优选地,所述生成调度策略,包括:

13、获取各个所述节点服务器配置的优先级;

14、根据所述应用的动态数据中的副本数确定需要调度的节点服务器数量;

15、以优先级倒序下,筛选出对应数量的所述节点服务器,根据筛选出的所述节点服务器对应的所述静态参数生成所述调度策略。

16、优选地,在所述确定需要调度的节点服务器数量前,还包括:

17、根据所述应用的动态数据对所述副本数进行调整,其中,所述调整包括当所述应用的动态数据中的所述子参数高于上限阈值,则对所述副本数进行扩增,当所述应用的动态数据中的所述子参数低于下限阈值,则对所述副本数进行缩减。

18、优选地,在所述进行应用部署后,还包括:

19、将所述应用的动态数据和所述调度策略生成关联数据组,以更新预设的调度数据库。

20、优选地,在所述进行优先级配置前,包括:

21、根据所述应用的动态参数从所述预设的调度数据库中匹配是否存在关联的调度策略;

22、若是,则获取所述历史调度策略中的所述节点服务器进行动态参数匹配;若否,则进行所述优先级配置;

23、若获取所述历史调度策略中的所述节点服务器进行动态参数匹配成功,则返回所述调度策略至所述调度模块,若获取所述历史调度策略中的所述节点服务器进行动态参数匹配失败,则进行所述优先级配置。

24、优选地,在所述进行优先级配置前,包括:

25、预先提供一分析数据库,用于对各个所述节点服务器的静态参数和动态参数进行数据分析,获得分析结果;

26、基于所述应用的动态参数以及所述分析数据库提供的分析结果对所述节点服务器进行预筛选。

27、优选地,所述发起调度信号,包括:

28、采用配置命令行、可视化操作平台和自动伸缩控制器中的一种或多种方式发起调度信号。

29、本发明还公开一种基于kubernetes集群的应用资源调度装置,包括:

30、应用模块,用于根据应用请求配置应用的动态参数以发起调度信号;

31、策略模块,用于实时采集kubernetes集群中各个节点服务器的静态参数和动态参数;基于应用的动态参数中各个子参数作为维度数据,配置各个维度数据对应权重,根据所述维度数据、所述权重以及所述节点服务器的静态参数和动态参数对各个节点服务器进行优先级配置,以生成调度策略;

32、调度模块,用于接收所述调度信号;根据策略模块生成的调度策略调度至少一个所述节点服务器进行应用部署。

33、本发明还公开一种分布式系统,所述分布式系统应用kubernetes集群,kubernetes集群包括若干节点服务器,应用所述的基于kubernetes集群的应用资源调度装置。

34、采用了上述技术方案后,与现有技术相比,具有以下有益效果:

35、本申请提供的一种基于kubernetes集群的应用资源调度方法、装置及分布式系统,配置应用请求参数,发起应用调度,调度模块接收调度请求后,通过策略模块根据应用的需求、当前集群中各个节点服务器资源的情况汇总分析后计算得到可进行调度的节点服务器,生成调度策略,返回至调度模块进行节点服务器调度,具体的通过应用的动态数据确定对不同维度数据的关注,以设置不同维度数据的权重,对各个节点服务器资源进行优先级配置,生成调度策略,通过统计分析和智能预测并配置一定的调度策略让应用的调度更加合理,让服务器的资源分配更加合理,解决现有调度器资源调度不够均衡的问题。



技术特征:

1.一种基于kubernetes集群的应用资源调度方法,其特征在于,包括:

2.根据权利要求1所述的应用资源调度方法,其特征在于,所述根据所述维度数据、所述权重以及所述节点服务器的静态参数和动态参数对各个所述节点服务器进行优先级配置,包括:

3.根据权利要求1所述的应用资源调度方法,其特征在于,所述生成调度策略,包括:

4.根据权利要求3所述的应用资源调度方法,其特征在于,在所述确定需要调度的节点服务器数量前,还包括:

5.根据权利要求1所述的应用资源调度方法,其特征在于,在所述进行应用部署后,还包括:

6.根据权利要求5所述的应用资源调度方法,其特征在于,在所述进行优先级配置前,包括:

7.根据权利要求1所述的应用资源调度方法,其特征在于,在所述进行优先级配置前,包括:

8.根据权利要求1所述的应用资源调度方法,其特征在于,所述发起调度信号,包括:

9.一种基于kubernetes集群的应用资源调度装置,其特征在于,包括:

10.一种分布式系统,其特征在于:


技术总结
本发明提供了一种基于kubernetes集群的应用资源调度方法、装置及分布式系统,涉及资源调度技术领域,包括:应用模块根据应用请求配置应用的动态参数以发起调度信号;调度模块接收所述调度信号,通过策略模块实时采集kubernetes集群中各个节点服务器的静态参数和动态参数,并基于所述应用的动态参数中各个子参数作为维度数据,配置各个所述维度数据对应权重,根据所述维度数据、所述权重以及所述节点服务器的静态参数和动态参数对各个节点服务器进行优先级配置,以生成调度策略;所述调度模块根据所述调度策略调度至少一个所述节点服务器进行应用部署,解决现有调度器资源调度不够均衡的问题。

技术研发人员:艾如飞,杨超,耿昌彪,田仁军,王迅
受保护的技术使用者:昭通亮风台信息科技有限公司
技术研发日:
技术公布日:2024/2/6
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1