[发明专利]一种Kubernetes资源调度方法、装置与电子设备有效
申请号: | 202011142760.8 | 申请日: | 2020-10-23 |
公开(公告)号: | CN112286631B | 公开(公告)日: | 2022-07-01 |
发明(设计)人: | 石志凯;李铿;蒋玉玲;陈林祥 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 kubernetes 资源 调度 方法 装置 电子设备 | ||
本发明公开了一种Kubernetes资源调度方法,对整体任务与可运行节点进行分组分配,然后进行统一调度,如果调度失败则进行回滚释放资源,调整每个任务所需资源,再进行分组分配。S1、获取任务组,判断目前空余资源总和是否满足任务组所需要的整体资源,如不满足则不进行调度,如果满足则进入步骤S2;S2、获取任务组中各任务所需资源情况,并获取可用于执行该任务的Kubernetes节点和节点资源情况;S3、根据任务组中各任务所需资源情况,以及可用于执行该任务的Kubernetes节点和节点资源情况,对任务组中各任务进行分组;S5、根据任务和节点分组,进行资源调度。本发明还提供了相应的Kubernetes资源调度装置及电子设备。本发明使集群能有效进行调度,提高了任务调度的成功率。
技术领域
本发明属于云计算技术领域,更具体地,涉及一种Kubernetes资源调度方法、装置与电子设备。
背景技术
关于Kubernetes资源调用方法,目前原生Kubernetes并没有采用组任务资源调用,即针对一项具有多job任务的一组调度任务,多个job之间有相互的依赖关系,Kubernetes会对job进行依次调度,不会进行整体资源分配,可能会出现后续调度的job无法满足调度需要,而由于依赖关系,可以进行调度成功的job会一直处于running状态,占用系统资源,而整体任务会处于阻塞状态。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出一种Kubernetes资源调度方法,采用更加优化的组策略调度算法,尤其针对大批量、一次性作业任务,能使集群能有效进行调度,提高了任务调度的成功率,减少了因任务阻塞而出现的资源占用浪费情况。
为实现上述目的,按照本发明的一个方面,提供了一种Kubernetes资源调度方法,对整体任务与可运行节点进行分组分配,然后进行统一调度,如果调度失败则进行回滚释放资源,调整每个任务所需资源,再进行分组分配。
本发明的一个实施例中,所述方法包括:
S1、获取任务组,判断目前空余资源总和是否满足任务组所需要的整体资源,如不满足则不进行调度,如果满足则进入步骤S2;
S2、获取任务组中各任务所需资源情况,并获取可用于执行该任务的Kubernetes节点和节点资源情况;
S3、根据任务组中各任务所需资源情况,以及可用于执行该任务的Kubernetes节点和节点资源情况,对任务组中各任务进行分组;
S5、根据任务和节点分组,进行资源调度。
本发明的一个实施例中,所述步骤S3包括:
S31、初始化候选任务组列表L,即针对各个节点,可以运行哪些任务;
S32、获取节点可执行任务数量M和job可分配节点数量N;
S33、以节点为目标,选取M最大的节点,如有多个最大,随机取一节点;
S34、针对该节点,从L中选取可执行job,选择N最小的job,如有多个最小,随机取一job;
S35、将该job分配至该节点,删除L中该job,重复S32~S35;
S36、重复S31-S35,直至所有任务分配完毕;
S37、形成最终调度列表,即各任务分配至哪些节点运行。
本发明的一个实施例中,在所述步骤S5中如果调度失败,则执行步骤S6,所述步骤S6包括:
对整体任务组进行回滚,对已分配任务进行删除,并重复步骤S2-S6。
本发明的一个实施例中,所述方法还包括步骤S7,所述步骤S7包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011142760.8/2.html,转载请声明来源钻瓜专利网。