CN112559130A - 容器分配方法、装置、电子设备及存储介质 - Google Patents
容器分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112559130A CN112559130A CN202011493023.2A CN202011493023A CN112559130A CN 112559130 A CN112559130 A CN 112559130A CN 202011493023 A CN202011493023 A CN 202011493023A CN 112559130 A CN112559130 A CN 112559130A
- Authority
- CN
- China
- Prior art keywords
- target
- matched
- node
- container
- nodes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012163 sequencing technique Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000013468 resource allocation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101000957299 Homo sapiens Coronin-7 Proteins 0.000 description 1
- 101000800546 Homo sapiens Transcription factor 21 Proteins 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 102100033121 Transcription factor 21 Human genes 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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
-
- 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
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供的容器分配方法、装置、电子设备及存储介质中,电子设备基于最低资源需求,筛选出更多可用于进行匹配的多个待匹配节点,并基于多个待匹配节剩余资源的均衡状况,将多个待匹配节点划分成至少一个优选节点集;并为提供目标资源的优选节点集,分配需求目标资源的待分配容器组。由于一次性将多个待分配节点分配至多个待匹配节点,且目标资源需求较大的待分配容器组,分配至提供目标资源的优先节点集,因此,能够提高分配效率的同时,减少待匹配节点自身资源失衡的情况。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种容器分配方法、装置、电子设备及存储介质。
背景技术
Docker是一个开源的应用容器引擎,让开发者可以将应用以及依赖包打包到一个可移植的容器中,然后发布到任意一个的运行Linux系统的设备上,也可以实现虚拟化。由于容器是完全使用沙箱机制,且具有轻量化、可配额和便携化等优点,因此,容器被广泛应用于数据中心以及云平台等领域。
由于容器的运行需要运行节点提供硬件资源的支持,因此,在容器运行之前,需要为其筛选合适的运行节点。然而,目前的容器分配方式存在效率欠佳等问题。
发明内容
第一方面,本申请实施例提供一种容器分配方法,包括:
获得待分配容器集,所述待分配容器集包含多个待分配容器组;
根据所述待分配容器集确定待匹配节点集,所述待匹配节点集包含的全部待匹配节点满足所述待分配容器集中待分配容器组的最低资源需求;
根据所述待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集;所述优选节点集中的全部待匹配节点分别具有最多目标资源类型的剩余资源;
将多个目标容器分配至多个目标节点,所述目标容器属于所述待分配容器集,所述目标节点属于所述优选节点集,所述目标容器的资源需求对应的资源类型与所述目标节点的目标资源类型一致,且所述目标节点的目标资源类型的剩余资源满足所述目标容器的资源需求。
在一种可能的实现方式中,所述获得待分配容器集的步骤,包括:
根据每个所述待分配容器组的资源需求及资源类型,生成至少一个所述待分配容器集;所述待分配容器集包含的全部待分配容器组具有相同的资源类型,且按照全部所述待分配容器组的资源需求以第一排序信息进行排序。
在一种可能的实现方式中,所述根据所述待分配容器集确定待匹配节点集的步骤,包括:
根据所述第一排序信息确定所述最低资源需求;
根据所述待分配容器组的资源类型、所述最低资源需求、全部节点的剩余资源以及所述全部节点的资源类型,对所述全部节点进行筛选,获得所述待匹配节点集。
在一种可能的实现方式中,所述根据所述待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集的步骤,包括:
根据全部所述待匹配节点的资源类型,确定所述目标资源类型;
当所述待匹配节点的资源类型与所述目标资源类型一致,则将所述待匹配节点划分至与所述目标资源类型匹配的优选节点子集;
将全部所述优选节点子集排序,构成所述优选节点集。
在一种可能的实现方式中,所述将所述待匹配节点划分至与所述目标资源类型匹配的优选节点子集的步骤,包括:
根据每个所述待匹配节点的剩余资源,以第二排序信息对所述优选节点子集包含的待匹配节点进行排序。
在一种可能的实现方式中,所述将多个目标容器分配至多个目标节点的步骤,包括:
根据所述目标容器在第一位置信息中的优先级以及所述待匹配节点在第二位置信息中的优先级,确定每个所述目标容器对应的目标节点;其中,所述第一位置信息表征所述待分配容器集中全部所述待分配容器组的资源需求的优先级顺序,所述第二位置信息表征所述待匹配节点在所述优选节点集中全部所述待匹配节点的剩余资源的优先级顺序;
将每个所述目标容器分配至对应的目标节点。
在一种可能的实现方式中,所述将多个目标容器分配至多个目标节点的步骤,包括:
将多个所述目标容器分配至具有匹配关系的目标节点,所述匹配关系由所述目标节点在第二位置信息中的优先级确定,其中,所述第二位置信息表征所述待匹配节点在所述优选节点集中全部所述待匹配节点的剩余资源的优先级顺序。
在一种可能的实现方式中,所述方法还包括:
当任意一个所述目标容器分配至所述目标节点失败时,则将所述目标容器分配至在所述优选节点集的第三排序信息中优先级大于所述目标节点的节点;所述第三排序信息表征所述优选节点集中全部所述目标节点的优先级顺序。
第二方面,本申请实施例一种容器分配装置,所述容器分配装置包括:
容器模块,用于获得待分配容器集,所述待分配容器集包含多个待分配容器组;
节点模块,用于根据所述待分配容器集确定待匹配节点集,所述待匹配节点集包含的全部待匹配节点满足所述待分配容器集中待分配容器组的最低资源需求;
所述节点模块,还用于根据所述待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集;所述优选节点集中的全部待匹配节点分别具有最多目标资源类型的剩余资源;
分配模块,用于将多个目标容器分配至多个目标节点,所述目标容器属于所述待分配容器集,所述目标节点属于所述优选节点集,所述目标容器的资源需求对应的资源类型与所述目标节点的目标资源类型一致,且所述目标节点的目标资源类型的剩余资源满足所述目标容器的资源需求。
第三方面,本申请实施例一种电子设备,包括处理器以及存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括计算机可执行指令,所述处理器运行所述计算机可执行指令时,实现所述的容器分配方法。
第四方面,本申请实施例一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括计算机可执行指令,所述计算机可执行指令被处理器执行时,实现所述的容器分配方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供的容器分配方法、装置、电子设备及存储介质中,电子设备基于最低资源需求,筛选出更多可用于进行匹配的多个待匹配节点,并基于多个待匹配节剩余资源的均衡状况,将多个待匹配节点划分成至少一个优选节点集;并为提供目标资源的优选节点集,分配需求目标资源的待分配容器组。由于一次性将多个待分配节点分配至多个待匹配节点,且目标资源需求较大的待分配容器组,分配至提供目标资源的优先节点集,因此,能够提高分配效率的同时,减少待匹配节点自身资源失衡的情况。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的kubernetes集群的架构示意图;
图2为本申请实施例提供的电子设备的结构示意图;
图3为本申请实施例提供的容器分配方法的步骤流程示意图之一;
图4为本申请实施例提供的容器分配方法的步骤流程示意图之二;
图5为本申请实施例提供的资源失衡示意图;
图6为本申请实施例提供的排序参考标准示意图;
图7A-图7C为本申请实施例提供待匹配节点分配结果动态示意图;
图8为本申请实施例提供容器分配方法的步骤流程示意图之三;
图9为本申请实施例提供的冲突处理方式示意图;
图10为本申请实施例提供的容器分配装置示意图;
图11为本申请实施例提供的容器分配装置各模块交互流程示意图。
图标:100-客户端;110-容器管理节点;120-运行节点;210-容器分配装置;220-存储器;230-处理器;240-通信装置;300-资源均衡区域;2101-容器模块;2102-节点模块;2103-分配模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
由于本申请涉及计算机领域中的容器,因此,为了便于理解,下面先对本申请涉及与容器相关的管理流程进行说明。其中,kubernetes作为目前广泛应用的容器管理应用,下面以kubernetes集群为例进行示例性说明。
请参照图1,为本申请实施例提供的kubernetes集群的架构示意图。如图1所示,kubernetes集群涉及到客户端100、容器管理节点110以及运行节点120。值得说明的是,在kubernetes集群中,以POD作为最小调度单元,即容器组。其中,一个POD一般包括有至少一个容器。
其中,容器管理节点110中可以运行有用于对POD进行管理的软件功能模块,以包括管理模块、接口服务模块、策略模块、自定义策略模块以及数据管理模块。
运行节点120用于运行分配至该节点的POD,且提供有运行模块以及访问模块。其中,针对分配的POD,运行节点通过运行模块加载并运行该分配的POD,并通过访问模块提供当前节点中POD的运行状况。
用户通过该客户端100访问容器管理节点110,通过容器管理节点110提供的各模块对POD进行管理。例如,用户通过客户端100访问容器管理节点,并提交创建POD的请求。
基于提交创建POD的请求,容器管理节点110通过接口服务模块创建相应的待分配POD,将待分配POD对应的属性信息交由数据管理模块进行维护。
其中,将待分配POD分配至运行节点之前,容器管理节点110通过策略模块或者自定义策略模块所提供的分配策略,为待分配POD确定目标节点;并通过管理模块对运行节点中POD的生命周期进行维护。
上述为待分配POD确定目标节点的相关技术中,容器管理节点110在一个分配周期中,选取一个待分配POD;并根据待分配POD对资源的需求量,从全部运行节点中选取一个最优的目标节点;将待分配POD分配至该目标节点。
由于在一个分配周期中,仅能选取一个最优的运行节点用于分配一个容器,因此,当待分配POD的规模达到一定程度时,需要一个一个进行分配,继而存在分配效率欠佳的问题。
或者,容器管理节点一次选取多个待分配POD,将多个待分配POD作为一组POD组,依次选择最优的目标节点,当且仅当所有的POD都能够确定最优的目标节点时,才能完成一次容器分配。
相对应的,该分配方式中,当POD组中只要有一待分配POD未找到目标节点,则POD组中的其他待分配POD均会分配失败。由于需要满足所有待分配POD对资源的需求条件,因此,容易导致分配失败。
由此可见,相关技术中均是为待分配POD选取最优的一个目标节点用于进行容器的分配。首先,由于每次只选择一个最优的节点用于进行容器分配的目标节点,因此,存在分配效率欠佳的问题;而且待分配POD一旦与目标节点产生冲突,则会导致分配任务失败,继而会导致分配效率进一步降低。其次,每次只能针对一个目标节点进行调度,因此,需要经过较长的时间的调度操作才能使得各运行节点自身的各类型资源趋近于均衡。
因此,为了至少部分地改善上述缺陷,本申请实施例提供一种可能的实现方式,应用于电子设备。该电子设备通过最低资源需求,筛选出更多可用于进行匹配的多个待匹配节点,并基于多个待匹配节点剩余资源的均衡状况,将多个待匹配节点划分成至少一个优选节点集;优先将对目标资源需求较大的待分配POD,分配至提供目标资源的优先节点集;达到提高分配效率的同时,减少待匹配节点自身资源失衡的目的。
其中,该电子设备可以是上述容器管理节点110,还可以是集群中能够与全部节点进行网络通信的任意网络设备。
作为一种可能实现方式,请参照图2所示的该电子设备的结构示意图。如图2所示,该电子设备包括容器分配装置210、存储器220、处理器230以及通信装置240。
该存储器220、处理器230以及通信装置240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。该容器分配装置210包括至少一个可以软件或固件(Firmware)的形式存储于存储器220中或固化在电子设备的操作系统(Operating System,OS)中的软件功能模块。
处理器230用于执行存储器220中存储的可执行模块,例如容器分配装置210所包括的软件功能模块及计算机程序等。其中,该容器分配装置210对应的计算机可执行指令被处理器执行时,实现上述容器分配方法。
其中,该存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器220用于存储程序,该处理器230在接收到执行指令后,执行该程序。该通信装置240用于通过网络收发数据。
该处理器230可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参照图3,为图2所示电子设备运行的容器分配方法的步骤示意图,下面就该方法包括的各个步骤进行详细阐述。如图3所示,该容器分配方法包括:
步骤S101,获得待分配容器集。
其中,待分配容器集包含多个待分配POD。作为一种可能的实现方式,本申请实施例提供一缓存队列,用于缓存待分配POD。电子设备在每一轮分配周期中,从缓存队列选取多个待分配POD。
作为一种可能的实施方式,下面选取5个待分配POD作为示例对本方案进行说明。其中,5个待分配POD分别为待分配POD1、待分配POD2、待分配POD3、待分POD4以及待分配POD5。为例便于描述,下面对上述5个待分配POD分别以P1、P2、P3、P4以及P5进行表示。
然后,电子设备将选取的多个待分配POD按照所需求资源的类型,生成至少一个待分配容器集。其中,就资源的需求而言,不同的待分配容器集可以基于不同类型资源的需求来进行划分。例如,若多个待分配POD按照所需求资源的类型包括CPU资源以及内存资源,则可以基于CPU资源的需求情况将待匹配节点作为一个待分配容器集,将基于内存资源需求情况将待匹配节点作为一个待分配容器集。
步骤S102,根据待分配容器集确定待匹配节点集。
其中,待匹配节点集包含的全部待匹配节点满足待分配容器集中待分配POD的最低资源需求。
应理解的是,容器在待匹配节点集上运行时,需要待匹配节点提供适当的资源(例如,内存资源、CPU资源等)。并且,不同的容器之间,因为所提供服务功能的不同,对硬件资源的需求同样存在差异。
本申请实施例中,基于待分配容器集中各待分配POD对硬件资源的需求,选取最低资源需求作为待匹配节点的筛选标准,对全部节点进行筛选,使得筛选出的待匹配节点中除了包括最优节点,还包括相对于最优节点较为次优的次优节点,因此,为待分配POD提供了更大的可选空间。其中,上述全部节点为所有处于工作状态的运行节点。
同样以上述CPU资源以及内存资源两种资源类型为例,其中,假定上述待分配POD1需要5个CPU以及1000M的内存,表示为P1(5,1000M)。同理,其他待分配POD可以表示为P2(4,256M),P3(3,512M)、P4(2,900M)、P5(1,1024M)。
因此,基于上述P1、P2、P3、P4、P5的资源需求情况,可以确定出最低资源需求为(1,256M)。即该电子设备将所有剩余的CPU资源大于1,且剩余的内存资源大于256M的节点作为待匹配节点。
步骤S103,根据待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集。
其中,优选节点集中的全部待匹配节点分别具有最多目标资源类型的剩余资源。
本申请实施例中,考虑到不同类型的计算机资源之间,需要尽可能的维持相对平衡,以更好地发挥待匹配节点的性能。因此,需要避免某个类型的剩余资源远大于其他类型的剩余资源。例如,CPU剩余30%,而内存剩余70%,CPU的剩余量远远小于内存的剩余量,此时,虽然内存剩余70%,但CPU的剩余量较少,可能会限制待匹配节点的实际性能。
因此,本申请实施例中,基于待匹配节点资源的剩余量,将待匹配节点划分成至少一个优选节点集。
例如,在一种可能的实现方式中,待匹配节点A剩余的所有资源中,CPU剩余最多;待匹配节点B剩余的所有资源中,CPU剩余最多;待匹配节点C剩余的所有资源中,内存剩余最多;待匹配节点D剩余的所有资源中,CPU剩余最多;待匹配节点E剩余的所有资源中,内存剩余最多。
因此,该电子设备可以将待匹配节点A、待匹配节点B以及待匹配节点D作为一个优选节点集;将待匹配节点C与待匹配节点E作为另外一个优选节点集。
步骤S104,将多个目标容器分配至多个目标节点。
其中,目标容器属于待分配容器集,目标节点属于优选节点集,目标容器的资源需求对应的资源类型与目标节点的目标资源类型一致,且目标节点的目标资源类型的剩余资源满足目标容器的资源需求。
由于不同的待分配容器集之间,所需要的目标资源类型不同,因此,本申请实施例中,优先将需求目标资源的待分配POD,分配至提供目标资源的优先节点集。例如,针对以CPU资源为目标资源的待分配容器集,电子设备将其中的待分配POD分配至以CPU资源为目标资源的优选节点集。如此,可以减少待匹配节点出现资源失衡的情况。
因此,通过该容器分配方法的上述步骤,电子设备基于最低资源需求,筛选出更多可用于进行匹配的多个待匹配节点,并基于多个待匹配节剩余资源的均衡状况,将多个待匹配节点划分成至少一个优选节点集;并为提供目标资源的优选节点集,分配需求目标资源的待分配容器组。由于一次性将多个待分配POD分配至多个待匹配节点,且目标资源需求较大的待分配容器组,分配至提供目标资源的优先节点集,因此,能够提高分配效率的同时,减少待匹配节点自身资源失衡的情况。
本申请实施例中,为了便于组织维护待分配容器集中的各待分配POD,电子设备对其进行了相应的排序。因此,请参照图4,上述步骤S101具体包括如下子步骤:
步骤S101-1,根据每个容器组的资源需求及资源类型,生成至少一个待分配容器集。
其中,待分配容器集包含的全部待分配POD具有相同的资源类型,且按照全部待分配POD的资源需求以第一排序信息进行排序。
作为本申请实施例提供的一种可能的实现方式,继续以上述CPU资源以及内存资源两种资源类型进行说明。针对上述P1、P2、P3、P4、P5;假定电子设备以CPU资源为目标资源,将需求量由大到小的顺序作为第一排序信息,对选取的待分配POD进行排序,获得一待分配容器集。排序结果为:
P1->P2->P3->P4->P5;
该排序结果能反映不同的待分配POD对CPU资源的需求情况,即位于排列位置前方的待分配POD,依赖于更多的CPU资源才能正常运行。即P1比P2需要更多的CPU资源。
同理,假定该电子设备以内存资源为目标资源,将需求量由大到小的顺序作为第一排序信息,对选取的待分配POD进行排序,获得一待分配容器集。排序结果为:
P5->P1->P4->P3->P2;
该排序结果能够反映不同的待分配POD对内存资源的需求情况,即排在前方的待分配POD的正常运行,依赖于更多的内存资源。即P5比P1需要更多的内存资源。
基于待分配容器集的排序结果,该电子设备能够确定出最低资源需求,并筛选出待匹配节点集,因此,请继续参照图4,上述步骤S102包括:
步骤S102-1,根据第一排序信息确定最低资源需求。
步骤S102-2,根据容器组的资源类型、最低资源需求、全部节点的剩余资源以及全部节点的资源类型,对全部节点进行筛选,获得待匹配节点集。
即本申请实施例中,该电子设备通过最低资源需求能够筛选出更多可供匹配的待匹配节点。由于待匹配节点越多,满足同一待分配POD的待匹配节点则可能出现冗余,因此,当待分配POD与待匹配节点出现冲突(例如,网络端口冲突)时,可以更换至其他待匹配节点,从而提高将待分配POD分配成功的概率。
另外,在一些可能的实施方式中,为了减少待匹配节点出现资源失衡的情况,即出现一些种类的资源剩余的较多,一些种类的资源剩余较少,该电子设备将筛选出的待匹配节点按照资源均衡情况进行了划分,生成至少一个优选节点集,因此,请继续参照图4,上述步骤S103可以包括以下子步骤:
步骤S103-1,根据全部待匹配节点的资源类型,确定目标资源类型。
同样以上述CPU资源以及内存资源两种资源类型为例。电子设备依次选取CPU资源、内存资源作为目标资源类型,将待匹配节点的资源类型与之进行匹配。
步骤S103-2,当待匹配节点的资源类型与目标资源类型一致,则将待匹配节点划分至与目标资源类型匹配的优选节点子集。
步骤S103-3,将全部优选节点子集排序,构成优选节点集。
为了便于清楚地阐述优选节点集,下面继续以上述CPU资源以及内存资源为例,结合图5对资源失衡进行解释说明。图如5所示的坐标系统中,纵坐标表示内存分配率,横坐标表示CPU分配率。图中的A、B、C、D、E分别表示不同待匹配节点,其中,A、B、C、D、E在图中的显示位置基于各自CPU资源的分配率以及内存资源的分配率确定。
如图5所示的二维空间中,存在一资源均衡区域300。即位于该资源均衡区域300中的待匹配节点处于资源均衡状态,具体表现为CPU资源的使用与内存资源的分配率较为接近,两者之间的差值小于特定的阈值。
因此,如图5所示,A、C、D位于资源均衡区域300的上方,表征A、C、D的内存分配率高于CPU资源的分配率,即待匹配节点A、C、D处于CPU资源失衡。因此,电子设备以CPU资源为目标资源,将A、C、D划分至与CPU资源失衡相对应的优选节点集。若想要A、C、D达到均衡状态,需要分配对CPU资源需求较多的待分配节点。
同理,B、E位于资源均衡区域300的下方,表征B、E的CPU分配率高于内存分配率,即待匹配节点B、E处于内存资源失衡。因此,电子设备以CPU资源为目标资源,将B、E划分至与内存资源失衡相对应的优选节点集。若想要B、E达到均衡状态,需要分配对内存资源需求较多的待分配节点。
另外,值得说明的是,图5为上述示例中,以CPU资源以及内存资源提供一个二维空间区域,可以想见,对于其他资源类型,同样可以构建类似上述图5所示的二维空间区域,亦或多维空间区域。因此,上述资源类型不仅限于CPU资源以及内存资源,还可以包括GPU资源、磁盘资源以及网络资源等。本领域技术人员可以根据需求进行适应性调整,其基于本申请实施例并不需要做出创造性的贡献。
本申请实施例中,为了建立多个待分配POD与多个待匹配节点之间的对应关系,使得一次性将多个待分配POD分配多个待匹配节点,以达到提高分配效率的同时,均衡各待匹配节点之间的负载。电子设备根据每个待匹配节点的剩余资源,以第二排序信息对优选节点子集包含的待匹配节点进行排序。
本申请实施例提供的一种可能的实现方式中,该电子设备提供一参考资源分配率(例如,CPU分配率为80%、内存分配率为80%);并基于该参考资源分配率,计算优选节点集中各待匹配节点当前的资源分配率与资源分配率之间的差距,并将该差距由大到小的顺序作为第二排序信息,从而对优选节点集中的各待匹配节点进行排序。
其中,针对每个待匹配节点而言,该差距为资源类型所表征的空间中,待匹配节点当前资源分配率所表征的位置与参考资源分配率所表征的位置之间的距离。
例如,请参照图6,在资源类型为CPU资源以及内存资源所表征的二维空间中,上述差距即为A、B、C、D、E所在位置与参考资源分配率所在位置X之间的距离。当然,本领域技术人员还可以将位于特定位置,且占据预设尺寸的区域作为参考资源分配率。该电子设备根据上述差距,按照从大到小的方式对优选节点集中的各待匹配节点进行排序。
如图6所示,包含待匹配节点A、B、C的优选节点集中,排序结果为:
A->C->D;
包含待匹配节点B、E的优选节点集中,排序结果为:
B->E;
本申请实施例提供的另外一种实现方式中,电子设备根据优选节点集中的失衡资源,按照由大到小方式对各待匹配节点进行排序。
例如,请再次参照图5,A、C、D位于资源均衡区域300的上方,表征A、C、D的内存分配率高于CPU资源的分配率。由于失衡资源为CPU资源,因此,电子设备根据A、C、D剩余的CPU资源,按照从大到小的方式对A、C、D进行排序。
本申请实施例中,基于上述待分配容器集以第一排序信息的排序结果以及优选节点集以第二排序信息的排序结果,该电子设备以排序位置所表征的优先等级确定目标容器与目标节点的对应关系。
因此,作为本申请实施例提供的一种可能的实现方式,请继续参照图4,上述步骤S104包括:
步骤S104-1A,根据目标容器在第一位置信息中的优先级以及待匹配节点在第二位置信息中的优先级,确定每个目标容器对应的目标节点。
其中,第一位置信息表征待分配容器集中全部待分配POD的资源需求的优先级顺序,第二位置信息表征待匹配节点在优选节点集中全部待匹配节点的剩余资源的优先级顺序。
步骤S104-2A,将每个目标容器分配至对应的目标节点。
针对上述以排序位置所表征的优先等级确定目标容器与目标节点的对应关系的具体方式,下面再次结合图5所示的待匹配节点以及上述5个待分配POD,进行示例性说明。
如图5所示,在以CPU资源作为目标资源的优选节点集中,包括待匹配节点:A、C、D,且按照对CPU资源的剩余量由大到小的排序结果为:
A->C->D;
在以内存资源作为目标资源的优选节点集中,包括待匹配节点B、E,且按照对内存资源的剩余量由大到小的排序结果为:
B->E;
上述5个待分配POD以CPU资源为目标资源,且按照对CPU资源的需求量由大到小的排序结果为:
P1->P2->P3->P4->P5;
以内存资源为目标资源,且按照对内存资源的需求量由大到小的排序结果为:
P5->P1->P4->P3->P2;
本申请实施例中,由于以CPU资源作为目标资源的优选节点集中,待匹配节点的数量,不小于以内存资源作为目标资源的优选节点集中,待匹配节点的数量;因此,本申请实施例优先考虑CPU资源。当然,本领域技术人员还可以根据实际需求,优先考虑内存资源。其基于本申请实施例,并不需要做出创造性的贡献。
因此,基于上述优选节点集中第二位置信息所表针的优先等级,以及待分配容器集中第一位置信息所表征的优先等级,电子设备建立如下表格1所示的对应关系:
表格1
如上述表格1所示,以CPU资源作为目标资源时,该电子设备将CPU资源所对应优选节点集中的待匹配节点作为目标节点;将CPU资源所对应待分配容器集中的待分配POD作为目标容器,建立P1与待匹配节点A的对应关系;P2与待匹配节点C的对应关系;P3与待匹配节点D的对应关系。
进一步地,上述待分配POD还剩余P4以及P5,待匹配节点还剩余待匹配节点B以及待匹配节点E。
因此,该电子设备以及内存资源作为目标资源时,该电子设备将内存资源所对应优选节点集中的待匹配节点作为目标节点;将内存资源所对应待分配容器集中的待分配POD作为目标容器,建立P5与待匹配节点B之间的对应关系;P4与待匹配节点E之间的对应关系。
因此,如图7A-图7C所示,通过上述分配策略,在CPU资源与内存资源所表征的二维空间中,电子设备经过多次容器分配操作后,待匹配节点A、B、C、D、E的位置逐渐向目标区域靠拢,且该目标区域位于二维空间中的资源均衡区域300。由此可见,待匹配节点A、B、C、D、E自身趋近于资源均衡的同时,待匹配节点A、B、C、D、E之间同样趋近于负载均衡。
作为本申请实施例提供的另外一种可能的实现方式,请参照图8,上述步骤S104包括:
步骤S104-1B,将多个目标容器分配至具有匹配关系的目标节点,匹配关系由目标节点在第二位置信息中的优先级确定。
其中,第二位置信息表征待匹配节点在优选节点集中全部待匹配节点的剩余资源的优先级顺序。
即本申请实施例中,为了一次性分配更多数量的待分配POD,该电子设备对排序后的待分配容器集进行划分,确定一待匹配节点与至少一个待分配POD之间的对应关系。其中,每个待匹配节点所对应待分配POD的数量与待匹配节点剩余资源的剩余量相关。
为了清楚阐述上述待匹配节点剩余资源的剩余量与应待分配POD的数量之间的关系,下面再次结合图5进行示例性说明。
如图5所示,由于以CPU资源作为目标资源的优选节点集中,包括待匹配节点:A、C、D,且按照对CPU资源的剩余量由大到小的排序结果为:
A->C->D;
以内存资源作为目标资源的优选节点集中,包括待匹配节点B、E,且按照对内存资源的剩余量由大到小的排序结果为:
B->E;
并且,在上述5个待分配POD的基上,增加待分配POD6、待分配POD7、待分配POD8、待分配POD9,分别表示为P7、P8、P9。因此,待分配POD总共包括P1、P2、P3、P4、P5、P6、P7、P8、P9。其中,以CPU资源为目标资源,且按照对CPU资源的需求量由大到小的排序结果为:
P1->P2->P3->P4->P5->P6->P7->P8->P9;
以内存资源为目标资源,且按照对内存资源的需求量由大到小的排序结果为:
P5->P1->P8->P4->P9->P3->P7->P2->P6;
其中,待匹配节点A、C、D分别配置有权重,具体为3、2、1;待匹配节点B、E同样分配配置有权重,具体为2、1。
因此,基于上述优选节点集中第二位置信息所表征的优先等级以及各待匹配节点的权重,电子设备建立如下表格2所示的对应关系:
表格2
如上述表格2所示,同样优先考虑CPU资源作为目标资源,基于权重,电子设备通过公式(3+2+1)/(3+2+1+2+1)=2/3可以确定出2/3的待分配POD(6个待分配POD)需要分配至待匹配节点A、C、D;1/3的待分配POD(3个待分配POD)需要分配至待匹配节点B、E。
因此,基于上述比例关系,该电子设备将待分配节点P1、P2、P3、P4、P5、P6、P7、P8、P9中的P1、P2、P3、P4、P5、P6分配至待匹配节点A、C、D。
其中,由于待匹配节点A的权重为3,即占比为(3)/(3+2+1)=1/2;待匹配节点C的权重为2,即占比为(2)/(3+2+1)=1/3;待匹配节点D的权重为1,即占比为(1)/(3+2+1)=1/6。
因此,该电子设备将待匹配节点P1、P2、P3、P4、P5、P6中的P1、P2、P3分配至待匹配节点A;待匹配节点P1、P2、P3、P4、P5、P6中的P4、P5分配至待匹配节点C;待匹配节点P1、P2、P3、P4、P5、P6中的P6分配至待匹配节点D。
同理,CPU资源作为目标资源时,该电子设备将剩余的P8、P9、P7中的P8、P9分配至待匹配节点B,将P8、P9、P7中P7分配至待匹配节点E。
另外,值得说明的是,上述各待匹配节点的权重可以预先进行配置。当然,还可以根据待匹配节点针对目标资源的剩余量进行确定,即剩余量越大,相应的权重越大。
另外,本申请实施例考虑到建立对应关系的待分配POD与待匹配节点之间可能出现冲突。例如,待分配POD在运行时,需要网络端口号80,而待匹配节点中处于运行状态的容器已经使用了网络端口80,因此,若继续将待分配POD分配至待匹配节点,必定会导致待分配POD在运行时出现异常。
鉴于此,请再次参照图5或者图8,本申请实施例提供的容器分配方法还包括:
步骤S105,当任意一个目标容器分配至目标节点失败时,则将目标容器分配至在优选节点集的第三排序信息中优先级大于目标节点的节点。
其中,第三排序信息表征优选节点集中全部目标节点的优先级顺序。
为了清楚阐述如何处理待分配节点与待匹配节点之间的资源冲突,下面再次结合图5进行示例性说明。如图5所示,待匹配节点A、C、D属于以CPU资源作为目标资源的优先节点集,待匹配节点B、E属于以内存资源作为目标资源的优选节点集。
在本申请的一些实施例中,假定优先考虑CPU资源,则CPU资源对应的优先节点集的优先级可以高于内存资源对应的优先节点集,电子设备将优先节点集之间的优先级由高到低的顺序作为第三排序信息,对优先节点集进行排序,获得如图9所示的待匹配节点A、C、D与待匹配节点B、E之间的优先级关系。
如图9所示,当待分配POD与待匹配节点B之间出现冲突时,电子设备将待分配POD分配至待匹配节点D。其中,待匹配节点D的优先级高于待匹配节点B。
当然,可以理解的是,在本申请其他一些可能的实施例中,若优先考虑内存资源,则内存资源对应的优先节点集的优先级高于CPU资源对应的优先节点集,电子设备将优先节点集之间的优先由高到低的顺序作为第三排序信息,获得如下优先级关系:
B->E->A->C->D;
如此,本申请实施例中,在待分配POD与待匹配节点之间出现冲突时,则为待分配POD重新确定待匹配节点,以提高待分配POD分配成功的概率。
基于相同的发明构思,本申请实施例还提供一种容器分配装置210,该容器分配装置210包括至少一个可以软件形式存储于存储器220中的功能模块。请参照图10,从功能上划分,容器分配装置210可以包括:
容器模块2101,用于获得待分配容器集,待分配容器集包含多个待分配容器组。
本申请实施例中,该容器模块2101对应的计算机可执行指令被处理器执行时,实现图3中的步骤S101,关于该容器模块2101的详细描述,可以参考步骤S101的详细描述。
节点模块2102,用于根据待分配容器集确定待匹配节点集,待匹配节点集包含的全部待匹配节点满足待分配容器集中待分配容器组的最低资源需求。
节点模块2102,还用于根据待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集;优选节点集中的全部待匹配节点分别具有最多目标资源类型的剩余资源。
本申请实施例中,该节点模块2102对应的计算机可执行指令被处理器执行时,实现图3中的步骤S102以及步骤S103,关于该节点模块2102的详细描述,可以参考步骤S102以及步骤S103的详细描述。
分配模块2103,用于将多个目标容器分配至多个目标节点,目标容器属于待分配容器集,目标节点属于优选节点集,目标容器的资源需求对应的资源类型与目标节点的目标资源类型一致,且目标节点的目标资源类型的剩余资源满足目标容器的资源需求。
本申请实施例中,该分配模块2103对应的计算机可执行指令被处理器执行时,实现图3中的步骤S104,关于该分配模块2103的详细描述,可以参考步骤S104的详细描述。
下面继续以kubernetes为例,结合图11对上述各模块的功能的进行示例性阐述。
如图11所示,接口服务模块将创建的待分配容器缓存至缓存队列中。基于该缓存队列,容器模块2101从中选取多个待分配POD;按照所需求资源的类型,生成至少一个待分配容器集。
在预选阶段的预选算法中,节点模块2102根据多个待分配POD对资源的需求情况,确定出最低资源需求;并根据最低资源需求对全部的节点进行筛选,排除不满足最低资源需求的饱和节点,确定出多个待匹配节点。其中,筛选出的待匹配节点中除了包括最优节点,还包括相对于最优节点较为次优的次优节点,因此,为待分配POD提供了更大的可选空间。上述全部节点为所有处于工作状态的运行节点。
在优选阶段的优选算法中,节点模块2102根据各待匹配节对当前特定种类的资源剩余量,将多个待匹配节点划分成多个优选节点集。
该分配模块2103,根据优选节点集与待分配容器集之间的对应关系,将待分配POD与待匹配节点进行绑定;基于绑定的关联关系,将待分配POD分配至对应的待匹配节点。
接口服务器模块将各待分配POD的属性系交由数据管理模块进行维护。
本申请实施例还提供一种电子设备,包括处理器以及存储器,其中,存储器用于存储计算机程序,计算机程序包括计算机可执行指令,处理器运行计算机可执行指令时,实现上述容器分配方法。
本申请实施例还提供一种存储介质,存储介质存储有计算机程序,计算机程序包括计算机可执行指令,计算机可执行指令被处理器执行时,实现上述容器分配方法。
综上所述,本申请实施例提供的容器分配方法、装置、电子设备及存储介质中,电子设备基于最低资源需求,筛选出更多可用于进行匹配的多个待匹配节点,并基于多个待匹配节剩余资源的均衡状况,将多个待匹配节点划分成至少一个优选节点集;并为提供目标资源的优选节点集,分配需求目标资源的待分配组。由于一次性将多个待分配节点分配至多个待匹配节点,且目标资源需求较大的待分配组,分配至提供目标资源的优先节点集,因此,能够提高分配效率的同时,减少待匹配节点自身资源失衡的情况。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种容器分配方法,其特征在于,包括:
获得待分配容器集,所述待分配容器集包含多个待分配容器组;
根据所述待分配容器集确定待匹配节点集,所述待匹配节点集包含的全部待匹配节点满足所述待分配容器集中待分配容器组的最低资源需求;
根据所述待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集;所述优选节点集中的全部待匹配节点分别具有最多目标资源类型的剩余资源;
将多个目标容器分配至多个目标节点,所述目标容器属于所述待分配容器集,所述目标节点属于所述优选节点集,所述目标容器的资源需求对应的资源类型与所述目标节点的目标资源类型一致,且所述目标节点的目标资源类型的剩余资源满足所述目标容器的资源需求。
2.根据权利要求1所述的容器分配方法,其特征在于,所述获得待分配容器集的步骤,包括:
根据每个所述待分配容器组的资源需求及资源类型,生成至少一个所述待分配容器集;所述待分配容器集包含的全部待分配容器组具有相同的资源类型,且按照全部所述待分配容器组的资源需求以第一排序信息进行排序。
3.根据权利要求2所述的容器分配方法,其特征在于,所述根据所述待分配容器集确定待匹配节点集的步骤,包括:
根据所述第一排序信息确定所述最低资源需求;
根据所述待分配容器组的资源类型、所述最低资源需求、全部节点的剩余资源以及所述全部节点的资源类型,对所述全部节点进行筛选,获得所述待匹配节点集。
4.根据权利要求1所述的容器分配方法,其特征在于,所述根据所述待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集的步骤,包括:
根据全部所述待匹配节点的资源类型,确定所述目标资源类型;
当所述待匹配节点的资源类型与所述目标资源类型一致,则将所述待匹配节点划分至与所述目标资源类型匹配的优选节点子集;
将全部所述优选节点子集排序,构成所述优选节点集。
5.根据权利要求4所述的容器分配方法,其特征在于,所述将所述待匹配节点划分至与所述目标资源类型匹配的优选节点子集的步骤,包括:
根据每个所述待匹配节点的剩余资源,以第二排序信息对所述优选节点子集包含的待匹配节点进行排序。
6.根据权利要求5所述的容器分配方法,其特征在于,所述将多个目标容器分配至多个目标节点的步骤,包括:
根据所述目标容器在第一位置信息中的优先级以及所述待匹配节点在第二位置信息中的优先级,确定每个所述目标容器对应的目标节点;其中,所述第一位置信息表征所述待分配容器集中全部所述待分配容器组的资源需求的优先级顺序,所述第二位置信息表征所述待匹配节点在所述优选节点集中全部所述待匹配节点的剩余资源的优先级顺序;
将每个所述目标容器分配至对应的目标节点。
7.根据权利要求5所述的容器分配方法,其特征在于,所述将多个目标容器分配至多个目标节点的步骤,包括:
将多个所述目标容器分配至具有匹配关系的目标节点,所述匹配关系由所述目标节点在第二位置信息中的优先级确定,其中,所述第二位置信息表征所述待匹配节点在所述优选节点集中全部所述待匹配节点的剩余资源的优先级顺序。
8.根据权利要求1所述的容器分配方法,其特征在于,所述方法还包括:
当任意一个所述目标容器分配至所述目标节点失败时,则将所述目标容器分配至在所述优选节点集的第三排序信息中优先级大于所述目标节点的节点;所述第三排序信息表征所述优选节点集中全部所述目标节点的优先级顺序。
9.一种容器分配装置,其特征在于,所述容器分配装置包括:
容器模块,用于获得待分配容器集,所述待分配容器集包含多个待分配容器组;
节点模块,用于根据所述待分配容器集确定待匹配节点集,所述待匹配节点集包含的全部待匹配节点满足所述待分配容器集中待分配容器组的最低资源需求;
所述节点模块,还用于根据所述待匹配节点集中每个待匹配节点的剩余资源与资源类型,生成至少一个优选节点集;所述优选节点集中的全部待匹配节点分别具有最多目标资源类型的剩余资源;
分配模块,用于将多个目标容器分配至多个目标节点,所述目标容器属于所述待分配容器集,所述目标节点属于所述优选节点集,所述目标容器的资源需求对应的资源类型与所述目标节点的目标资源类型一致,且所述目标节点的目标资源类型的剩余资源满足所述目标容器的资源需求。
10.一种电子设备,其特征在于,包括处理器以及存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括计算机可执行指令,所述处理器运行所述计算机可执行指令时,实现权利要求1-8任意一项所述的容器分配方法。
11.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括计算机可执行指令,所述计算机可执行指令被处理器执行时,实现权利要求1-8任意一项所述的容器分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011493023.2A CN112559130B (zh) | 2020-12-16 | 2020-12-16 | 容器分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011493023.2A CN112559130B (zh) | 2020-12-16 | 2020-12-16 | 容器分配方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559130A true CN112559130A (zh) | 2021-03-26 |
CN112559130B CN112559130B (zh) | 2024-01-19 |
Family
ID=75064429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011493023.2A Active CN112559130B (zh) | 2020-12-16 | 2020-12-16 | 容器分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559130B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254180A (zh) * | 2021-06-03 | 2021-08-13 | 杭州海康威视数字技术股份有限公司 | 一种数据匹配方法、装置、电子设备及存储介质 |
CN114637576A (zh) * | 2022-03-22 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 用于生成容器分配方案的方法及装置 |
CN115037752A (zh) * | 2022-04-22 | 2022-09-09 | 网易(杭州)网络有限公司 | 资源再分配方法、装置及电子设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447939A (zh) * | 2008-12-16 | 2009-06-03 | 中国移动通信集团北京有限公司 | 一种业务分配方法和负载均衡器 |
JP2011128706A (ja) * | 2009-12-15 | 2011-06-30 | Fujitsu Ltd | 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 |
CN106293871A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种集群虚拟机的资源调度方法 |
CN107133106A (zh) * | 2017-05-25 | 2017-09-05 | 深信服科技股份有限公司 | 一种numa系统优化方法及装置 |
CN107491352A (zh) * | 2017-08-22 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种资源调度方法及装置 |
US20180081722A1 (en) * | 2016-09-20 | 2018-03-22 | International Business Machines Corporation | Multi-platform scheduler for permanent and transient applications |
CN110209549A (zh) * | 2018-05-22 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关装置、相关设备和系统 |
CN110300130A (zh) * | 2018-03-21 | 2019-10-01 | 中移(苏州)软件技术有限公司 | 一种资源调度方法、装置、电子设备及存储介质 |
CN110493317A (zh) * | 2019-07-22 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 处理云平台资源碎片的方法及相关设备 |
CN111104227A (zh) * | 2019-12-28 | 2020-05-05 | 北京浪潮数据技术有限公司 | 一种K8s平台的资源控制方法、装置及相关组件 |
WO2021063339A1 (zh) * | 2019-09-30 | 2021-04-08 | 星环信息科技(上海)股份有限公司 | 集群资源调度方法、装置、设备及储存介质 |
-
2020
- 2020-12-16 CN CN202011493023.2A patent/CN112559130B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447939A (zh) * | 2008-12-16 | 2009-06-03 | 中国移动通信集团北京有限公司 | 一种业务分配方法和负载均衡器 |
JP2011128706A (ja) * | 2009-12-15 | 2011-06-30 | Fujitsu Ltd | 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 |
CN106293871A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种集群虚拟机的资源调度方法 |
US20180081722A1 (en) * | 2016-09-20 | 2018-03-22 | International Business Machines Corporation | Multi-platform scheduler for permanent and transient applications |
CN107133106A (zh) * | 2017-05-25 | 2017-09-05 | 深信服科技股份有限公司 | 一种numa系统优化方法及装置 |
CN107491352A (zh) * | 2017-08-22 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种资源调度方法及装置 |
CN110300130A (zh) * | 2018-03-21 | 2019-10-01 | 中移(苏州)软件技术有限公司 | 一种资源调度方法、装置、电子设备及存储介质 |
CN110209549A (zh) * | 2018-05-22 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关装置、相关设备和系统 |
CN110493317A (zh) * | 2019-07-22 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 处理云平台资源碎片的方法及相关设备 |
WO2021063339A1 (zh) * | 2019-09-30 | 2021-04-08 | 星环信息科技(上海)股份有限公司 | 集群资源调度方法、装置、设备及储存介质 |
CN111104227A (zh) * | 2019-12-28 | 2020-05-05 | 北京浪潮数据技术有限公司 | 一种K8s平台的资源控制方法、装置及相关组件 |
Non-Patent Citations (1)
Title |
---|
刘必雄;许榕生;: "大规模文件上传接收服务的负载均衡引擎研究", 计算机技术与发展, no. 06, pages 22 - 25 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254180A (zh) * | 2021-06-03 | 2021-08-13 | 杭州海康威视数字技术股份有限公司 | 一种数据匹配方法、装置、电子设备及存储介质 |
CN113254180B (zh) * | 2021-06-03 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 一种数据匹配方法、装置、电子设备及存储介质 |
CN114637576A (zh) * | 2022-03-22 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 用于生成容器分配方案的方法及装置 |
CN115037752A (zh) * | 2022-04-22 | 2022-09-09 | 网易(杭州)网络有限公司 | 资源再分配方法、装置及电子设备 |
CN115037752B (zh) * | 2022-04-22 | 2024-03-22 | 网易(杭州)网络有限公司 | 资源再分配方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112559130B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112559130B (zh) | 容器分配方法、装置、电子设备及存储介质 | |
US11243805B2 (en) | Job distribution within a grid environment using clusters of execution hosts | |
US7945913B2 (en) | Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system | |
US10609129B2 (en) | Method and system for multi-tenant resource distribution | |
US9749208B2 (en) | Integrated global resource allocation and load balancing | |
CN109117264B (zh) | 容器工作负载调度器以及调度容器工作负载的方法 | |
US20130346994A1 (en) | Job distribution within a grid environment | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
CN112379971B (zh) | 应用容器管理方法、装置及设备 | |
Raj et al. | Modified first fit decreasing method for load balancing in mobile clouds | |
Dhahbi et al. | Load balancing in cloud computing using worst-fit bin-stretching | |
US8046766B2 (en) | Process assignment to physical processors using minimum and maximum processor shares | |
CN113315825A (zh) | 分布式请求的处理方法、装置、设备及存储介质 | |
Shi et al. | Hpks: High performance kubernetes scheduling for dynamic blockchain workloads in cloud computing | |
Abrishami et al. | Scheduling in hybrid cloud to maintain data privacy | |
Ru et al. | Providing fairer resource allocation for multi-tenant cloud-based systems | |
CN111796934B (zh) | 任务下发方法、装置、存储介质和电子设备 | |
Al-Yatama et al. | Memory allocation algorithm for cloud services | |
Sekaran et al. | SIQ algorithm for efficient load balancing in cloud | |
CN112612606A (zh) | 消息主题的处理方法、装置、计算机设备和可读存储介质 | |
Rampersaud et al. | An approximation algorithm for sharing-aware virtual machine revenue maximization | |
Thai et al. | Algorithms for optimising heterogeneous Cloud virtual machine clusters | |
Postoaca et al. | h-Fair: asymptotic scheduling of heavy workloads in heterogeneous data centers | |
US11995016B2 (en) | Input/output command rebalancing in a virtualized computer system | |
Patel et al. | Task Execution Efficiency Enrichment in Cloud Based Load Balancing Approaches |
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 |