CN111813564A - 集群资源管理方法、装置及容器集群管理*** - Google Patents
集群资源管理方法、装置及容器集群管理*** Download PDFInfo
- Publication number
- CN111813564A CN111813564A CN202010950295.4A CN202010950295A CN111813564A CN 111813564 A CN111813564 A CN 111813564A CN 202010950295 A CN202010950295 A CN 202010950295A CN 111813564 A CN111813564 A CN 111813564A
- Authority
- CN
- China
- Prior art keywords
- resource
- resources
- extended
- task
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开关于一种集群资源管理方法、装置及容器集群管理***,涉及计算机技术领域,其中,方法包括:获取集群中的可调用固定资源和可调用扩展资源;确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级;接收待处理任务的资源调用请求,其中,所述资源调用请求包括:待调用资源的优先级;根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源。由此,实现了对集群中未被当前任务调用的资源以及被调用但未被使用的冗余资源的管理和分配,提高了集群资源的利用率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种集群资源管理方法、装置及容器集群管理***。
背景技术
随着云计算技术的不断成熟,容器技术逐步成为业界的发展热点,被广泛应用到信息产业的各个领域中,容器集群管理***(Kubernetes,简称k8s)的监控和管理的需求也就越来越大。k8s***作为容器应用的管理中心,对集群内部的所有的容器的生命周期进行管理,并结合自身的存活健康和就绪检查以及错误恢复机制,实现了集群容器的应用层的高可用。
相关技术中,在利用k8s***进行集群资源管理时,通常利用调度器实现集群资源的调度,然而,调度器只关心集群中可分配的资源,以及所有任务请求的资源,而不关心各资源的实际使用情况,这就导致了某些被请求的集群资源实际没有被使用时,调度器也不会将这些集群资源调度给其它任务使用,因此,这种集群资源管理方法的集群资源利用率低。
发明内容
本公开提供一种集群资源管理方法、装置及容器集群管理***,以至少解决相关技术中的通过调度器实现集群资源调度的集群资源管理方法,存在的集群资源利用率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种集群资源管理方法,包括获取集群中的可调用固定资源和可调用扩展资源,其中,所述可调用固定资源为所述集群中的总固定资源中未被调用的固定资源;所述可调用扩展资源为所述集群中的总扩展资源中未被调用的扩展资源,所述总扩展资源为所述总固定资源中未被使用的固定资源;确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级;接收待处理任务的资源调用请求,其中,所述资源调用请求包括:待调用资源的优先级;根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源。
在一种可能的实现形式中,所述获取集群中的可调用固定资源和可调用扩展资源,包括:获取所述集群中的总固定资源、固定资源调用情况以及固定资源使用情况;根据所述总固定资源以及所述固定资源调用情况,确定所述集群中的所述可调用固定资源;根据所述总固定资源以及所述固定资源使用情况,确定所述集群中的总扩展资源;获取扩展资源调用情况,并根据所述总扩展资源以及所述扩展资源调用情况,确定所述集群中的所述可调用扩展资源。
在另一种可能的实现形式中,所述根据所述总扩展资源以及所述扩展资源调用情况,确定所述集群中的所述可调用扩展资源,包括:根据所述扩展资源调用情况确定已调用扩展资源;根据所述总扩展资源以及所述已调用扩展资源,确定所述集群中的所述可调用扩展资源。
在另一种可能的实现形式中,所述确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级,包括:为所述可调用固定资源分配第一优先级;为所述可调用扩展资源分配第二优先级,其中,所述第一优先级高于所述第二优先级。
在另一种可能的实现形式中,所述根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源,包括:根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,判断所述待调用资源的优先级与所述可调用固定资源的优先级是否相同,以及所述待调用资源的优先级与所述可调用扩展资源的优先级是否相同;在所述待调用资源的优先级与所述可调用固定资源的优先级相同时,为所述待处理任务分配所述可调用固定资源;在所述待调用资源的优先级与所述可调用扩展资源的优先级相同时,为所述待处理任务分配所述可调用扩展资源。
在另一种可能的实现形式中,所述资源调用请求还包括:需求类型以及需求资源量;所述为所述待处理任务分配所述可调用扩展资源,包括:判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用扩展资源;在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用扩展资源。
在另一种可能的实现形式中,所述资源调用请求还包括:需求类型以及需求资源量;所述为所述待处理任务分配所述可调用固定资源,包括:判断所述可调用固定资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;在所述可调用固定资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用固定资源。
在另一种可能的实现形式中,所述为所述待处理任务分配所述可调用固定资源,还包括:在所述可调用固定资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用固定资源。
在另一种可能的实现形式中,所述为所述待处理任务分配所述可调用固定资源,还包括:在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,获取使用所述需求类型的扩展资源的第一任务;对所述第一任务所使用的所述需求类型的扩展资源进行限制,或者终止所述第一任务的执行以释放所述需求类型的扩展资源,直至所述可调用扩展资源中所述需求类型对应的资源量大于等于所述需求资源量。
在另一种可能的实现形式中,所述可调用扩展资源中包括:至少一个类型的扩展资源;所述的方法,还包括:判断所述可调用扩展资源中各个类型对应的资源量是否小于预设资源量阈值;在存在对应的资源量小于所述预设资源量阈值的第一类型时,获取使用所述第一类型的扩展资源的第二任务;对所述第二任务所使用的所述第一类型的扩展资源进行限制,或者终止所述第二任务的执行以释放所述第一类型的扩展资源,直至所述可调用扩展资源中所述第一类型对应的资源量大于等于所述预设资源量阈值。
在另一种可能的实现形式中,所述对所述第二任务所使用的所述第一类型的扩展资源进行限制,或者终止所述第二任务的执行以释放所述第一类型的扩展资源,包括:判断所述第一类型的扩展资源是否为可压缩资源;在所述第一类型的扩展资源为可压缩资源时,对所述第二任务所使用的所述第一类型的扩展资源进行限制;在所述第一类型的扩展资源为非可压缩资源时,终止所述第二任务的执行以释放所述第一类型的扩展资源。
根据本公开实施例的第二方面,提供一种集群资源管理装置,包括第一获取模块,被配置为执行获取集群中的可调用固定资源和可调用扩展资源,其中,所述可调用固定资源为所述集群中的总固定资源中未被调用的固定资源;所述可调用扩展资源为所述集群中的总扩展资源中未被调用的扩展资源,所述总扩展资源为所述总固定资源中未被使用的固定资源;确定模块,被配置为执行确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级;接收模块,被配置为执行接收待处理任务的资源调用请求,其中,所述资源调用请求包括:待调用资源的优先级;分配模块,被配置为执行根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源。
在一种可能的实现形式中,所述第一获取模块,包括:第一获取单元,被配置为执行获取所述集群中的总固定资源、固定资源调用情况以及固定资源使用情况;第一确定单元,被配置为执行根据所述总固定资源以及所述固定资源调用情况,确定所述集群中的所述可调用固定资源;第二确定单元,被配置为执行根据所述总固定资源以及所述固定资源使用情况,确定所述集群中的总扩展资源;第二获取单元,被配置为执行获取扩展资源调用情况;第三确定单元,被配置为执行根据所述总扩展资源以及所述扩展资源调用情况,确定所述集群中的所述可调用扩展资源。
在另一种可能的实现形式中,所述第三确定单元,具体被配置为执行:根据所述扩展资源调用情况确定已调用扩展资源;根据所述总扩展资源以及所述已调用扩展资源,确定所述集群中的所述可调用扩展资源。
在另一种可能的实现形式中,所述确定模块,包括:第一分配单元,被配置为执行为所述可调用固定资源分配第一优先级;第二分配单元,被配置为执行为所述可调用扩展资源分配第二优先级,其中,所述第一优先级高于所述第二优先级。
在另一种可能的实现形式中,所述分配模块,包括:第一判断单元,被配置为执行根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,判断所述待调用资源的优先级与所述可调用固定资源的优先级是否相同,以及所述待调用资源的优先级与所述可调用扩展资源的优先级是否相同;第三分配单元,被配置为执行在所述待调用资源的优先级与所述可调用固定资源的优先级相同时,为所述待处理任务分配所述可调用固定资源;第四分配单元,被配置为执行在所述待调用资源的优先级与所述可调用扩展资源的优先级相同时,为所述待处理任务分配所述可调用扩展资源。
在另一种可能的实现形式中,所述资源调用请求还包括:需求类型以及需求资源量;所述第四分配单元,具体被配置为执行:判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用扩展资源;在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用扩展资源。
在另一种可能的实现形式中,所述资源调用请求还包括:需求类型以及需求资源量;所述第三分配单元,具体被配置为执行:判断所述可调用固定资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;在所述可调用固定资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用固定资源。
在另一种可能的实现形式中,所述第三分配单元,还被配置为执行:在所述可调用固定资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用固定资源。
在另一种可能的实现形式中,所述第三分配单元,还被配置为执行:在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,获取使用所述需求类型的扩展资源的第一任务;对所述第一任务所使用的所述需求类型的扩展资源进行限制,或者终止所述第一任务的执行以释放所述需求类型的扩展资源,直至所述可调用扩展资源中所述需求类型对应的资源量大于等于所述需求资源量。
在另一种可能的实现形式中,所述可调用扩展资源中包括:至少一个类型的扩展资源;所述装置,还包括:判断模块,被配置为执行判断所述可调用扩展资源中各个类型对应的资源量是否小于预设资源量阈值;第二获取模块,被配置为执行在存在对应的资源量小于所述预设资源量阈值的第一类型时,获取使用所述第一类型的扩展资源的第二任务;处理模块,被配置为执行对所述第二任务所使用的所述第一类型的扩展资源进行限制,或者终止所述第二任务的执行以释放所述第一类型的扩展资源,直至所述可调用扩展资源中所述第一类型对应的资源量大于等于所述预设资源量阈值。
在另一种可能的实现形式中,所述处理模块,包括:第二判断单元,被配置为执行判断所述第一类型的扩展资源是否为可压缩资源;限制单元,被配置为执行在所述第一类型的扩展资源为可压缩资源时,对所述第二任务所使用的所述第一类型的扩展资源进行限制;终止单元,被配置为执行在所述第一类型的扩展资源为非可压缩资源时,终止所述第二任务的执行以释放所述第一类型的扩展资源。
根据本公开实施例的第三方面,提供一种容器集群管理***,包括至少一个服务器;其中,所述至少一个服务器中包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如前所述的集群资源管理方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由容器集群管理***中至少一个服务器的处理器执行时,使得所述至少一个服务器能够执行如前所述的集群资源管理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序由容器集群管理***中至少一个服务器的处理器执行时,使得所述至少一个服务器能够执行如前所述的集群资源管理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过获取集群中的可调用固定资源和可调用扩展资源,然后确定可调用固定资源的优先级和可调用扩展资源的优先级,在接收到包括待调用资源的优先级的待处理任务的资源调用请求后,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源,实现了对集群中未被当前任务调用的资源以及被调用但未被使用的冗余资源的管理和分配,提高了集群资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种集群资源管理方法的流程图。
图2是根据一示例性实施例示出的另一种集群资源管理方法的流程图。
图3是根据一示例性实施例示出的另一种集群资源管理方法的流程图。
图4是根据一示例性实施例示出的另一种集群资源管理方法的流程图。
图5是根据一示例性实施例示出的另一种集群资源管理方法的流程图。
图6是根据一示例性实施例示出的另一种集群资源管理方法的流程图。
图7是根据一示例性实施例示出的另一种集群资源管理方法的流程图。
图8是根据一示例性实施例示出的一种集群资源管理装置的框图。
图9是根据一示例性实施例示出的另一种集群资源管理装置的框图。
图10是根据一示例性实施例示出的一种容器集群管理***中服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
目前,随着云计算技术的不断成熟,容器技术逐步成为业界的发展热点,被广泛应用到信息产业的各个领域中,容器集群管理***的监控和管理的需求也就越来越大。k8s***作为容器应用的管理中心,对集群内部的所有的容器的生命周期进行管理,结合自身的存活健康和就绪检查以及错误恢复机制,实现了集群容器的应用层的高可用。
相关技术中,在利用k8s***进行集群资源管理时,通常利用调度器实现集群资源的调度,然而,调度器只关心集群中可分配的资源,以及所有任务请求的资源,而不关心各资源的实际使用情况,这就导致了某些被请求的集群资源没有被使用时,调度器也不会将这些集群资源调度给其它任务使用,因此,这种集群资源管理方法的集群资源利用率低。
本申请各实施例针对上述问题,提出一种集群资源管理方法,该方法可以应用于k8s***中,充分挖掘集群中的被调用但是未被使用的冗余资源并对这些资源进行管理,从而提高了集群资源的利用率。
图1是根据一示例性实施例示出的一种集群资源管理方法的流程图,如图1所示,集群资源管理方法用于k8s***中,包括以下步骤。
在步骤101中,获取集群中的可调用固定资源和可调用扩展资源。
可以理解的是,集群中的资源,可以包括可压缩资源和非可压缩资源。其中,可压缩资源,为可以被限制和被回收的资源,例如CPU(Central Processing Unit,中央处理器)等;非可压缩资源,为不能限制和被回收的资源,例如内存、磁盘空间等。
在本公开实施例中,可以将集群中当前的可调用资源划分为可调用固定资源和可调用扩展资源。需要说明的是,可调用固定资源和可调用扩展资源,每种资源均可以包括可压缩资源和非可压缩资源,即可调用固定资源可以包括CPU资源、内存、磁盘空间等资源,可调用扩展资源,也可以包括CPU资源、内存、磁盘空间等资源。本公开实施例仅以CPU资源为例进行说明。
其中,可调用固定资源,包括集群中的总固定资源中当前未被调用的固定资源。其中,总固定资源,为集群中的总的可用资源,例如,集群共包括100核CPU资源,则总固定资源包括100核CPU资源。
举例来说,假设集群中共包括100核CPU资源,当前正在执行的任务A调用了50核CPU资源,即总固定资源中当前未被调用的CPU资源为100-50=50核,则可调用固定资源包括当前未被调用的50核CPU资源。
可以理解的是,某些集群资源被调用后,可能实际并未被使用,即存在一定的资源冗余,本公开实施例中,可以将这些冗余资源挖掘出来进行使用,以提升集群资源利用率。为了实现对集群中未被使用的资源进行管理和分配,本公开实施例中,将总固定资源中未被使用的固定资源,称为总扩展资源,将总扩展资源中未被调用的扩展资源即当前可以被分配的资源称为可调用扩展资源。
举例来说,继续上述示例,假设任务A调用了总固定资源中的50核CPU资源后,实际仅使用了20核,即总固定资源中实际仅20核CPU资源被使用,则总扩展资源包括总固定资源中实际未被使用的80核CPU资源。若总扩展资源包括的CPU资源未被除任务A外的其它任务调用,即当前可以被分配的CPU资源为80核,则可调用扩展资源包括80核CPU资源。
在示例性实施例中,可以在k8s***中自定义一个reporter通讯模块,通过reporter通讯模块读取CPU、内存等的调用情况及实际使用情况,进而确定可调用固定资源及可调用扩展资源。另外,在读取CPU、内存等的调用情况及实际使用情况后,可以利用k8s***内置的Extended Resource扩展资源模块,对这些调用情况及实际使用情况进行记录,以使k8s***根据记录的信息对集群资源进行管理。
需要说明的是,在本公开实施例中,还可以利用k8s***内置的Device Plugin设备插件,对集群中的资源进行更细粒度的划分,例如,将0.1核CPU资源划分为一个block资源块,或者,将128M内存划分为一个资源块,从而能够实现更细粒度的资源管理及分配。
在步骤102中,确定可调用固定资源的优先级和可调用扩展资源的优先级。
在步骤103中,接收待处理任务的资源调用请求,其中,资源调用请求包括:待调用资源的优先级。
其中,待调用资源,即为待处理任务所要请求的资源,其可以仅包括CPU等可压缩资源,或者仅包括内存、磁盘空间等非可压缩资源,或者包括CPU等可压缩资源以及内存、磁盘空间等非可压缩资源,本公开对此不作限制。
在步骤104中,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源。
需要说明的是,步骤102和步骤103可以同时执行,也可以先执行步骤102,再执行步骤103,或者先执行步骤103再执行步骤102,本申请对步骤102和步骤103的执行顺序不作限制,只需在步骤104之前执行即可。
可以理解的是,本公开实施例中,可以将总固定资源中未被使用的资源即总扩展资源中的扩展资源分配给其它任务使用。举例来说,假设集群中共包括100核CPU资源,任务A调用了50核,实际使用了20核,即总固定资源中存在80核未被使用的CPU资源,则在任务B需要使用例如70核CPU资源时,可以将总固定资源中这些当前未被使用的总扩展资源中的部分扩展资源分配给任务B使用。
但是,由于总扩展资源中包括已经被任务A调用但未使用的冗余资源,一旦任务A需要使用其已调用的资源,则即使已将任务A调用后但实际未使用的冗余资源分配给任务B,为了保证任务A的正常执行,也需要将分配给任务B的冗余资源回收并分配给任务A使用。也就是说,总扩展资源中的扩展资源被分配后存在被回收的可能,因此,总扩展资源存在一定的波动性,质量较差,同样的,可调用扩展资源也存在一定的波动性,质量较差。而可调用固定资源则不存在被分配后被回收的可能,因此,可调用固定资源相比可调用扩展资源,质量较优。
在实际应用中,不同的任务,可能需要请求不同质量的资源。例如,在线任务由于需要任务在执行时不被中断,因此在线任务需要请求质量较优的资源,而离线任务由于可以被中断,因此可以请求质量较差的资源。
那么,本公开实施例中,可以根据可调用固定资源和可调用扩展资源的质量差异,为可调用固定资源和可调用扩展资源分配不同的优先级。在待处理任务请求资源时,可以根据需求,将待调用资源的优先级携带在资源调用请求中,从而k8s***可以根据资源调用请求中包括的待调用资源的优先级,以及可调用固定资源的优先级和可调用扩展资源的优先级,将与待调用资源的优先级相同的可调用固定资源或可调用扩展资源分配给待处理任务。
举例来说,假设为可调用固定资源分配第一优先级,为可调用扩展资源分配第二优先级,待处理任务C发送的资源调用请求中包括的待调用资源的优先级为第一优先级,由于可调用固定资源的优先级与待调用资源的第一优先级相同,则可以为待处理任务C分配可调用固定资源。
由于可调用固定资源和可调用扩展资源均为未被当前正在执行的任务使用的资源,因此,将这些资源分配给待处理任务,不会对当前正在执行的任务造成干扰。另外,通过将集群中当前可调用的资源划分为可调用固定资源和可调用扩展资源,并为不同类型的资源划分不同的优先级,从而根据待处理任务请求的待调用资源的优先级,为待处理任务分配资源,不仅实现了对集群中未被当前任务调用的资源的管理和分配,还能够充分挖掘集群中被调用但未被使用的冗余资源,并对这些冗余资源进行管理和分配,从而使得被调用但是未被使用的冗余资源也能够被其它任务使用,从而提高了集群资源的利用率。
本公开实施例提供的集群资源管理方法,通过获取集群中的可调用固定资源和可调用扩展资源,然后确定可调用固定资源的优先级和可调用扩展资源的优先级,在接收到包括待调用资源的优先级的待处理任务的资源调用请求后,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源,实现了对集群中未被当前任务调用的资源以及被调用但未被使用的冗余资源的管理和分配,提高了集群资源的利用率。
通过上述分析可知,本公开实施例中可以将集群中当前可调用的资源划分为可调用固定资源和可调用扩展资源,并为不同类型的资源划分不同的优先级,从而根据待处理任务请求的待调用资源的优先级,为待处理任务分配资源。下面结合图2,对本公开获取集群中的可调用固定资源和可调用扩展资源的过程进行说明。
图2是根据一示例性实施例示出的另一种集群资源管理方法的流程图,如图2所示,上述步骤101具体可以包括以下步骤。
在步骤201中,获取集群中的总固定资源、固定资源调用情况以及固定资源使用情况。
在步骤202中,根据总固定资源以及固定资源调用情况,确定集群中的可调用固定资源。
需要说明的是,总固定资源和可调用固定资源,均可以包括可压缩资源和非可压缩资源,即总固定资源和可调用固定资源可以包括CPU资源、内存、磁盘空间等资源。本申请仅以CPU资源为例进行说明。
其中,总固定资源,为集群中的总的可用资源,例如,集群共包括100核CPU资源,则总固定资源包括100核CPU资源。
可调用固定资源,包括集群中的总固定资源中当前未被调用的固定资源。
在示例性实施例中,可以获取集群中的总固定资源,并根据固定资源调用情况,确定集群中的总固定资源中被调用的固定资源,从而将总固定资源中剩余的未被调用的固定资源确定为可调用固定资源。
举例来说,假设集群中共包括100核CPU资源,即总固定资源包括100核CPU资源,当前正在执行的任务A调用了50核,当前正在执行的任务D调用了30核,即总固定资源中当前被调用的固定资源为50+30=80核,则根据总固定资源及固定资源调用情况,可以确定集群中的可调用固定资源包括100-80=20核的CPU资源。
在步骤203中,根据总固定资源以及固定资源使用情况,确定集群中的总扩展资源。
可以理解的是,某些集群资源被调用后,可能实际并未被使用,即存在一定的资源冗余,本公开实施例中,可以将这些冗余资源挖掘出来进行使用,以提升集群资源利用率。为了实现对集群中未被使用的资源进行管理和分配,本公开实施例中,可以将总固定资源中未被使用的资源,称为总扩展资源。
在示例性实施例中,可以获取总固定资源以及固定资源使用情况,从而将总固定资源中未被使用的固定资源确定为集群中的总扩展资源。
举例来说,假设集群中共包括100核CPU资源,当前正在执行的任务A调用了50核后,实际仅使用了20核,当前正在执行的任务D调用了30核,实际仅使用了10核,即总固定资源包括100核CPU资源,其中被使用了20+10=30核,则根据总固定资源包括的CPU资源以及固定资源包括的CPU资源的使用情况,可以确定总扩展资源包括100-30=70核的CPU资源。
在示例性实施例中,也可以通过其它方式,确定集群中的总扩展资源。
比如,可以先根据总固定资源、固定资源调用情况确定集群中的可调用固定资源,然后根据固定资源调用情况以及固定资源使用情况,确定被调用固定资源中实际未被使用的固定资源,进而根据可调用固定资源以及被调用固定资源中实际未被使用的固定资源,确定总扩展资源。
举例来说,假设集群中共包括CPU资源100核,当前正在执行的任务A调用了50核后,实际仅使用了20核,当前正在执行的任务D调用了30核,实际仅使用了10核,即总固定资源包括100核CPU资源,其中被调用了50+30=80核,则可调用固定资源包括100-(50+30)=20核CPU资源,被调用固定资源中实际被使用了20+10=30核CPU资源,被调用但是未使用的CPU资源为80-30=50核,根据当前被调用但是未使用的CPU资源以及可调用固定资源包括的CPU资源,可以确定总扩展资源包括50+20=70核CPU资源。
也就是说,总扩展资源包括可调用固定资源以及被调用固定资源中实际未被使用的固定资源的总和。
需要说明的是,本公开提供的确定总扩展资源的方式,仅是示例性说明,在实际应用中,本领域技术人员可以根据实际需要通过其它任意方式确定总扩展资源,本公开对此不作限制。
另外,步骤202和步骤203可以同时执行,也可以先执行步骤202,再执行步骤203,或者先执行步骤203再执行步骤202,本申请对步骤202和步骤203的执行顺序不作限制,只需在步骤201之后执行即可。
在步骤204中,获取扩展资源调用情况,并根据总扩展资源以及扩展资源调用情况,确定集群中的可调用扩展资源。
可以理解的是,本公开实施例中确定的总扩展资源,可以分配给其它任务使用,那么本公开实施例中,可以根据总扩展资源以及扩展资源调用情况,确定集群中的可调用扩展资源。
具体的,可以先根据扩展资源调用情况,确定总扩展资源中已调用的扩展资源,然后将总扩展资源中未被调用的扩展资源确定为集群中的可调用扩展资源。即,步骤204可以通过以下方式实现:
根据扩展资源调用情况确定已调用扩展资源;
根据总扩展资源以及已调用扩展资源,确定集群中的可调用扩展资源。
举例来说,继续上述示例,假设总扩展资源包括70核CPU资源,其中任务E调用了30核,任务F调用了20核,则根据扩展资源调用情况,可以确定已调用扩展资源包括30+20=50核的CPU资源,根据总扩展资源以及已调用扩展资源,可以确定集群中的可调用扩展资源包括70-50=20核的CPU资源。
通过根据总固定资源以及固定资源调用情况,确定集群中的可调用固定资源,即可获取集群中未被当前任务调用的固定资源,通过根据总固定资源以及固定资源使用情况,确定集群中的总扩展资源,进而根据总扩展资源以及扩展资源调用情况,确定集群中的可调用扩展资源,即可充分挖掘集群中被调用但未被使用的冗余资源,为后续对集群中未被调用的资源以及集群中未被使用的资源进行管理和分配,以提高集群资源的利用率奠定了基础。
通过上述分析可知,本公开实施例中,可以确定可调用固定资源的优先级和可调用扩展资源的优先级,并获取待处理任务请求的待调用资源的优先级,从而根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源。下面结合图3,对本公开为待处理任务分配资源的过程进行说明。
图3是根据一示例性实施例示出的另一种集群资源管理方法的流程图,如图3所示,上述步骤104具体可以包括以下步骤。
在步骤301中,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,判断待调用资源的优先级与可调用固定资源的优先级是否相同,以及待调用资源的优先级与可调用扩展资源的优先级是否相同。
在步骤302中,在待调用资源的优先级与可调用固定资源的优先级相同时,为待处理任务分配可调用固定资源。
在步骤303中,在待调用资源的优先级与可调用扩展资源的优先级相同时,为待处理任务分配可调用扩展资源。
在示例性实施例中,可以为可调用固定资源分配第一优先级,为可调用扩展资源分配第二优先级,由于可调用固定资源相比可调用扩展资源的质量较优,可以设置可调用固定资源的优先级高于可调用扩展资源的优先级,即第一优先级高于第二优先级。
在获取待处理任务发送的包括待调用资源的优先级的资源调用请求后,可以判断待调用资源的优先级为第一优先级还是第二优先级,若待调用资源的优先级为第一优先级,则为待处理任务分配具有第一优先级的可调用固定资源,若待调用资源的优先级为第二优先级,则为待处理任务分配具有第二优先级的可调用扩展资源。
需要说明的是,通常,在线任务、计算量较大或者重要程度较高的任务,在执行时不能被中断,因此,这种任务通常需要请求质量较优的资源;而离线任务、计算量较小或者重要程度较低的任务可以被中断,因此这种任务可以请求质量较差的资源。也就是说,请求第一优先级的资源的待处理任务通常为在线任务、计算量较大或者重要程度较高的任务,请求第二优先级的资源的待处理任务通常为离线任务、计算量较小或者重要程度较低的任务。
通过根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,将与待调用资源的优先级相同的可调用固定资源或可调用扩展资源分配给待处理任务,实现了为待处理任务分配其所需的资源,并且,由于可调用固定资源的质量较优,不存在被分配后被回收的可能,因此将质量较优的可调用固定资源分配给待处理任务,可以保证待处理任务执行时不被其它任务干扰,而可调用扩展资源包括被调用后实际未被使用的冗余资源,因此将质量较差的可调用扩展资源分配给待处理任务,可以提高集群资源利用率。
通过上述分析可知,在待调用资源的优先级与可调用扩展资源的优先级相同时,可以为待处理任务分配可调用扩展资源,在实际应用中,待处理任务发送的资源请求中,还可能包括待调用资源的类型例如为CPU资源还是内存资源,以及所请求资源的数量,例如20核CPU资源,或者256M(Mbyte,兆字节)内存,那么,在为待处理任务分配可调用扩展资源时,还需要考虑可调用扩展资源中需求类型对应的资源量是否足够分配给待处理任务。下面结合图4,对本公开为待处理任务分配可调用扩展资源的过程进行说明。
图4是根据一示例性实施例示出的另一种集群资源管理方法的流程图,如图4所示,步骤103中,资源调用请求包括待调用资源的优先级、需求类型以及需求资源量,且待调用资源的优先级与可调用扩展资源的优先级相同时,上述步骤303具体可以包括以下步骤。
在步骤401中,判断可调用扩展资源中需求类型对应的资源量是否大于或者等于需求资源量。
其中,需求类型,可以包括CPU资源、内存资源、磁盘空间资源等类型。
可以理解的是,资源调用请求可以包括任意需求类型的待调用资源的优先级,以及任意需求类型对应的资源需求量。
举例来说,资源调用请求可以包括:第一优先级的20核CPU资源以及256M内存,或者,资源调用请求也可以包括:第二优先级的30核CPU资源以及512M内存。
在步骤402中,在可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量时,为待处理任务分配可调用扩展资源。
在步骤403中,在可调用扩展资源中需求类型对应的资源量小于需求资源量时,拒绝为待处理任务分配可调用扩展资源。
在本公开实施例中,假设为可调用固定资源分配第一优先级,为可调用扩展资源分配第二优先级,若资源调用请求包括:第二优先级的30核CPU资源以及512M内存,即待调用资源的优先级与可调用扩展资源的优先级相同,则可以判断可调用扩展资源中需求类型对应的资源量是否大于或者等于需求资源量,若可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量,即可调用扩展资源中需求类型对应的资源量足够分配给待处理任务,则可以为待处理任务分配可调用扩展资源,若可调用扩展资源中需求类型对应的资源量小于需求资源量,即可调用扩展资源中需求类型对应的资源量不足以分配给待处理任务,则可以拒绝为待处理任务分配可调用扩展资源。
举例来说,假设集群中共包括100核CPU资源以及1024M内存资源,当前正在执行的任务A调用了50核CPU资源以及512M内存资源后,实际仅使用了20核CPU资源以及128M内存资源,当前正在执行的任务D调用了30核CPU资源以及128M内存资源,实际使用了10核CPU资源以及128M内存资源,即总固定资源包括100核CPU资源以及1024M内存资源,其中被调用了50+30=80核的CPU资源,以及512+128=640M的内存资源,可调用固定资源包括20核的CPU资源以及384M的内存资源,总固定资源被使用了20+10=30核CPU资源以及256M内存资源,总扩展资源包括100-30=70核的CPU资源,以及1024-256=768M内存,且总扩展资源未被其它任务调用。
若待处理任务C发送的资源调用请求包括:第二优先级的30核CPU资源以及512M内存资源,由于待调用资源的优先级与可调用扩展资源的优先级相同,即待处理任务C需要请求可调用扩展资源中的30核CPU资源,以及512M的内存资源,则可以判断可调用扩展资源中CPU资源对应的资源量是否大于或者等于CPU资源的需求资源量,以及可调用扩展资源中的内存资源对应的资源量是否大于或者等于内存资源的需求资源量。由于可调用扩展资源中CPU资源对应的资源量为70核,大于CPU资源的需求资源量30核,可调用扩展资源中内存资源对应的资源量为768M,大于内存资源的需求资源量512M,则可以为待处理任务C分配30核CPU资源以及512M内存资源。
若为待处理任务C分配可调用扩展资源后,接收到待处理任务M发送的资源调用请求,其中,包括:第二优先级的50核CPU资源以及512M内存资源。由于待调用资源的优先级与可调用扩展资源的优先级相同,即待处理任务M需要请求可调用扩展资源中的50核CPU资源,以及512M的内存资源,而为待处理任务C分配可调用扩展资源后,可调用扩展资源还包括70-30=40核的CPU资源以及768-512=256M的内存资源,即可调用扩展资源中CPU资源小于CPU资源的需求资源量,且可调用扩展资源中内存资源对应的资源量小于内存资源的需求资源量,则可以拒绝为待处理任务M分配可调用扩展资源。
需要说明的是,在实际应用中,待处理任务发送的资源调用请求中可能包括与可调用扩展资源的优先级相同的多种需求类型以及对应的需求资源量,在本公开实施例中,可以设置可调用扩展资源中任一需求类型对应的资源量小于需求资源量时,即可拒绝为待处理任务分配可调用扩展资源中包括的所有需求类型的资源。
比如,待处理任务发送的资源调用请求中可能包括第二优先级的50核CPU资源以及512M内存资源,若可调用扩展资源中CPU资源小于CPU资源的需求资源量,或者可调用扩展资源中内存资源小于内存资源的需求资源量,则可以拒绝为待处理任务分配可调用扩展资源中的CPU资源以及内存资源,从而避免为待处理任务分配某种需求类型对应的资源后由于待处理任务无法执行而造成资源浪费。
通过上述过程,即可实现在待处理任务所需的待调用资源的优先级与可调用扩展资源的优先级相同时,根据待调用资源的需求类型、需求资源量以及可调用扩展资源中需求类型对应的资源量为待处理任务分配可调用扩展资源,由于可调用扩展资源为总固定资源中未被使用的资源,因此将这些扩展资源分配给待处理任务,不会对当前正在执行的任务造成干扰,且由于将被调用后实际未使用的冗余资源分配给待处理任务使用,从而提高了集群资源利用率。
通过上述分析可知,在待调用资源的优先级与可调用固定资源的优先级相同时,可以为待处理任务分配可调用固定资源,在实际应用中,待处理任务发送的资源请求中,还可能包括待调用资源的类型例如为CPU资源还是内存资源,以及所请求资源的数量,例如20核CPU资源,或者256M内存资源,那么,在为待处理任务分配可调用固定资源时,还需要考虑可调用固定资源中需求类型对应的资源量是否足够分配给待处理任务。下面结合图5,对本公开为待处理任务分配可调用固定资源的过程进行说明。
图5是根据一示例性实施例示出的另一种集群资源管理方法的流程图,如图5所示,步骤103中,资源调用请求包括待调用资源的优先级、需求类型以及需求资源量时,且待调用资源的优先级与可调用固定资源的优先级相同时,上述步骤302具体可以包括以下步骤。
在步骤501中,判断可调用固定资源中需求类型对应的资源量是否大于或者等于需求资源量,若是,则执行步骤502,否则,执行步骤506。
其中,需求类型,可以包括CPU资源、内存资源、磁盘空间资源等类型。
可以理解的是,资源调用请求可以包括任意需求类型的待调用资源的优先级,以及任意需求类型对应的资源需求量。
举例来说,资源调用请求可以包括:第一优先级的20核CPU资源以及256M内存,或者,资源调用请求也可以包括:第二优先级的30核CPU资源以及512M内存。
在本公开实施例中,假设为可调用固定资源分配第一优先级,为可调用扩展资源分配第二优先级,若资源调用请求包括:第一优先级的30核CPU资源以及512M内存,即待调用资源的优先级与可调用固定资源的优先级相同,则可以判断可调用固定资源中需求类型对应的资源量是否大于或者等于需求资源量,以判断可调用固定资源中需求类型对应的资源量是否足够分配给待处理任务,若可调用固定资源中需求类型对应的资源量大于或者等于需求资源量,则可以确定可调用固定资源中需求类型对应的资源量足够分配给待处理任务,以使待处理任务建立任务。
值得注意的是,本公开实施例中,总扩展资源包括可调用固定资源以及被调用实际未被使用的冗余资源,虽然可调用固定资源可能作为总扩展资源中的扩展资源被分配给其它任务使用,但是由于k8s***仅根据总固定资源以及固定资源的调用情况,确定可调用固定资源,因此k8s***确定的可调用固定资源的资源量不受这些资源是否被分配给其它任务使用的影响。也就是说,无论可调用固定资源是否作为总扩展资源中的扩展资源被分配给其它任务,k8s***获取的可调用固定资源的资源量是一定的。
在步骤502中,判断可调用扩展资源中需求类型对应的资源量是否大于或者等于需求资源量,若是,则执行步骤503,否则,执行步骤504。
在步骤503中,为待处理任务分配可调用固定资源。
可以理解的是,可调用固定资源中需求类型对应的资源量大于需求资源量时,虽然可以确定可调用固定资源足够分配给待处理任务,但是由于可调用固定资源可能实际上作为总扩展资源中的扩展资源被分配给了其它需要扩展资源的任务,因此,本公开实施例中,为了为待处理任务分配可调用固定资源,还需要判断可调用扩展资源中需求类型对应的资源量是否大于或者等于需求资源量。
若可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量,则可以确定当前未被任何任务调用的需求类型的资源足够分配给待处理任务,则可以将当前未被任何任务调用的需求类型的资源中满足需求资源量的部分资源分配给待处理任务使用。
举例来说,假设集群中共包括100核CPU资源以及1024M内存资源,当前正在执行的任务A调用了50核CPU资源以及512M内存资源后,实际仅使用了20核CPU资源以及128M内存资源,当前正在执行的任务D调用了30核CPU资源以及128M内存资源后,实际使用了10核CPU资源以及128M内存资源。即总固定资源包括100核CPU资源以及1024M内存资源,其中被调用了50+30=80核的CPU资源,以及512+128=640M的内存资源,可调用固定资源包括20核的CPU资源以及384M的内存资源。总固定资源被使用了20+10=30核CPU资源以及256M内存资源,总扩展资源包括100-30=70核的CPU资源,以及1024-256=768M内存资源,且总扩展资源被任务E调用了10核的CPU资源以及128M内存资源,即可调用扩展资源包括60核CPU资源以及640M内存资源。
若待处理任务C发送的资源调用请求包括:第一优先级的10核CPU资源以及256M内存,由于待调用资源的优先级与可调用固定资源的优先级相同,即待处理任务C需要请求可调用固定资源中的10核CPU资源,以及256M的内存资源,则可以先判断可调用固定资源中CPU资源对应的资源量是否大于CPU资源的需求资源量,以及可调用固定资源中内存资源对应的资源量是否大于内存资源的需求资源量。由于此时可调用固定资源中CPU资源对应的资源量为20核,大于CPU资源的需求资源量10核,可调用固定资源中内存资源对应的资源量为384M,大于内存资源的需求资源量256M,则可以确定可调用固定资源中CPU资源以及内存资源足够分配给待处理任务C,以使待处理任务C建立任务。
进一步的,可以判断可调用扩展资源中CPU资源对应的资源量是否大于CPU资源的需求资源量,以及可调用扩展资源中内存资源对应的资源量是否大于内存资源的需求资源量。由于此时可调用扩展资源中CPU资源对应的资源量为60核,大于CPU资源的需求资源量10核,可调用扩展资源中内存资源对应的资源量为640M,大于内存资源的需求资源量256M,则可以为待处理任务C分配10核CPU资源以及256M内存资源。
由于待处理任务请求的是质量较优的可调用固定资源,不存在被分配后被回收的可能,因此将可调用固定资源分配给待处理任务后,可以保证待处理任务执行时不被其它任务干扰。并且,由于可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量时,分配给待处理任务的资源为当前未被任何任务调用的需求类型的资源,因此不会对当前正在执行的任务造成干扰。
在步骤504中,获取使用需求类型的扩展资源的第一任务。
在步骤505中,对第一任务所使用的需求类型的扩展资源进行限制,或者终止第一任务的执行以释放需求类型的扩展资源,直至可调用扩展资源中需求类型对应的资源量大于等于需求资源量。
具体的,可调用固定资源中需求类型对应的资源量大于需求资源量时,若可调用扩展资源中需求类型对应的资源量小于需求资源量,则可以确定当前未被任何任务调用的需求类型的资源不足以分配给待处理任务。由于扩展资源的质量较差,被分配后存在被回收的可能,而请求可调用扩展资源的任务通常为离线任务、处理量较小或者重要程度较低的任务,而固定资源的质量较优,被分配后不存在被回收的可能,请求可调用固定资源的任务通常为在线任务、处理量较大或者重要程度较高的任务,因此,在待处理任务请求的待调用资源的优先级与可调用固定资源的优先级相同时,即待处理任务为在线任务、处理量较大或者重要程度较高的任务时,为了优先保证待处理任务的正常执行,可以将分配给离线任务、处理量较小或者重要程度较低的任务的需求类型的扩展资源进行回收,再分配给待处理任务。
其中,使用需求类型的扩展资源的第一任务,即为可以对其使用的需求类型的扩展资源进行回收的离线任务、处理量较小或者重要程度较低的任务。
在本公开实施例中,可以对第一任务所使用的需求类型的扩展资源进行回收,直至可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量,即未被任何任务调用的资源足够分配给待处理任务时,则可以将当前未被任何任务调用的需求类型的资源中满足需求资源量的部分资源分配给待处理任务使用。
在示例性实施例中,由于扩展资源可能包括CPU等可压缩资源以及内存等非可压缩资源,对于一个使用可压缩资源的任务来说,可以通过限制该任务使用的可压缩资源的资源量,来回收可压缩资源,但是对于一个使用非可压缩资源的任务来说,则无法通过限制该任务使用的非可压缩资源的资源量,来回收非可压缩资源,只能终止该任务的执行才能释放非可压缩资源。因此,本公开实施例中,可以对第一任务所使用的需求类型的扩展资源进行限制,或者终止第一任务的执行以释放需求类型的扩展资源,直至可调用扩展资源中需求类型对应的资源量大于等于需求资源量,再为待处理任务分配可调用固定资源。
举例来说,继续上述步骤503中的示例,假设为待处理任务C分配可调用固定资源后,接收到待处理任务M发送的资源调用请求,其中,包括第二优先级的45核CPU资源以及256M内存资源,由于待调用资源的优先级与可调用扩展资源的优先级相同,即待处理任务M需要请求可调用扩展资源中的45核CPU资源,以及256M的内存资源,而为待处理任务C分配可调用固定资源后,集群中可调用扩展资源还包括60-10=50核的CPU资源以及640-256=384M的内存资源,即可调用扩展资源中CPU资源大于CPU资源的需求资源量,且可调用扩展资源中内存资源对应的资源量大于内存资源的需求资源量,则可以为任务M分配45核的CPU资源以及256M的内存资源。此时,集群中的可调用固定资源包括10核的CPU资源以及128M的内存资源,可调用扩展资源包括5核的CPU资源以及128M的内存资源。
若之后又接收到待处理任务N发送的资源调用请求,其中包括:第一优先级的10核CPU资源以及128M内存资源。由于待调用资源的优先级与可调用固定资源的优先级相同,即待处理任务N需要请求可调用固定资源中的10核CPU资源,以及128M的内存资源,而为待处理任务M分配可调用扩展资源后,集群中的可调用固定资源包括10核的CPU资源以及128M的内存资源,可调用扩展资源包括5核的CPU资源以及128M的内存资源,即可调用固定资源中CPU资源等于CPU资源的需求资源量,且可调用固定资源中内存资源对应的资源量等于内存资源的需求资源量,则可以确定可调用固定资源中CPU资源以及内存资源足够分配给待处理任务N,以使待处理任务N建立任务。而由于可调用扩展资源中CPU资源小于CPU资源的需求资源量,且可调用扩展资源中内存资源对应的资源量等于内存资源的需求资源量,即可调用固定资源中部分CPU资源被分配给了其它需要使用扩展资源的任务,当前未被任何任务调用的CPU资源不足以分配给待处理任务N。此时,可以获取使用扩展资源中CPU资源的第一任务,即本实施例中的任务E和任务M,并对任务E或者任务M使用的扩展资源中的CPU资源进行回收,或者对任务E和任务M使用的扩展资源中的CPU资源均进行回收。由于CPU资源为可压缩资源,则可以限制任务E或者任务M使用的扩展资源的CPU资源的资源量,直至可调用扩展资源中CPU资源对应的资源量大于或者等于10核。然后即可为任务N分配10核CPU资源以及128M内存资源。
通过可调用固定资源中需求类型对应的资源量大于或者等于需求资源量,但可调用扩展资源中需求类型对应的资源量小于需求资源量时,对使用需求类型的扩展资源进行回收后,再为待处理任务分配可调用固定资源,保证了待处理任务为在线任务、处理量较大或者重要程度较高的任务时,待处理任务可以正常执行。并且,由于待处理任务请求的是质量较优的可调用固定资源,不存在被分配后被回收的可能,因此可以保证待处理任务执行时不被其它任务干扰。
在步骤506中,拒绝为待处理任务分配可调用固定资源。
可以理解的是,若可调用固定资源中需求类型对应的资源量小于需求资源量,则可以确定可调用固定资源中需求类型对应的资源量不足以分配给待处理任务,从而可以拒绝为待处理任务分配可调用固定资源。
举例来说,继续上述步骤505中的示例,假设为任务N分配可调用固定资源后,又接收到待处理任务S发送的资源调用请求,其中,包括:第一优先级的10核CPU资源以及128M内存资源。由于待调用资源的优先级与可调用固定资源的优先级相同,即待处理任务S需要请求可调用固定资源中的10核CPU资源,以及128M的内存资源,而为待处理任务N分配可调用扩展资源后,集群中的可调用固定资源包括0核的CPU资源以及0M的内存资源,即可调用固定资源中CPU资源小于CPU资源的需求资源量,可调用固定资源中内存资源小于内存资源的需求资源量,可调用固定资源中CPU资源以及内存资源不足以分配给待处理任务S,从而可以拒绝为待处理任务S分配可调用固定资源。
需要说明的是,在实际应用中,待处理任务发送的资源调用请求中可能包括与可调用固定资源的优先级相同的多种需求类型以及对应的需求资源量,在本公开实施例中,可以设置可调用固定资源中任一需求类型对应的资源量小于需求资源量时,即可拒绝为待处理任务分配可调用固定资源中包括的所有需求类型的资源。
比如,待处理任务发送的资源调用请求中可能包括第一优先级的50核CPU资源以及512M内存资源,若可调用固定资源中CPU资源小于CPU资源的需求资源量,或者可调用固定资源中内存资源小于内存资源的需求资源量,则可以拒绝为待处理任务分配可调用固定资源中的CPU资源以及内存资源,从而避免为待处理任务分配某种需求类型对应的资源后由于待处理任务无法执行而造成资源浪费。
在可调用固定资源中需求类型对应的资源量小于需求资源量时,通过拒绝为待处理任务分配可调用固定资源,保证了当前任务在执行时不被干扰。
通过上述分析可知,本公开实施例中,总扩展资源可以被分配给离线任务、处理量较小的任务或者重要程度较低的任务使用,以提高集群资源的利用率,然而,在一种可能的实现形式中,由于总扩展资源包括可调用固定资源以及被某些任务调用后实际未使用的冗余资源,若将总扩展资源全部分配给离线任务、处理量较小的任务或者重要程度较低的任务,那么在在线任务、处理量较大的任务或者重要程度较高的任务需要使用已调用未使用的固定资源时,则k8s***无法及时为这些任务分配资源。下面针对上述情况,结合图6,对本公开提供的集群资源管理方法进行进一步说明。
图6是根据一示例性实施例示出的另一种集群资源管理方法的流程图,如图6所示,可调用扩展资源中包括至少一个类型的扩展资源时,本公开提供的集群资源管理方法,还可以包括以下步骤。
在步骤601中,判断可调用扩展资源中各个类型对应的资源量是否小于预设资源量阈值。
其中,可调用扩展资源的类型,可以包括CPU资源、内存资源、磁盘空间资源等类型。
可以理解的是,总扩展资源包括可调用固定资源以及被某些任务调用后实际未使用的冗余资源,若将总扩展资源全部分配给离线任务、处理量较小的任务或者重要程度较低的任务,那么在在线任务、处理量较大的任务或者重要程度较高的任务需要使用已调用未使用的固定资源时,则k8s***无法及时为这些任务分配资源。
那么,为了保证在线任务、处理量较大的任务或者重要程度较高的任务需要使用已调用未使用的固定资源时,能够及时使用资源,在示例性实施例中,可以设置总扩展资源中各个类型的资源均预留一定的资源量,预留的资源量不再分配给其它离线任务、处理量较小的任务或者重要程度较低的任务使用;若在线任务、处理量较大的任务或者重要程度较高的任务对已调用的固定资源的使用量增加,则需要回收分配给其他离线任务、处理量较小的任务或者重要程度较低的任务的资源,以使可调用扩展资源中各个类型对应的资源量始终均大于或者等于预设资源量阈值。
其中,预设资源量阈值,可以根据需要设置。例如,集群中调用总固定资源的任务通常为处理量很大且对资源的使用量波动很大的任务时,由于这样的任务对资源的使用量波动很大,那么,可以设置预设资源量阈值较大,以预留较多的资源量,从而使得处理量很大的任务对已调用的固定资源的使用量增加时,能够及时使用资源。相反,若调用总固定资源的任务通常为处理量很小的任务,或者对已调用的固定资源的使用量波动很小,那么,可以设置预设资源量阈值较小,以预留较少的资源量,从而能够将更多的扩展资源分配给离线任务、处理量较小的任务或者重要程度较低的任务使用,以提高集群资源利用率。
在步骤602中,在存在对应的资源量小于预设资源量阈值的第一类型时,获取使用第一类型的扩展资源的第二任务。
在步骤603中,对第二任务所使用的第一类型的扩展资源进行限制,或者终止第二任务的执行以释放第一类型的扩展资源,直至可调用扩展资源中第一类型对应的资源量大于等于预设资源量阈值。
需要说明的是,上述步骤601-603可以在步骤101和步骤102之间执行,也可以在步骤104之后执行,还可以在步骤102和步骤104之间执行,等等,本公开对步骤601-603的执行时机不作限制。图6以步骤601-603在步骤101-102之间执行为例进行示意。
具体的,若可调用扩展资源中存在对应的资源量小于预设资源量阈值的第一类型,表示由于在线任务、处理量较大的任务或者重要程度较高的任务对已调用的固定资源中第一类型的资源的使用量增加,而导致了可调用扩展资源中第一类型的资源量减少,则可以将分配给离线任务、处理量较小或者重要程度不高的任务的第一类型的扩展资源回收,以保证可调用扩展资源中第一类型的扩展资源的资源量大于或者等于预设资源量阈值。
其中,使用第一类型的扩展资源的第二任务,即为可以对其使用的第一类型的扩展资源进行回收的离线任务、处理量较小或者重要程度较低的任务。
在本公开实施例中,可以通过对第二任务所使用的第一类型的扩展资源进行限制,或者终止第二任务的执行以释放第一类型的扩展资源,以对第二任务所使用的第一类型的扩展资源进行回收。
进一步的,通过回收第二任务所使用的第一类型的扩展资源,使得可调用扩展资源中第一类型的扩展资源的资源量大于或者等于预设资源量阈值时,即可进行后续的确定可调用固定资源的优先级和可调用扩展资源的优先级,以及在接收待处理任务的资源调用请求后,根据资源调用请求中包括的待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源的步骤。
通过控制可调用扩展资源中各个类型对应的资源量均大于或者等于预设资源量阈值,使得在线任务、处理量较大的任务或者重要程度较高的任务需要使用已调用未使用的固定资源时,能够及时使用资源,从而保证这些任务的正常执行。
通过上述分析可知,可以通过回收第二任务使用的第一类型的扩展资源,以保证可调用扩展资源中各个类型对应的资源量均大于或者等于预设资源量阈值,下面结合图7,对本公开中对第二任务使用的第一类型的扩展资源进行回收的过程进行说明。
图7是根据一示例性实施例示出的另一种集群资源管理方法的流程图,如图7所示,上述步骤603具体可以包括以下步骤。
在步骤701中,判断第一类型的扩展资源是否为可压缩资源,若是,则执行步骤702,否则,执行步骤703。
在步骤702中,对第二任务所使用的第一类型的扩展资源进行限制。
在步骤703中,终止第二任务的执行以释放第一类型的扩展资源。
可以理解的是,扩展资源可能包括CPU等可压缩资源以及内存等非可压缩资源,对于一个使用可压缩资源的任务来说,可以通过限制该任务使用的可压缩资源的资源量,来回收可压缩资源,但是对于一个使用非可压缩资源的任务来说,则无法通过限制该任务使用的非可压缩资源的资源量,来回收非可压缩资源,只能终止该任务的执行才能释放非可压缩资源。
那么,本公开实施例中,可以对第二任务所使用的第一类型的扩展资源进行限制,或者终止第二任务的执行以释放第一类型的扩展资源,直至可调用扩展资源中第一类型对应的资源量大于等于预设资源量阈值。
在示例性实施例中,若可调用扩展资源中,存在第一类型对应的资源量小于预设资源量阈值,则可以先判断第一类型的扩展资源是否为可压缩资源。若第一类型的扩展资源为可压缩资源,由于可以通过限制第二任务使用的可压缩资源的资源量来回收可压缩资源,那么,本公开实施例中,即可对第二任务所使用的第一类型的扩展资源的资源量进行限制,以回收第一类型的扩展资源。若第一类型的扩展资源为非可压缩资源,由于无法通过限制第二任务使用的非可压缩资源的资源量,来回收非可压缩资源,那么,本公开实施例中,即可终止第二任务的执行以释放第一类型的扩展资源,来回收第一类型的扩展资源。
举例来说,假设总扩展资源包括可压缩资源和非可压缩资源,其中,可压缩资源包括CPU资源,非可压缩资源包括内存资源,假设集群中共包括100核CPU资源以及1024M内存资源,当前正在执行的任务A调用了50核CPU资源以及512M内存资源后,实际仅使用了10核CPU资源以及384M内存资源,即总扩展资源包括90核CPU资源以及640M内存资源,总扩展资源中,30核CPU资源和128M内存资源被分配给了任务S,此时,可调用扩展资源中还包括60核CPU资源以及512M的内存资源。假设CPU资源对应的预设资源量阈值为50核,内存资源对应的预设资源量阈值为512M。
假设任务A对已调用的固定资源中CPU资源的使用量增加了20核,导致可调用扩展资源中还包括40核CPU资源以及512M的内存资源,即可调用扩展资源中CPU资源的资源量小于预设资源量阈值,则可以获取使用扩展资源中CPU资源的任务S,以对任务S所使用的扩展资源中的CPU资源进行回收。由于CPU资源为可压缩资源,从而可以对任务S所使用的扩展资源中CPU资源的资源量进行限制,由于回收10核CPU资源即可使可调用扩展资源中CPU资源的资源量等于预设资源量阈值,则可以限制任务S仅使用30-10=20核CPU资源,由此,即可使得可调用扩展资源中的CPU资源的资源量等于预设资源量阈值。
通过对第二任务使用的第一类型的扩展资源进行限制或者终止第二任务的执行以释放第一类型的扩展资源,实现了对第二任务使用的第一类型的扩展资源的回收,从而保证了可调用扩展资源中第一类型对应的资源量大于或者等于预设资源量阈值。通过控制可调用扩展资源中各个类型对应的资源量均大于或者等于预设资源量阈值,可以使得在线任务、处理量较大的任务或者重要程度较高的任务需要使用已调用未使用的固定资源时,能够及时使用资源,从而保证这些任务的正常执行。
图8是根据一示例性实施例示出的一种集群资源管理装置的框图。参照图8,该装置80包括第一获取模块81,确定模块82、接收模块83和分配模块84。
其中,第一获取模块81,被配置为执行获取集群中的可调用固定资源和可调用扩展资源,其中,可调用固定资源为集群中的总固定资源中未被调用的固定资源;可调用扩展资源为集群中的总扩展资源中未被调用的扩展资源,总扩展资源为总固定资源中未被使用的固定资源;
确定模块82,被配置为执行确定可调用固定资源的优先级和可调用扩展资源的优先级;
接收模块83,被配置为执行接收待处理任务的资源调用请求,其中,资源调用请求包括:待调用资源的优先级;
分配模块84,被配置为执行根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源。
具体的,本公开实施例提供的集群资源管理装置,可以执行前述实施例提供的集群资源管理方法,其中,集群资源管理装置可以配置在k8s***中,以对集群资源进行管理和分配,从而提高集群资源利用率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的集群资源管理装置,通过获取集群中的可调用固定资源和可调用扩展资源,然后确定可调用固定资源的优先级和可调用扩展资源的优先级,在接收到包括待调用资源的优先级的待处理任务的资源调用请求后,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源,实现了对集群中未被当前任务调用的资源以及被调用但未被使用的冗余资源的管理和分配,提高了集群资源的利用率。
图9是根据一示例性实施例示出的另一种集群资源管理装置的框图。参照图9,在图8所示的基础上,第一获取模块81可以包括:
第一获取单元811,被配置为执行获取集群中的总固定资源、固定资源调用情况以及固定资源使用情况;
第一确定单元812,被配置为执行根据总固定资源以及固定资源调用情况,确定集群中的可调用固定资源;
第二确定单元813,被配置为执行根据总固定资源以及固定资源使用情况,确定集群中的总扩展资源;
第二获取单元814,被配置为执行获取扩展资源调用情况;
第三确定单元815,被配置为执行根据总扩展资源以及扩展资源调用情况,确定集群中的可调用扩展资源。
在一种可能的实现形式中,上述第三确定单元815,具体被配置为执行:
根据扩展资源调用情况确定已调用扩展资源;
根据总扩展资源以及已调用扩展资源,确定集群中的可调用扩展资源。
在另外一种可能的实现形式中,上述确定模块82,可以包括:
第一分配单元821,被配置为执行为可调用固定资源分配第一优先级;
第二分配单元822,被配置为执行为可调用扩展资源分配第二优先级,其中,第一优先级高于第二优先级。
在另外一种可能的实现形式中,上述分配模块84,包括:
第一判断单元841,被配置为执行根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,判断待调用资源的优先级与可调用固定资源的优先级是否相同,以及待调用资源的优先级与可调用扩展资源的优先级是否相同;
第三分配单元842,被配置为执行在待调用资源的优先级与可调用固定资源的优先级相同时,为待处理任务分配可调用固定资源;
第四分配单元843,被配置为执行在待调用资源的优先级与可调用扩展资源的优先级相同时,为待处理任务分配可调用扩展资源。
在另外一种可能的实现形式中,上述资源调用请求还包括:需求类型以及需求资源量;
相应的,上述第四分配单元843,具体被配置为执行:
判断可调用扩展资源中需求类型对应的资源量是否大于或者等于需求资源量;
在可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量时,为待处理任务分配可调用扩展资源;
在可调用扩展资源中需求类型对应的资源量小于需求资源量时,拒绝为待处理任务分配可调用扩展资源。
在另外一种可能的实现形式中,上述资源调用请求还包括:需求类型以及需求资源量;
相应的,上述第三分配单元842,具体被配置为执行:
判断可调用固定资源中需求类型对应的资源量是否大于或者等于需求资源量;
在可调用固定资源中需求类型对应的资源量大于或者等于需求资源量时,判断可调用扩展资源中需求类型对应的资源量是否大于或者等于需求资源量;
在可调用扩展资源中需求类型对应的资源量大于或者等于需求资源量时,为待处理任务分配可调用固定资源。
在另外一种可能的实现形式中,上述第三分配单元842,还被配置为执行:
在可调用固定资源中需求类型对应的资源量小于需求资源量时,拒绝为待处理任务分配可调用固定资源。
在另外一种可能的实现形式中,上述第三分配单元842,还被配置为执行:
在可调用扩展资源中需求类型对应的资源量小于需求资源量时,获取使用需求类型的扩展资源的第一任务;
对第一任务所使用的需求类型的扩展资源进行限制,或者终止第一任务的执行以释放需求类型的扩展资源,直至可调用扩展资源中需求类型对应的资源量大于等于需求资源量。
在另外一种可能的实现形式中,可调用扩展资源中可以包括:至少一个类型的扩展资源;
相应的,上述集群资源管理装置80,还可以包括:
判断模块85,被配置为执行判断可调用扩展资源中各个类型对应的资源量是否小于预设资源量阈值;
第二获取模块86,被配置为执行在存在对应的资源量小于预设资源量阈值的第一类型时,获取使用第一类型的扩展资源的第二任务;
处理模块87,被配置为执行对第二任务所使用的第一类型的扩展资源进行限制,或者终止第二任务的执行以释放第一类型的扩展资源,直至可调用扩展资源中第一类型对应的资源量大于等于预设资源量阈值。
在另外一种可能的实现形式中,上述处理模块87,可以包括:
第二判断单元,被配置为执行判断第一类型的扩展资源是否为可压缩资源;
限制单元,被配置为执行在第一类型的扩展资源为可压缩资源时,对第二任务所使用的第一类型的扩展资源进行限制;
终止单元,被配置为执行在第一类型的扩展资源为非可压缩资源时,终止第二任务的执行以释放第一类型的扩展资源。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的集群资源管理装置,通过获取集群中的可调用固定资源和可调用扩展资源,然后确定可调用固定资源的优先级和可调用扩展资源的优先级,在接收到包括待调用资源的优先级的待处理任务的资源调用请求后,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源,实现了对集群中未被当前任务调用的资源以及被调用但未被使用的冗余资源的管理和分配,提高了集群资源的利用率。
图10是根据一示例性实施例示出的一种容器集群管理***中服务器200的框图。
如图10所示,上述容器集群管理***包括至少一个服务器200;其中,至少一个服务器200中包括:
处理器220、用于存储处理器220可执行指令的存储器210;
其中,处理器220被配置为执行所述指令,以实现本公开实施例所述的集群资源管理方法。
在一种可能的实现形式中,服务器200还可以包括连接不同组件(包括存储器210和处理器220)的总线230。
总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
服务器200典型地包括多种电子设备可读介质。这些介质可以是任何能够被服务器200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器210还可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)240和/或高速缓存存储器250。服务器200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***260可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本公开所描述的实施例中的功能和/或方法。
服务器200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该服务器200交互的设备通信,和/或与使得该服务器200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口292进行。并且,服务器200还可以通过网络适配器293与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器293通过总线230与服务器200的其它模块通信。应当明白,尽管图中未示出,可以结合服务器200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器220通过运行存储在存储器210中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的容器集群管理***的实施过程和技术原理参见前述对本公开实施例的集群资源管理方法的解释说明,此处不再赘述。
本公开实施例提供的容器集群管理***,通过获取集群中的可调用固定资源和可调用扩展资源,然后确定可调用固定资源的优先级和可调用扩展资源的优先级,在接收到包括待调用资源的优先级的待处理任务的资源调用请求后,根据待调用资源的优先级、可调用固定资源的优先级和可调用扩展资源的优先级,为待处理任务分配资源,实现了对集群中未被当前任务调用的资源以及被调用但未被使用的冗余资源的管理和分配,提高了集群资源的利用率。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器210,上述指令可由容器集群管理***中至少一个服务器200的处理器220执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序由容器集群管理***中至少一个服务器的处理器执行时,使得所述至少一个服务器能够执行如前所述的集群资源管理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (24)
1.一种集群资源管理方法,其特征在于,包括:
获取集群中的可调用固定资源和可调用扩展资源,其中,所述可调用固定资源为所述集群中的总固定资源中未被调用的固定资源;所述可调用扩展资源为所述集群中的总扩展资源中未被调用的扩展资源,所述总扩展资源为所述总固定资源中未被使用的固定资源;
确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级;
接收待处理任务的资源调用请求,其中,所述资源调用请求包括:待调用资源的优先级;
根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源。
2.如权利要求1所述的集群资源管理方法,其特征在于,所述获取集群中的可调用固定资源和可调用扩展资源,包括:
获取所述集群中的总固定资源、固定资源调用情况以及固定资源使用情况;
根据所述总固定资源以及所述固定资源调用情况,确定所述集群中的所述可调用固定资源;
根据所述总固定资源以及所述固定资源使用情况,确定所述集群中的总扩展资源;
获取扩展资源调用情况,并根据所述总扩展资源以及所述扩展资源调用情况,确定所述集群中的所述可调用扩展资源。
3.如权利要求2所述的集群资源管理方法,其特征在于,所述根据所述总扩展资源以及所述扩展资源调用情况,确定所述集群中的所述可调用扩展资源,包括:
根据所述扩展资源调用情况确定已调用扩展资源;
根据所述总扩展资源以及所述已调用扩展资源,确定所述集群中的所述可调用扩展资源。
4.如权利要求1所述的集群资源管理方法,其特征在于,所述确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级,包括:
为所述可调用固定资源分配第一优先级;
为所述可调用扩展资源分配第二优先级,其中,所述第一优先级高于所述第二优先级。
5.如权利要求1所述的集群资源管理方法,其特征在于,所述根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源,包括:
根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,判断所述待调用资源的优先级与所述可调用固定资源的优先级是否相同,以及所述待调用资源的优先级与所述可调用扩展资源的优先级是否相同;
在所述待调用资源的优先级与所述可调用固定资源的优先级相同时,为所述待处理任务分配所述可调用固定资源;
在所述待调用资源的优先级与所述可调用扩展资源的优先级相同时,为所述待处理任务分配所述可调用扩展资源。
6.如权利要求5所述的集群资源管理方法,其特征在于,所述资源调用请求还包括:需求类型以及需求资源量;
所述为所述待处理任务分配所述可调用扩展资源,包括:
判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;
在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用扩展资源;
在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用扩展资源。
7.如权利要求5所述的集群资源管理方法,其特征在于,所述资源调用请求还包括:需求类型以及需求资源量;
所述为所述待处理任务分配所述可调用固定资源,包括:
判断所述可调用固定资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;
在所述可调用固定资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;
在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用固定资源。
8.如权利要求7所述的集群资源管理方法,其特征在于,所述为所述待处理任务分配所述可调用固定资源,还包括:
在所述可调用固定资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用固定资源。
9.如权利要求7所述的集群资源管理方法,其特征在于,所述为所述待处理任务分配所述可调用固定资源,还包括:
在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,获取使用所述需求类型的扩展资源的第一任务;
对所述第一任务所使用的所述需求类型的扩展资源进行限制,或者终止所述第一任务的执行以释放所述需求类型的扩展资源,直至所述可调用扩展资源中所述需求类型对应的资源量大于等于所述需求资源量。
10.如权利要求1所述的集群资源管理方法,其特征在于,所述可调用扩展资源中包括:至少一个类型的扩展资源;
所述的方法,还包括:
判断所述可调用扩展资源中各个类型对应的资源量是否小于预设资源量阈值;
在存在对应的资源量小于所述预设资源量阈值的第一类型时,获取使用所述第一类型的扩展资源的第二任务;
对所述第二任务所使用的所述第一类型的扩展资源进行限制,或者终止所述第二任务的执行以释放所述第一类型的扩展资源,直至所述可调用扩展资源中所述第一类型对应的资源量大于等于所述预设资源量阈值。
11.如权利要求10所述的集群资源管理方法,其特征在于,所述对所述第二任务所使用的所述第一类型的扩展资源进行限制,或者终止所述第二任务的执行以释放所述第一类型的扩展资源,包括:
判断所述第一类型的扩展资源是否为可压缩资源;
在所述第一类型的扩展资源为可压缩资源时,对所述第二任务所使用的所述第一类型的扩展资源进行限制;
在所述第一类型的扩展资源为非可压缩资源时,终止所述第二任务的执行以释放所述第一类型的扩展资源。
12.一种集群资源管理装置,其特征在于,包括:
第一获取模块,被配置为执行获取集群中的可调用固定资源和可调用扩展资源,其中,所述可调用固定资源为所述集群中的总固定资源中未被调用的固定资源;所述可调用扩展资源为所述集群中的总扩展资源中未被调用的扩展资源,所述总扩展资源为所述总固定资源中未被使用的固定资源;
确定模块,被配置为执行确定所述可调用固定资源的优先级和所述可调用扩展资源的优先级;
接收模块,被配置为执行接收待处理任务的资源调用请求,其中,所述资源调用请求包括:待调用资源的优先级;
分配模块,被配置为执行根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,为所述待处理任务分配资源。
13.如权利要求12所述的集群资源管理装置,其特征在于,所述第一获取模块,包括:
第一获取单元,被配置为执行获取所述集群中的总固定资源、固定资源调用情况以及固定资源使用情况;
第一确定单元,被配置为执行根据所述总固定资源以及所述固定资源调用情况,确定所述集群中的所述可调用固定资源;
第二确定单元,被配置为执行根据所述总固定资源以及所述固定资源使用情况,确定所述集群中的总扩展资源;
第二获取单元,被配置为执行获取扩展资源调用情况;
第三确定单元,被配置为执行根据所述总扩展资源以及所述扩展资源调用情况,确定所述集群中的所述可调用扩展资源。
14.如权利要求13所述的集群资源管理装置,其特征在于,所述第三确定单元,具体被配置为执行:
根据所述扩展资源调用情况确定已调用扩展资源;
根据所述总扩展资源以及所述已调用扩展资源,确定所述集群中的所述可调用扩展资源。
15.如权利要求12所述的集群资源管理装置,其特征在于,所述确定模块,包括:
第一分配单元,被配置为执行为所述可调用固定资源分配第一优先级;
第二分配单元,被配置为执行为所述可调用扩展资源分配第二优先级,其中,所述第一优先级高于所述第二优先级。
16.如权利要求12所述的集群资源管理装置,其特征在于,所述分配模块,包括:
第一判断单元,被配置为执行根据所述待调用资源的优先级、所述可调用固定资源的优先级和所述可调用扩展资源的优先级,判断所述待调用资源的优先级与所述可调用固定资源的优先级是否相同,以及所述待调用资源的优先级与所述可调用扩展资源的优先级是否相同;
第三分配单元,被配置为执行在所述待调用资源的优先级与所述可调用固定资源的优先级相同时,为所述待处理任务分配所述可调用固定资源;
第四分配单元,被配置为执行在所述待调用资源的优先级与所述可调用扩展资源的优先级相同时,为所述待处理任务分配所述可调用扩展资源。
17.如权利要求16所述的集群资源管理装置,其特征在于,所述资源调用请求还包括:需求类型以及需求资源量;
所述第四分配单元,具体被配置为执行:
判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;
在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用扩展资源;
在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用扩展资源。
18.如权利要求16所述的集群资源管理装置,其特征在于,所述资源调用请求还包括:需求类型以及需求资源量;
所述第三分配单元,具体被配置为执行:
判断所述可调用固定资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;
在所述可调用固定资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,判断所述可调用扩展资源中所述需求类型对应的资源量是否大于或者等于所述需求资源量;
在所述可调用扩展资源中所述需求类型对应的资源量大于或者等于所述需求资源量时,为所述待处理任务分配所述可调用固定资源。
19.如权利要求18所述的集群资源管理装置,其特征在于,所述第三分配单元,还被配置为执行:
在所述可调用固定资源中所述需求类型对应的资源量小于所述需求资源量时,拒绝为所述待处理任务分配所述可调用固定资源。
20.如权利要求18所述的集群资源管理装置,其特征在于,所述第三分配单元,还被配置为执行:
在所述可调用扩展资源中所述需求类型对应的资源量小于所述需求资源量时,获取使用所述需求类型的扩展资源的第一任务;
对所述第一任务所使用的所述需求类型的扩展资源进行限制,或者终止所述第一任务的执行以释放所述需求类型的扩展资源,直至所述可调用扩展资源中所述需求类型对应的资源量大于等于所述需求资源量。
21.如权利要求12所述的集群资源管理装置,其特征在于,所述可调用扩展资源中包括:至少一个类型的扩展资源;
所述装置,还包括:
判断模块,被配置为执行判断所述可调用扩展资源中各个类型对应的资源量是否小于预设资源量阈值;
第二获取模块,被配置为执行在存在对应的资源量小于所述预设资源量阈值的第一类型时,获取使用所述第一类型的扩展资源的第二任务;
处理模块,被配置为执行对所述第二任务所使用的所述第一类型的扩展资源进行限制,或者终止所述第二任务的执行以释放所述第一类型的扩展资源,直至所述可调用扩展资源中所述第一类型对应的资源量大于等于所述预设资源量阈值。
22.如权利要求21所述的集群资源管理装置,其特征在于,所述处理模块,包括:
第二判断单元,被配置为执行判断所述第一类型的扩展资源是否为可压缩资源;
限制单元,被配置为执行在所述第一类型的扩展资源为可压缩资源时,对所述第二任务所使用的所述第一类型的扩展资源进行限制;
终止单元,被配置为执行在所述第一类型的扩展资源为非可压缩资源时,终止所述第二任务的执行以释放所述第一类型的扩展资源。
23.一种容器集群管理***,其特征在于,包括至少一个服务器;其中,所述至少一个服务器中包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至11中任一项所述的集群资源管理方法。
24.一种存储介质,当所述存储介质中的指令由容器集群管理***中至少一个服务器的处理器执行时,使得所述至少一个服务器能够执行如权利要求1至11中任一项所述的集群资源管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950295.4A CN111813564B (zh) | 2020-09-11 | 2020-09-11 | 集群资源管理方法、装置及容器集群管理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950295.4A CN111813564B (zh) | 2020-09-11 | 2020-09-11 | 集群资源管理方法、装置及容器集群管理*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813564A true CN111813564A (zh) | 2020-10-23 |
CN111813564B CN111813564B (zh) | 2020-12-18 |
Family
ID=72859235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010950295.4A Active CN111813564B (zh) | 2020-09-11 | 2020-09-11 | 集群资源管理方法、装置及容器集群管理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813564B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905334A (zh) * | 2021-02-02 | 2021-06-04 | 深信服科技股份有限公司 | 资源管理方法、装置、电子设备和存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068874A (zh) * | 2015-08-12 | 2015-11-18 | 国家电网公司 | 一种结合Docker技术的资源按需动态分配方法 |
CN105589750A (zh) * | 2015-07-07 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种cpu资源调度方法和服务器 |
CN106293950A (zh) * | 2016-08-23 | 2017-01-04 | 成都卡莱博尔信息技术股份有限公司 | 一种面向集群***的资源优化管理方法 |
CN106569892A (zh) * | 2015-10-08 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 资源调度方法与设备 |
CN107515786A (zh) * | 2017-08-04 | 2017-12-26 | 北京奇虎科技有限公司 | 资源分配方法、主装置、从装置和分布式计算*** |
CN107864211A (zh) * | 2017-11-17 | 2018-03-30 | 中国联合网络通信集团有限公司 | 集群资源调度方法及*** |
US20180191861A1 (en) * | 2017-01-04 | 2018-07-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and Apparatus for Scheduling Resources in a Cloud System |
CN108829509A (zh) * | 2018-05-03 | 2018-11-16 | 山东汇贸电子口岸有限公司 | 基于国产cpu和操作***的分布式容器集群框架资源管理方法 |
CN109189568A (zh) * | 2018-09-04 | 2019-01-11 | 山东浪潮云投信息科技有限公司 | 一种集群资源管理方法及装置 |
CN110990150A (zh) * | 2019-11-15 | 2020-04-10 | 北京浪潮数据技术有限公司 | 容器云平台的租户管理方法、***、电子设备及存储介质 |
CN111475277A (zh) * | 2019-01-23 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种资源分配方法、***、设备及机器可读存储介质 |
CN111580951A (zh) * | 2019-02-15 | 2020-08-25 | 杭州海康威视数字技术股份有限公司 | 一种任务分配方法及资源管理平台 |
CN111625339A (zh) * | 2020-05-28 | 2020-09-04 | 网易有道信息技术(北京)有限公司 | 集群资源调度方法、装置、介质和计算设备 |
-
2020
- 2020-09-11 CN CN202010950295.4A patent/CN111813564B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589750A (zh) * | 2015-07-07 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种cpu资源调度方法和服务器 |
CN105068874A (zh) * | 2015-08-12 | 2015-11-18 | 国家电网公司 | 一种结合Docker技术的资源按需动态分配方法 |
CN106569892A (zh) * | 2015-10-08 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 资源调度方法与设备 |
CN106293950A (zh) * | 2016-08-23 | 2017-01-04 | 成都卡莱博尔信息技术股份有限公司 | 一种面向集群***的资源优化管理方法 |
US20180191861A1 (en) * | 2017-01-04 | 2018-07-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and Apparatus for Scheduling Resources in a Cloud System |
CN107515786A (zh) * | 2017-08-04 | 2017-12-26 | 北京奇虎科技有限公司 | 资源分配方法、主装置、从装置和分布式计算*** |
CN107864211A (zh) * | 2017-11-17 | 2018-03-30 | 中国联合网络通信集团有限公司 | 集群资源调度方法及*** |
CN108829509A (zh) * | 2018-05-03 | 2018-11-16 | 山东汇贸电子口岸有限公司 | 基于国产cpu和操作***的分布式容器集群框架资源管理方法 |
CN109189568A (zh) * | 2018-09-04 | 2019-01-11 | 山东浪潮云投信息科技有限公司 | 一种集群资源管理方法及装置 |
CN111475277A (zh) * | 2019-01-23 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种资源分配方法、***、设备及机器可读存储介质 |
CN111580951A (zh) * | 2019-02-15 | 2020-08-25 | 杭州海康威视数字技术股份有限公司 | 一种任务分配方法及资源管理平台 |
CN110990150A (zh) * | 2019-11-15 | 2020-04-10 | 北京浪潮数据技术有限公司 | 容器云平台的租户管理方法、***、电子设备及存储介质 |
CN111625339A (zh) * | 2020-05-28 | 2020-09-04 | 网易有道信息技术(北京)有限公司 | 集群资源调度方法、装置、介质和计算设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905334A (zh) * | 2021-02-02 | 2021-06-04 | 深信服科技股份有限公司 | 资源管理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111813564B (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199194B (zh) | 基于容器集群的资源调度方法、装置、设备和存储介质 | |
CN110647394B (zh) | 一种资源分配方法、装置及设备 | |
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US7665090B1 (en) | System, method, and computer program product for group scheduling of computer resources | |
US8429666B2 (en) | Computing platform with resource constraint negotiation | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
US20210191751A1 (en) | Method and device for allocating resource in virtualized environment | |
CN112905334A (zh) | 资源管理方法、装置、电子设备和存储介质 | |
US8458719B2 (en) | Storage management in a data processing system | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
CN114625533A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
CN111625339A (zh) | 集群资源调度方法、装置、介质和计算设备 | |
CN111813564B (zh) | 集群资源管理方法、装置及容器集群管理*** | |
CN113010309B (zh) | 集群资源调度方法、装置、存储介质、设备和程序产品 | |
US9563532B1 (en) | Allocation of tasks in large scale computing systems | |
CN112073532B (zh) | 一种资源分配的方法及装置 | |
CN111190719A (zh) | 优化集群资源分配的方法、装置、介质及电子设备 | |
JP2018190355A (ja) | リソース管理方法 | |
US9405470B2 (en) | Data processing system and data processing method | |
CN112114958A (zh) | 资源隔离方法、分布式平台、计算机设备和存储介质 | |
CN114327862B (zh) | 一种内存分配方法、装置、电子设备及存储介质 | |
CN115063282A (zh) | 一种gpu资源调度方法、装置、设备及存储介质 | |
CN113918271A (zh) | 一种资源管理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211015 Address after: 101d1-10, floor 1, building 1, No. 6, Shangdi West Road, Haidian District, Beijing 100085 Patentee after: Beijing Kwai Technology Co.,Ltd. Patentee after: Beijing Dajia Internet Information Technology Co.,Ltd. Address before: 101d1-7, 1st floor, building 1, No. 6, Shangdi West Road, Haidian District, Beijing 100085 Patentee before: Beijing Dajia Internet Information Technology Co.,Ltd. |