CN110888741A - 应用容器的资源调度方法、装置、服务器及存储介质 - Google Patents
应用容器的资源调度方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110888741A CN110888741A CN201911188242.7A CN201911188242A CN110888741A CN 110888741 A CN110888741 A CN 110888741A CN 201911188242 A CN201911188242 A CN 201911188242A CN 110888741 A CN110888741 A CN 110888741A
- Authority
- CN
- China
- Prior art keywords
- application container
- host
- host node
- resource
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000013508 migration Methods 0.000 claims description 3
- 230000005012 migration Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100327310 Caenorhabditis elegans emb-27 gene Proteins 0.000 description 1
- 101100438971 Caenorhabditis elegans mat-1 gene Proteins 0.000 description 1
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 1
- 101100495256 Caenorhabditis elegans mat-3 gene Proteins 0.000 description 1
- 102100033121 Transcription factor 21 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 101150109289 tcf21 gene Proteins 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
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
技术领域
本发明涉及通信技术领域,具体而言,涉及一种应用容器的资源调度方法、装置、服务器及存储介质。
背景技术
随着科学技术的发展,数据也越来越多,为了合理分配大规模集群的资源,满足日益增多的服务和任务的资源需求,通过集群资源调度系统对为主机分配资源也变得越来越重要。
相关技术中,服务器在为容器分配主机时,根据容器对应的条件,确定满足该条件的主机,从而将容器分配到该主机上。
但是,相关技术中,将容器分配至满足容器条件的主机上,会出现服务器上的多个主机负载不均衡的情况。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种应用容器的资源调度方法、装置、服务器及存储介质,以便解决相关技术中,将容器分配至满足容器条件的主机上,会出现服务器上的多个主机负载不均衡的情况。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种应用容器的资源调度方法,包括:
在主机组上多个主机节点上,对各应用容器进行初始调度,以确定所述各应用容器的原主机节点;
采集所述多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器;
根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点;
将所述目标应用容器从原主机节点上迁移至所述目标主机节点上运行。
进一步地,所述在主机组上多个主机节点上,对各应用容器进行初始调度,包括:
根据所述各应用容器的资源需求、所述各应用容器的服务质量Qos需求,对所述各应用容器进行初始调度,或者,根据所述各应用容器的资源需求和预设的主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度,或者,根据所述各应用容器的资源需求、所述各应用容器的Qos需求和所述主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度。
进一步地,所述采集所述多个主机节点的资源数据,包括:
根据预设的采集周期,采集所述主机组中满足预设的主机节点标签的所述多个主机节点的资源数据。
进一步地,所述每个主机节点的资源数据包括:所述每个主机节点的资源负载;所述根据所述多个主机节点的资源数据,确定目标应用容器,包括:
根据所述多个主机节点的资源负载,确定所述多个主机节点的平均资源负载;
对所述每个主机节点的资源负载和所述平均资源负载进行比较;
根据比较结果,确定资源负载大于所述平均资源负载的主机节点为所述目标应用容器的所述原主机节点。
进一步地,所述根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点之前,所述方法还包括:
采集所述各应用容器的使用资源;
所述根据比较结果,确定资源负载大于所述平均资源负载的主机节点为所述目标应用容器的所述原主机节点,包括:
确定所述原主机节点上使用资源大于或等于预设阈值的应用容器为所述目标应用容器。
进一步地,所述根据所述多个主机节点的资源数据,确定目标应用容器,还包括:
若所述每个主机节点的资源负载均小于所述平均资源负载,且,所述每个主机节点满足对应应用容器的资源需求,则查询所述每个主机节点是否满足对应应用容器的兼容性需求;
若不满足,则确定不满足所述兼容性需求的主机节点为所述原主机节点,所述原主机节点上的应用容器为所述目标应用容器。
进一步地,所述目标应用容器包括:一个应用容器或者一个应用容器组,所述一个应用容器组包括:多个应用容器。
第二方面,本发明实施例还提供了一种应用容器的资源调度装置,包括:
第一确定模块,用于在主机组上多个主机节点上,对各应用容器进行初始调度,以确定所述各应用容器的原主机节点;
采集模块,用于采集所述多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器;
第二确定模块,用于根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点;
迁移模块,用于将所述目标应用容器从原主机节点上迁移至所述目标主机节点上运行。
进一步地,所述第一确定模块,具体用于根据所述各应用容器的资源需求、所述各应用容器的服务质量Qos需求,在所述多个主机节点中,对所述各应用容器进行初始调度,或者,根据所述各应用容器的资源需求和预设的主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度,或者,根据所述各应用容器的资源需求、所述各应用容器的Qos需求和所述主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度。
进一步地,所述采集模块,具体用于根据预设的采集周期,采集所述主机组中满足预设的主机节点标签的所述多个主机节点的资源数据。
进一步地,所述第二确定模块,具体用于根据所述多个主机节点的资源负载,确定所述多个主机节点的平均资源负载;对所述每个主机节点的资源负载和所述平均资源负载进行比较;根据比较结果,确定资源负载大于所述平均资源负载的主机节点为所述目标应用容器的所述原主机节点。
进一步地,所述装置还包括:
第一采集模块,用于采集所述各应用容器的使用资源;
所述第二确定模块,还具体用于确定所述原主机节点上使用资源大于或等于预设阈值的应用容器为所述目标应用容器。
进一步地,所述第二确定模块,还具体用于若所述每个主机节点的资源负载均小于所述平均资源负载,且,所述每个主机节点满足对应应用容器的资源需求,则查询所述每个主机节点是否满足对应应用容器的兼容性需求;若不满足,则确定不满足所述兼容性需求的主机节点为所述原主机节点,所述原主机节点上的应用容器为所述目标应用容器。
进一步地,所述目标应用容器包括:一个应用容器或者一个应用容器组,所述一个应用容器组包括:多个应用容器。
第三方面,本发明实施例还提供了一种服务器,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的方法。
本发明的有益效果是:一种应用容器的资源调度方法,通过在主机组上多个主机节点上,对各应用容器进行初始调度,以确定各应用容器的原主机节点,采集多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器,并根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点,继而将所述目标应用容器从原主机节点上迁移至所述目标主机节点上运行。根据多个主机节点的资源数据,确定目标应用容器和目标主机节点,实现对于目标应用容器的调度,对多个主机节点的资源数据进行监控,根据监控的数据对目标应用容器进行调度,实现了服务器上多个主机节点的负载均衡,实现了对于资源的高效运营。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种应用容器的资源调度方法的流程示意图;
图2为本发明实施例提供的一种应用容器的资源调度方法的流程示意图;
图3为本发明实施例提供的一种应用容器的资源调度方法的流程示意图;
图4为本发明实施例提供的一种应用容器的资源调度方法的流程示意图;
图5为本发明实施例提供的一种应用容器的资源调度的结构示意图;
图6为本发明实施例提供的一种应用容器的资源调度装置的结构示意图;
图7为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例所提供的应用容器的资源调度方法,其执行主体可以为服务器的控制器,该控制器上可以集成有调度器,调度器的类型可以为kubernetes(容器编排引擎),当然也可以为其他类型的调度器,本发明实施例对此不进行具体限制。
图1为本发明实施例提供的一种应用容器的资源调度方法的流程示意图,如图1所示,该方法可以包括:
S101、在主机组上多个主机节点上,对各应用容器进行初始调度,以确定各应用容器的原主机节点。
其中,一个主机组可以包括多个主机节点,每个主机节点上运行有至少一个应用容器。该应用容器可以为封装后的应用容器,每个应用容器中可以运行有应用程序。
在一种可能的实施方式中,控制器可以根据预设需求,对主机组上每个主机节点上的应用容器进行调度,使得初始调度后的应用容器能够满足该预设需求,将初始调度后应用容器所在的主机节点,作为该应用容器的原主机节点。
S102、采集多个主机节点的资源数据。
在一种可能的实施方式中,每个主机节点可以具有对应的组件,控制器可以通过该组件可以周期性的采集对应的主机节点的资源数据。其中,该组件可以为ACS(AdaptiveContainer Scheduler,自适应容器调度)组件,也可以为APS(Adaptive Pod Scheduler,自适应Pod调度器),本发明实施例对此不进行具体限制。
另外,组件也可以根据其他预设方式采集对应的主机节点的资源数据,例如,根据预设时间点采集对应的主机节点的资源数据,本发明实施例对此不进行具体限制。而且,组件可以设置于每个主机节点的一个容器中。
需要说明的是,主机可以为虚拟主机,也可以为物理主机,本发明实施例对此不进行具体限制。
S103、根据多个主机节点的资源数据,确定目标应用容器和目标应用容器的目标主机节点。
其中,资源数据可以包括主机节点的资源负载,以及主机节点上各个应用容器的使用资源,例如,资源数据可以为主机节点上CPU(central processing unit,中央处理器)资源数据,还可以为应用容器所占用的CPU资源数据,当然还可以为其他类型的资源数据,本发明实施例对此不进行具体限制。
在一种可能的实施方式中,控制器可以对多个主机节点的资源数据进行分析,确定占用主机节点资源较多的应用容器,即目标应用容器,以及该目标应用容器所对应的原主机节点,并确定资源占用较少的主机节点且满足目标应用容器运行条件的主机节点,即目标主机节点。
S104、将目标应用容器从原主机节点上迁移至目标主机节点上运行。
在一些实施方式中,控制器确定目标应用容器和目标应用容器的目标主机节点,可以通过调度器将目标应用容器从原主机节点上迁移至目标主机节点上,实现对于目标应用容器的调度,使得主机节点上的负载更加均衡。
综上所述,本发明实施例提供一种应用容器的资源调度方法,通过在主机组上多个主机节点上,对各应用容器进行初始调度,以确定各应用容器的原主机节点,采集多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器,并根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点,继而将所述目标应用容器从原主机节点上迁移至所述目标主机节点上运行。根据多个主机节点的资源数据,确定目标应用容器和目标主机节点,实现对于目标应用容器的调度,对多个主机节点的资源数据进行监控,根据监控的数据对目标应用容器进行调度,实现了服务器上多个主机节点的负载均衡,实现了对于资源的高效运营。
可选的,上述S101还可以包括:根据各应用容器的资源需求、各应用容器的服务质量Qos需求,在多个主机节点中,对各应用容器进行初始调度,或者,根据各应用容器的资源需求和预设的主机节点标签,在主机组中满足主机节点标签的多个主机节点中,对各应用容器进行初始调度,或者,根据各应用容器的资源需求、各应用容器的Qos需求和主机节点标签,在主机组中满足主机节点标签的多个主机节点中,对各应用容器进行初始调度。
在本发明实施例中,控制器可以同时根据各个应用容器的资源需求,以及各应用容器的Qos需求,确定能够同时满足各个应用容器的资源需求和Qos需求的原主机节点,实现对于各应用容器进行初始调度,使得各应用容器在对应的原主机节点上运行。
在一种可能的实施方式中,控制器还可以同时根据各个应用容器的资源需求,以及预设的主机节点标签,确定能够同时满足各个应用容器的资源需求和预设的主机节点标签的原主机节点,实现对于各应用容器进行初始调度。
在另一种可能的实施方式中,控制器还可以同时根据各个应用容器的资源需求、各应用容器的Qos需求以及预设的主机节点标签,确定能够同时满足各个应用容器的资源需求、各应用容器的Qos需求以及预设的主机节点标签的原主机节点,实现对于各应用容器进行初始调度。
当然,控制器还可以根据其他信息,对各应用容器进行初始调度,本发明实施例对此不进行具体限制。
另外,控制器也可以根据各应用容器的资源需求,对各应用容器进行初始调度,使得各应用容器在各应用容器的原主机节点上运行。
在一种可能的实施方式中,每个应用容器具有对应的资源需求,控制器可以根据各个应用容器的资源需求,确定能够满足应用容器的资源需求的原主机节点,实现对于各应用容器进行初始调度,使得各应用容器在对应的原主机节点上运行。
需要说明的是,应用容器的资源需求由用户定义。
在本发明实施例中,服务器上可以预设有开关,该开关可以为ACS开关,用户可以操作该开关,以控制服务器是否对主机节点的资源数据进行采集和分析,可以更加灵活的控制是否使用本发明实施例所提供的方法,对应用容器进行调度,而且,根据用户的操作,实现一定程度上的应用容器调度,可以保证应用容器中的应用程序稳定运行,也避免了因应用容器数量较多,而引起的大规模的应用容器调度。
可选的,上述S102中,采集多个主机节点的资源数据,可以包括:根据预设的采集周期,采集主机组中满足预设的主机节点标签的多个主机节点的资源数据。
其中,预设的主机节点标签可以为测试test,当然,也可以为其他主机节点标签,本发明实施例对此不进行具体限制。
例如,控制器可以确定预设的主机节点标签test,控制器可以根据预设的采集周期,采集主机组中主机节点标签为test的多个主机节点的资源数据。
图2为本发明实施例提供的一种应用容器的资源调度方法的流程示意图,可选的,每个主机节点的资源数据包括:每个主机节点的资源负载,如图2所示,上述S103中,根据多个主机节点的资源数据,确定目标应用容器和目标应用容器的目标主机节点,可以包括:
S201、根据多个主机节点的资源负载,确定多个主机节点的平均资源负载。
其中,资源负载可以为主机节点上已使用的资源。
在一种可能的实施方式中,控制器可以计算多个主机节点的资源负载的和值,并统计多个主机节点的数量,计算多个主机节点的资源负载的和值与多个主机节点的数量之间的比值,得到多个主机节点的平均资源负载。
S202、对每个主机节点的资源负载和平均资源负载进行比较。
在本发明实施例中,控制器可以判断每个主机节点的资源负载是否大于平均资源负载,控制器也可以判断每个主机节点的资源负载是否大于或等于平均资源负载,还可以采用其他方式比较每个主机节点的资源负载和平均资源负载,本发明实施例对此不进行限制。
另外,控制器可以直接采集每个主机节点的目标类型的资源负载,可以分别比较目标类型的资源负载与目标类型的平均资源负载,得到每个主机节点的目标类型的资源负载比较结果。
S203、根据比较结果,确定资源负载大于平均资源负载的主机节点为目标应用容器的原主机节点。
在一种可能的实施方式中,当主机节点的资源负载大于平均资源负载时,则将该主机节点作为目标应用容器的原主机节点,也即是,将该原主机节点中的应用容器作为待调度的对象。
在一些实施方式中,控制器还可以根据比较结果,将资源负载较小的主机节点作为目标主机节点,例如,可以将资源负载小于预设负载阈值的主机节点作为目标主机节点。
另外,当不存在资源负载小于预设负载阈值的主机节点时,控制器可以新建一个目标主机节点,以将原主机节点中待调度的应用容器迁移至该新建的目标主机节点中。另外,控制器可以为该新建的目标主机节点配置对应的组件。
需要说明的是,当存在有多个目标主机节点时,控制器可以将满足目标容器运行条件的主机节点作为最终的目标主机节点。
图3为本发明实施例提供的一种应用容器的资源调度方法的流程示意图,如图3所示,在S103之前,该方法还包括:
S301、采集各应用容器的使用资源。
其中,应用容器的使用资源可以为:应用容器所占用或者使用的资源。例如,应用容器的使用资源可以为该应用容器CPU资源占用所在主机节点CPU资源的比值。
需要说明的是,控制器可以采用ACS组件或者APS组件,采集每个主机节点中每个应用容器的使用资源。
上述S203可以包括:S302、确定原主机节点上使用资源大于或等于预设阈值的应用容器为目标应用容器。
在一些实施方式中,控制器可以确定原主机节点上的每个应用容器的使用资源,并判断每个应用容器的使用资源是否大于或等于预设阈值,将使用资源大于或等于预设阈值的应用容器,作为目标应用容器。
需要说明的是,预设阈值可以为百分之五十,也可以为百分之四十五,还可以根据实际需求进行设定,本发明实施例对此不进行具体限制。
图4为本发明实施例提供的一种应用容器的资源调度方法的流程示意图,如图4所示,上述S103,还可以包括:
S401、若每个主机节点的资源负载均小于平均资源负载,且,每个主机节点满足对应应用容器的资源需求,则查询每个主机节点是否满足对应应用容器的兼容性需求。
其中,该兼容性需求可以包括:应用容器之间的互斥性需求,和/或,关联性需求。也即是,兼容性需求可以为应用容器的互斥性需求,也可以为应用容器的关联性需求,还可以为应用容器的互斥性需求和关联性需求。
需要说明的是,当至少两个应用容器之间存在互斥性需求时,则该至少两个应用容器不能处于同一个主机节点中;当至少两个应用容器之间存在关联性需求时,则该至少两个应用容器应当处于同一个主机节点中。
在一种可能的方式中,当每个主机节点的资源负载均小于平均资源负载时,控制器也可以查询每个主机节点是否满足对应应用容器的兼容性需求。
S402、若不满足,则确定不满足兼容性需求的主机节点为原主机节点,原主机节点上的应用容器为目标应用容器。
在本发明实施例中,当控制器查询到每个主机节点不满足对应应用容器的兼容性需求,则可以将不满足兼容性需求的主机节点作为原主机节点,并将原主机节点上的应用容器作为目标应用容器。
需要说明的是,控制器可以确定满足目标应用容器兼容性需求的目标主机节点,以便控制器将目标应用容器迁移至满足兼容性需求的目标主机节点中。
可选的,目标应用容器包括:一个应用容器或者一个应用容器组,一个应用容器组包括:多个应用容器。图5为本发明实施例提供的一种应用容器的资源调度的结构示意图。
如图5所示,服务器可以包括主机节点1(worker1)和主机节点2(worker2),控制器。其中,主机节点1中可以包括多个容器组分别为:容器组1(pod1)、容器组2(pod2)和容器组3(pod3),其中容器组1中可以配置APS组件;主机节点2中可以包括多个容器分别为:容器组4(pod4)、容器组5(pod5)和容器组6(pod6),其中容器组4中可以配置APS组件。主机节点1和主机节点2的APS组件均与控制器连接。
其中,主机节点1和主机节点2,以及下述主机节点3,对应的主机节点标签,均可以为test。
在一些实施方式中,当主机节点2的资源负载大于平均资源负载时,则主机节点2可以为原主机节点,当容器组5和容器组6的使用资源大于或等于预设阈值,则容器组5和容器组6可以为原主机节点上的目标应用容器,当服务器中不存在资源负载较小的主机节点时,控制器可以建立主机节点3,对该控制器可以将容器组5和容器组6调度至主机节点3中。
另外,控制器可以为主机节点3配置对应的APS组件,APS组件对应的容器组7(pod7),主机节点3的APS组件可以与控制器连接,以便控制器可以通过该APS组件采集主机节点3的资源负载,以及主机节点3中应用容器的使用资源。
图6为本发明实施例提供的一种应用容器的资源调度装置的结构示意图,如图6所示,该装置可以包括:
第一确定模块601,用于在主机组上多个主机节点上,对各应用容器进行初始调度,以确定所述各应用容器的原主机节点;
采集模块602,用于采集多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器;
第二确定模块603,用于根据多个主机节点的资源数据,确定目标应用容器和目标应用容器的目标主机节点;
迁移模块604,用于将目标应用容器从原主机节点上迁移至目标主机节点上运行。
可选的,第一确定模块601,具体用于根据各应用容器的资源需求、各应用容器的服务质量Qos需求,在多个主机节点中,对各应用容器进行初始调度,或者,根据各应用容器的资源需求和预设的主机节点标签,在主机组中满足主机节点标签的多个主机节点中,对各应用容器进行初始调度,或者,根据各应用容器的资源需求、各应用容器的Qos需求和主机节点标签,在主机组中满足主机节点标签的多个主机节点中,对各应用容器进行初始调度。
可选的,采集模块602,具体用于根据预设的采集周期,采集主机组中满足预设的主机节点标签的多个主机节点的资源数据。
可选的,第二确定模块603,具体用于根据多个主机节点的资源负载,确定多个主机节点的平均资源负载;对每个主机节点的资源负载和平均资源负载进行比较;根据比较结果,确定资源负载大于平均资源负载的主机节点为目标应用容器的原主机节点。
可选的,装置还包括:
第一采集模块,用于采集各应用容器的使用资源;
第二确定模块603,还具体用于确定原主机节点上使用资源大于或等于预设阈值的应用容器为目标应用容器。
可选的,第二确定模块603,还具体用于若每个主机节点的资源负载均小于平均资源负载,且,每个主机节点满足对应应用容器的资源需求,则查询每个主机节点是否满足对应应用容器的兼容性需求;若不满足,则确定不满足兼容性需求的主机节点为原主机节点,原主机节点上的应用容器为目标应用容器。
可选的,目标应用容器包括:一个应用容器或者一个应用容器组,一个应用容器组包括:多个应用容器。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其他可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图7为本发明实施例提供的一种服务器的结构示意图,该服务器可以包括:处理器701、存储器702。
存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种应用容器的资源调度方法,其特征在于,包括:
在主机组上多个主机节点上,对各应用容器进行初始调度,以确定所述各应用容器的原主机节点;
采集所述多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器;
根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点;
将所述目标应用容器从原主机节点上迁移至所述目标主机节点上运行。
2.根据权利要求1所述的方法,其特征在于,所述在主机组上多个主机节点上,对各应用容器进行初始调度,包括:
根据所述各应用容器的资源需求、所述各应用容器的服务质量Qos需求,在所述多个主机节点中,对所述各应用容器进行初始调度,或者,
根据所述各应用容器的资源需求和预设的主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度,或者,
根据所述各应用容器的资源需求、所述各应用容器的Qos需求和所述主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度。
3.根据权利要求1所述的方法,其特征在于,所述采集所述多个主机节点的资源数据,包括:
根据预设的采集周期,采集所述主机组中满足预设的主机节点标签的所述多个主机节点的资源数据。
4.根据权利要求1所述的方法,其特征在于,所述每个主机节点的资源数据包括:所述每个主机节点的资源负载;所述根据所述多个主机节点的资源数据,确定目标应用容器,包括:
根据所述多个主机节点的资源负载,确定所述多个主机节点的平均资源负载;
对所述每个主机节点的资源负载和所述平均资源负载进行比较;
根据比较结果,确定资源负载大于所述平均资源负载的主机节点为所述目标应用容器的所述原主机节点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多个主机节点的资源数据,确定目标应用容器,还包括:
若所述每个主机节点的资源负载均小于所述平均资源负载,且,所述每个主机节点满足对应应用容器的资源需求,则查询所述每个主机节点是否满足对应应用容器的兼容性需求;
若不满足,则确定不满足所述兼容性需求的主机节点为所述原主机节点,所述原主机节点上的应用容器为所述目标应用容器。
6.根据权利要求1-5中任一所述的方法,其特征在于,所述目标应用容器包括:一个应用容器或者一个应用容器组,所述一个应用容器组包括:多个应用容器。
7.一种应用容器的资源调度装置,其特征在于,包括:
第一确定模块,用于在主机组上多个主机节点上,对各应用容器进行初始调度,以确定所述各应用容器的原主机节点;
采集模块,用于采集所述多个主机节点的资源数据,其中,每个主机节点上运行有至少一个应用容器;
第二确定模块,用于根据所述多个主机节点的资源数据,确定目标应用容器和所述目标应用容器的目标主机节点;
迁移模块,用于将所述目标应用容器从原主机节点上迁移至所述目标主机节点上运行。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块,具体用于根据所述各应用容器的资源需求、所述各应用容器的服务质量Qos需求,在所述多个主机节点中,对所述各应用容器进行初始调度,或者,根据所述各应用容器的资源需求和预设的主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度,或者,根据所述各应用容器的资源需求、所述各应用容器的Qos需求和所述主机节点标签,在所述主机组中满足所述主机节点标签的所述多个主机节点中,对所述各应用容器进行初始调度。
9.一种服务器,其特征在于,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188242.7A CN110888741A (zh) | 2019-11-27 | 2019-11-27 | 应用容器的资源调度方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188242.7A CN110888741A (zh) | 2019-11-27 | 2019-11-27 | 应用容器的资源调度方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110888741A true CN110888741A (zh) | 2020-03-17 |
Family
ID=69749177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911188242.7A Pending CN110888741A (zh) | 2019-11-27 | 2019-11-27 | 应用容器的资源调度方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110888741A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783797A (zh) * | 2021-09-13 | 2021-12-10 | 京东科技信息技术有限公司 | 云原生容器的网络流量控制方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458717B1 (en) * | 2008-09-23 | 2013-06-04 | Gogrid, LLC | System and method for automated criteria based deployment of virtual machines across a grid of hosting resources |
EP3037964A1 (en) * | 2014-12-22 | 2016-06-29 | Rovio Entertainment Ltd | Virtual application manager in a cloud computing environment |
CN106878042A (zh) * | 2015-12-18 | 2017-06-20 | 北京奇虎科技有限公司 | 基于sla的容器资源调度方法和系统 |
CN108228347A (zh) * | 2017-12-21 | 2018-06-29 | 上海电机学院 | 一种任务感知的Docker自适应调度系统 |
CN108829494A (zh) * | 2018-06-25 | 2018-11-16 | 杭州谐云科技有限公司 | 基于负载预测的容器云平台智能资源优化方法 |
CN109783218A (zh) * | 2019-01-24 | 2019-05-21 | 中国—东盟信息港股份有限公司 | 一种基于Kubernetes容器集群的与时间相关联的容器调度方法 |
CN110058924A (zh) * | 2019-04-23 | 2019-07-26 | 东华大学 | 一种多目标优化的容器调度方法 |
CN110196751A (zh) * | 2018-04-02 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 互扰服务的隔离方法及装置、电子设备、存储介质 |
-
2019
- 2019-11-27 CN CN201911188242.7A patent/CN110888741A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458717B1 (en) * | 2008-09-23 | 2013-06-04 | Gogrid, LLC | System and method for automated criteria based deployment of virtual machines across a grid of hosting resources |
EP3037964A1 (en) * | 2014-12-22 | 2016-06-29 | Rovio Entertainment Ltd | Virtual application manager in a cloud computing environment |
CN106878042A (zh) * | 2015-12-18 | 2017-06-20 | 北京奇虎科技有限公司 | 基于sla的容器资源调度方法和系统 |
CN108228347A (zh) * | 2017-12-21 | 2018-06-29 | 上海电机学院 | 一种任务感知的Docker自适应调度系统 |
CN110196751A (zh) * | 2018-04-02 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 互扰服务的隔离方法及装置、电子设备、存储介质 |
CN108829494A (zh) * | 2018-06-25 | 2018-11-16 | 杭州谐云科技有限公司 | 基于负载预测的容器云平台智能资源优化方法 |
CN109783218A (zh) * | 2019-01-24 | 2019-05-21 | 中国—东盟信息港股份有限公司 | 一种基于Kubernetes容器集群的与时间相关联的容器调度方法 |
CN110058924A (zh) * | 2019-04-23 | 2019-07-26 | 东华大学 | 一种多目标优化的容器调度方法 |
Non-Patent Citations (2)
Title |
---|
李强: "《云计算及其应用》", 30 April 2018, 武汉大学出版社, pages: 141 - 143 * |
青岛英谷教育科技股份有限公司,青岛农业大学: "基于虚拟化技术的云计算架构的技术与实践探究", 西安电子科技大学出版社 , pages: 129 - 138 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783797A (zh) * | 2021-09-13 | 2021-12-10 | 京东科技信息技术有限公司 | 云原生容器的网络流量控制方法、装置、设备及存储介质 |
CN113783797B (zh) * | 2021-09-13 | 2023-11-07 | 京东科技信息技术有限公司 | 云原生容器的网络流量控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113243005B (zh) | 按需网络代码执行系统中的基于性能的硬件仿真 | |
US10558498B2 (en) | Method for scheduling data flow task and apparatus | |
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
CN108268317B (zh) | 一种资源分配方法及装置 | |
CN112540841B (zh) | 任务调度的方法、装置、处理器与电子设备 | |
US9535749B2 (en) | Methods for managing work load bursts and devices thereof | |
US10048987B1 (en) | Methods and apparatus for a resource sharing platform having resource quality estimation | |
US10305974B2 (en) | Ranking system | |
CN105022668B (zh) | 一种作业调度方法及系统 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN104702664B (zh) | 控制任务服务器的方法及系统 | |
CN108984286A (zh) | 一种云计算平台的资源调度方法和系统 | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN110888741A (zh) | 应用容器的资源调度方法、装置、服务器及存储介质 | |
CN111240824A (zh) | 一种cpu资源调度方法及电子设备 | |
CN109491794A (zh) | 资源管理方法、装置及电子设备 | |
CN117519929A (zh) | 实例的调度方法、装置、存储介质及电子设备 | |
CN111352710B (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN105677470B (zh) | 虚拟机任务调度方法、虚拟机系统 | |
JP6158751B2 (ja) | 計算機資源割当装置及び計算機資源割当プログラム | |
CN115964152A (zh) | Gpu资源调度方法、设备和存储介质 | |
CN116126937A (zh) | 作业调度方法、装置、电子设备及存储介质 | |
CN113127289B (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN114090201A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200317 |