一种资源分配方法、装置、电子设备及存储介质制造方法及图纸

技术编号:31738790 阅读:8 留言:0更新日期:2022-01-05 16:16
本申请涉及一种资源分配方法、装置、电子设备及存储介质,其中,方法包括:在监听到发生任务新增事件的情况下,获取与任务新增事件对应的进行容器化部署的目标任务的任务配置文件;按照任务配置文件中指示的目标任务包含的应用实例的资源占用量,将应用实例预调度到至少一个候选节点中的目标节点上,以使目标节点的可用资源中资源占用量的资源被应用实例预占用;在应用实例均预调度成功的情况下,将应用实例调度到目标节点上。本申请先确定目标任务中的应用实例均可以被预调度之后,才对各个应用实例进行真正的调度,可以有效提高资源的使用效率,并且可以提高由各个候选节点构成的资源池的对任务的吞吐量。资源池的对任务的吞吐量。资源池的对任务的吞吐量。

【技术实现步骤摘要】
一种资源分配方法、装置、电子设备及存储介质


[0001]本申请涉及资源调度
,尤其涉及一种资源分配方法、装置、电子设备及存储介质。

技术介绍

[0002]在Kubernetes(一种容器组管理系统,简称为K8s)中,最基本的运行单元是Pod,Pod中可以包含多个容器,但一般来说,一个Pod中仅仅包含一个容器。
[0003]Kubernetes中的分布式任务是指,一个任务Job(Job指的是一次性任务,通过Job可以并行运行多个容器,当其任务执行完以后,就自动退出,集群也不再重新将其唤醒)中包含了多个Pod,多个Pod分别做运算,再根据某种协议将运算的结果合并。分布式任务可以突破单机性能的限制,让多台机器为整个运算服务,能够加快运算的速度。
[0004]在相关技术中,当用户通过Kubernetes创建了一个Job,且目前资源池中的资源只能够使这个Job下的部分Pod可以被调度并运行,则会造成Job无法启动,且资源池中被该Job已持有的资源无法被其它Job使用的情况;此外,当存在多个待启动的Job,且目前资源池中的资源只能够使其中一个Job下的所有Pod被调度时,会出现每个Job都持有了部分Pod的资源而不释放,导致每个Job都无法启动的情况;进而上述情况均会导致资源的浪费。
[0005]针对相关技术中存在的进行资源分配时出现资源浪费的技术问题,目前尚未提供有效的解决方案。

技术实现思路

[0006]为了解决相关技术中进行资源分配时出现资源浪费的技术问题,本申请提供了一种资源分配方法、装置、电子设备及存储介质。
[0007]第一方面,本申请实施例提供了一种资源分配方法,包括:
[0008]在监听到发生任务新增事件的情况下,获取与所述任务新增事件对应的进行容器化部署的目标任务的任务配置文件,其中,所述任务新增事件用于指示对所述目标任务进行资源分配;
[0009]按照所述任务配置文件中指示的所述目标任务包含的应用实例的资源占用量,将所述应用实例预调度到至少一个候选节点中的目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用,其中,所述可用资源的可用资源量大于或者等于所述资源占用量;
[0010]在所述应用实例均预调度成功的情况下,将所述应用实例调度到所述目标节点上,其中,所述预调度成功用于指示在对每个所述应用实例进行预调度之后,每个所述候选节点的剩余资源的资源量大于等于0。
[0011]可选地,如前述的方法,在所述获取与所述任务新增事件对应的进行容器化部署的目标任务的任务配置文件之前,所述方法还包括:
[0012]获取由目标对象创建的所述任务配置文件;
[0013]将所述任务配置文件存储至目标数据库中,其中,所述任务新增事件为将所述任务配置文件存储至所述目标数据库中。
[0014]可选地,如前述的方法,所述获取与所述任务新增事件对应的目标任务的任务配置文件包括:
[0015]从所述目标数据库中获取与所述任务新增事件对应的所述任务配置文件。
[0016]可选地,如前述的方法,所述应用实例的数量为多个,且所述候选节点的数量为多个;
[0017]所述按照所述任务配置文件中指示的所述目标任务包含的应用实例的资源占用量,将所述应用实例预调度到至少一个候选节点中的目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用包括:
[0018]在各个所述候选节点的所述可用资源量之和大于或等于各个所述应用实例的所述资源占用量之和的情况下,依次将多个所述应用实例预调度到多个所述候选节点中的至少一个所述目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用,其中,一个所述应用实例调度到一个所述目标节点上。
[0019]可选地,如前述的方法,所述按照每个所述应用实例的资源占用量以及所述目标节点的可用资源量,依次将多个所述应用实例预调度到多个所述候选节点中的至少一个所述目标节点上,包括:
[0020]按照每个所述应用实例对应的调度次序,确定当前待处理的目标应用实例;
[0021]确定所述目标应用实例预调度到的第一目标节点,其中,所述第一目标节点为多个所述候选节点中,可用资源量大于所述目标应用实例的资源占用量,且可用资源量最少的节点;
[0022]将所述目标应用实例预调度到所述第一目标节点上。
[0023]可选地,如前述的方法,在所述将所述目标应用实例预调度到所述第一目标节点上之后,所述方法还包括:
[0024]使用所述第一目标节点的可用资源量与所述目标应用实例的资源占用量的差值,对所述第一目标节点的可用资源量进行更新。
[0025]可选地,如前述的方法,在所述将所述应用实例调度到所述目标节点上之前,所述方法还包括:
[0026]将所述应用实例与目标节点之间的对应关系存储至目标存储系统中,以使所述目标节点在监听到自身被绑定有所述应用实例之后,根据所述应用实例创建目标容器,并启动所述目标容器运行所述应用实例。
[0027]第二方面,本申请实施例提供了一种资源分配装置,包括:
[0028]文件获取模块,用于在监听到发生任务新增事件的情况下,获取与所述任务新增事件对应的进行容器化部署的目标任务的任务配置文件,其中,所述任务新增事件用于指示对所述目标任务进行资源分配;
[0029]预调度模块,用于按照所述任务配置文件中指示的所述目标任务包含的应用实例的资源占用量,将所述应用实例预调度到至少一个候选节点中的目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用,其中,所述可用资源的可用资源量大于或者等于所述资源占用量;
[0030]调度确定模块,用于在所述应用实例均预调度成功的情况下,将所述应用实例调度到所述目标节点上,其中,所述预调度成功用于指示在对每个所述应用实例进行预调度之后,每个所述候选节点的剩余资源的资源量大于等于0。
[0031]第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
[0032]所述存储器,用于存放计算机程序;
[0033]所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的方法。
[0034]第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法。
[0035]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0036]本申请实施例提供的该方法,通过先确定目标任务中的应用实例均可以被预调度之后,才对各个应用实例进行真正的调度,可以避免在直接对应用实例进行调度时,因为当前候选节点无法向目标任务提供足够资源,导致目标任务中某些应用实例无法被调度,因而目标任务无法被执行的情况,同时,由于目标任务中已被调度的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源分配方法,其特征在于,包括:在监听到发生任务新增事件的情况下,获取与所述任务新增事件对应的进行容器化部署的目标任务的任务配置文件,其中,所述任务新增事件用于指示对所述目标任务进行资源分配;按照所述任务配置文件中指示的所述目标任务包含的应用实例的资源占用量,将所述应用实例预调度到至少一个候选节点中的目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用,其中,所述可用资源的可用资源量大于或者等于所述资源占用量;在所述应用实例均预调度成功的情况下,将所述应用实例调度到所述目标节点上,其中,所述预调度成功用于指示在对每个所述应用实例进行预调度之后,每个所述候选节点的剩余资源的资源量大于等于0。2.根据权利要求1所述的方法,其特征在于,在所述获取与所述任务新增事件对应的进行容器化部署的目标任务的任务配置文件之前,所述方法还包括:获取由目标对象创建的所述任务配置文件;将所述任务配置文件存储至目标数据库中,其中,所述任务新增事件为将所述任务配置文件存储至所述目标数据库中。3.根据权利要求2所述的方法,其特征在于,所述获取与所述任务新增事件对应的目标任务的任务配置文件包括:从所述目标数据库中获取与所述任务新增事件对应的所述任务配置文件。4.根据权利要求1所述的方法,其特征在于,所述应用实例的数量为多个,且所述候选节点的数量为多个;所述按照所述任务配置文件中指示的所述目标任务包含的应用实例的资源占用量,将所述应用实例预调度到至少一个候选节点中的目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用包括:在各个所述候选节点的所述可用资源量之和大于或等于各个所述应用实例的所述资源占用量之和的情况下,依次将多个所述应用实例预调度到多个所述候选节点中的至少一个所述目标节点上,以使所述目标节点的可用资源中所述资源占用量的资源被所述应用实例预占用,其中,一个所述应用实例调度到一个所述目标节点上。5.根据权利要求4所述的方法,其特征在于,所述依次将多个所述应用实例预调度到多个所述候选节点中的至少一个所述目标节点上,包括:按照每个所述应用实例对应的调度次序,确定当前...

【专利技术属性】
技术研发人员:李灏
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1