CN111190696A - Docker容器的部署方法、系统、设备及存储介质 - Google Patents

Docker容器的部署方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN111190696A
CN111190696A CN201911384341.2A CN201911384341A CN111190696A CN 111190696 A CN111190696 A CN 111190696A CN 201911384341 A CN201911384341 A CN 201911384341A CN 111190696 A CN111190696 A CN 111190696A
Authority
CN
China
Prior art keywords
node
docker container
target
resource
representing
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.)
Withdrawn
Application number
CN201911384341.2A
Other languages
English (en)
Inventor
吴双艳
史宗华
张立强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201911384341.2A priority Critical patent/CN111190696A/zh
Publication of CN111190696A publication Critical patent/CN111190696A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种Docker容器的部署方法,包括:获取待部署的目标Docker容器的资源需求信息;获取节点集合中的各个节点的资源信息,并将不满足目标Docker容器的资源需求信息的各个节点进行过滤;确定出每一个经过过滤之后的节点与目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点;在目标节点上进行目标Docker容器的部署。应用本申请的方案,在进行Docker容器的部署时,可以更加有效地避免资源的浪费情况。本申请还提供了一种Docker容器的部署系统、设备及存储介质,具有相应技术效果。

Description

Docker容器的部署方法、系统、设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种Docker容器的部署方法、系统、设备及存储介质。
背景技术
Docker容器是一个开源的应用容器引擎,开发者可以以统一的方式打包应用以及依赖包到一个可移植的容器中,以便应用程序可以从一个计算环境可靠快速地运行到另一个计算环境。在Docker容器技术的支持下,应用可以采用较为高效的分模块的方式,部署在Docker容器中。
目前在进行Docker容器的部署时,通常是从符合要求的节点中随机选出一个节点进行部署。但是,由于同一容器对不同维度的资源需求不同,不同容器对相同维度的资源需求也不相同,因此,如果一个节点上部署了多个对同一维度资源需求较大的容器时,便容易发生该节点的该维度资源被耗尽,而其他维度的资源不能充分利用的现象,这种资源碎片的大量产生,会对集群的资源造成极大的浪费,同时,该节点上部署的各个容器也可能会因为某一资源的匮乏而影响业务性能。
综上所述,如何在进行Docker容器的部署时,更加有效地避免资源的浪费情况,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种Docker容器的部署方法、系统、设备及存储介质,以在进行Docker容器的部署时,更加有效地避免资源的浪费情况。
为解决上述技术问题,本发明提供如下技术方案:
一种Docker容器的部署方法,包括:
获取待部署的目标Docker容器的资源需求信息;
获取节点集合中的各个节点的资源信息,并将不满足所述目标Docker容器的资源需求信息的各个节点进行过滤;
确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点;
在所述目标节点上进行所述目标Docker容器的部署。
优选的,所述确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点,包括:
针对每一个经过过滤之后的节点,计算出该节点与所述目标Docker容器之间的相似度γ,并基于所述相似度γ确定出该节点与所述目标Docker容器之间的互补度;
将各个互补度中的最大值所对应的节点作为目标节点;
其中,待部署的目标Docker容器的资源需求信息表示为:
Figure BDA0002343146070000021
Figure BDA0002343146070000022
表示所述目标Docker容器需求的第k维度的资源,N表示所述目标Docker容器需求的资源的总维度数;
Figure BDA0002343146070000023
γ(ci,sj)表示第j个节点与所述目标Docker容器之间的相似度,sj表示经过过滤之后的节点中的第j个节点的资源信息,sj表示为:
Figure BDA0002343146070000024
Figure BDA0002343146070000025
表示第j个节点的第k维度的资源;
Figure BDA0002343146070000026
表示所述目标Docker容器需求的N个资源维度的均值,
Figure BDA0002343146070000027
Figure BDA0002343146070000028
表示第j个节点的N个资源维度的均值,
Figure BDA0002343146070000029
corr(ci,sj)=1-|γ(ci,sj)|,corr(ci,sj)表示第j个节点与所述目标Docker容器之间的互补度。
优选的,
Figure BDA00023431460700000210
Figure BDA00023431460700000211
表示所述目标Docker容器需求的CPU利用率,
Figure BDA00023431460700000212
表示所述目标Docker容器需求的内存利用率;
相应的,
Figure BDA00023431460700000213
Figure BDA00023431460700000214
表示所述第j个节点的CPU利用率,
Figure BDA00023431460700000215
表示所述第j个节点的内存利用率。
优选的,
Figure BDA00023431460700000216
Figure BDA00023431460700000217
表示所述目标Docker容器需求的CPU利用率,
Figure BDA00023431460700000218
表示所述目标Docker容器需求的内存利用率;
Figure BDA0002343146070000031
表示所述目标Docker容器需求的网络IO利用率;
相应的,
Figure BDA0002343146070000032
Figure BDA0002343146070000033
表示所述第j个节点的CPU利用率,
Figure BDA0002343146070000034
表示所述第j个节点的内存利用率,
Figure BDA0002343146070000035
表示所述第j个节点的网络IO利用率。
优选的,所述获取待部署的目标Docker容器的资源需求信息,包括:
按照预设的优先级规则,从各个待部署的Docker容器中,选取出优先级最高的Docker容器作为待部署的目标Docker容器,并获取待部署的目标Docker容器的资源需求信息。
优选的,预设的优先级规则为基于各个待部署的Docker容器各自对应的SLA等级预设的优先级规则。
优选的,在所述目标节点上进行所述目标Docker容器的部署之后,还包括:
进行节点资源信息以及待部署的Docker容器的信息更新。
一种Docker容器的部署系统,包括:
容器资源需求获取模块,用于获取待部署的目标Docker容器的资源需求信息;
节点过滤模块,用于获取节点集合中的各个节点的资源信息,并将不满足所述目标Docker容器的资源需求信息的各个节点进行过滤;
目标节点选取模块,用于确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点;
容器部署模块,用于在所述目标节点上进行所述目标Docker容器的部署。
一种Docker容器的部署设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任一实施例中所述的Docker容器的部署方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例中所述的Docker容器的部署方法的步骤。
本申请的方案中,获取节点集合中的各个节点的资源信息之后,会将不满足所述目标Docker容器的资源需求信息的各个节点进行过滤。在完成了过滤之后,会确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,资源互补度越高,也即说明该节点的资源信息与目标Docker容器的资源需求信息的契合度越高,使得该节点的各个维度的资源可以被均衡利用,不容易出现部分维度的资源被利用地较多,而其他维度的资源不能充分利用的现象。因此,将资源互补度最高的节点作为目标节点,在所述目标节点上进行所述目标Docker容器的部署。因此,本申请的方案在进行Docker容器的部署时,有利于更加有效地避免节点资源的浪费情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种Docker容器的部署方法的实施流程图;
图2为本发明中一种Docker容器的部署系统的结构示意图;
图3为本发明中一种Docker容器的部署设备的结构示意图。
具体实施方式
本发明的核心是提供一种Docker容器的部署方法,在进行Docker容器的部署时,有利于更加有效地避免节点资源的浪费情况。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种Docker容器的部署方法的实施流程图,该Docker容器的部署方法可以包括以下步骤:
步骤S101:获取待部署的目标Docker容器的资源需求信息。
不同Docker容器的资源需求不同,在实际应用中,Docker容器通常会对CPU利用率和内存利用率存在需求,因此,在本发明的一种具体实施方式中,目标Docker容器的资源需求信息ci可以包括CPU利用率
Figure BDA0002343146070000051
以及内存利用率
Figure BDA0002343146070000052
即该种实施方式中,
Figure BDA0002343146070000053
Figure BDA0002343146070000054
表示目标Docker容器需求的CPU利用率,
Figure BDA0002343146070000055
表示目标Docker容器需求的内存利用率。此外,在实际应用中,也会存在只对单个维度的资源有要求的Docker容器。
进一步的,在本发明的一种具体实施方式中,考虑到除了CPU利用率以及内存利用率之外,为了进一步地保障目标Docker容器的性能,还可以考虑网络IO利用率,即该种实施方式中,目标Docker容器的资源需求信息可以包括3个维度,
Figure BDA0002343146070000056
Figure BDA0002343146070000057
表示目标Docker容器需求的CPU利用率,
Figure BDA0002343146070000058
表示目标Docker容器需求的内存利用率;
Figure BDA0002343146070000059
表示目标Docker容器需求的网络IO利用率。
步骤S102:获取节点集合中的各个节点的资源信息,并将不满足目标Docker容器的资源需求信息的各个节点进行过滤。
可以理解的是,例如待部署的目标Docker容器的资源需求信息包括2个维度的资源,则需要获取节点集合中的各个节点的这2个维度的资源信息。例如,前述实施方式中,待部署的目标Docker容器的资源需求信息包括CPU利用率和内存利用率时,需要获取节点集合中的各个节点的CPU利用率和内存利用率这2个维度的资源信息。具体的,针对过滤之后的第j个节点的资源信息sj
Figure BDA00023431460700000510
Figure BDA00023431460700000511
表示第j个节点的CPU利用率,
Figure BDA00023431460700000512
表示第j个节点的内存利用率。
并且可以理解的是,将不满足目标Docker容器的资源需求信息的各个节点进行过滤之后,可能剩下一个节点,也可能剩下多个节点,但通常不会出现各个节点均被过滤的情况,如果出现了,则说明集群的资源不足,可能需要进行集群资源的提升或者利用其他集群来实现用户业务。
前述的另一种具体实施方式中,目标Docker容器的资源需求信息包括3个维度,因此该种实施方式中,sj可以
Figure BDA00023431460700000513
Figure BDA00023431460700000514
表示第j个节点的CPU利用率,
Figure BDA00023431460700000515
表示第j个节点的内存利用率,
Figure BDA00023431460700000516
表示第j个节点的网络IO利用率。
步骤S103:确定出每一个经过过滤之后的节点与目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点。
针对每一个经过过滤之后的节点,需要确定出该节点与目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点。也就是说,目标节点应当是适用于部署目标Docker容器的节点,在目标节点上部署目标Docker容器,由于目标节点与目标Docker容器之间的资源互补度最高,因此可以使得目标节点的各个维度的资源可以被均衡利用,不容易出现部分维度的资源被利用地较多,而其他维度的资源不能充分利用的现象。
进行资源互补度的确定的具体方式可以根据需要进行设定和调整,例如通常可以基于皮尔森相关系数的聚类算法来实现。
具体的,在本发明的一种具体实施方式中,步骤S103可以具体包括:
针对每一个经过过滤之后的节点,计算出该节点与目标Docker容器之间的相似度γ,并基于相似度γ确定出该节点与目标Docker容器之间的互补度,
将各个互补度中的最大值所对应的节点作为目标节点;
其中,待部署的目标Docker容器的资源需求信息表示为:
Figure BDA0002343146070000061
Figure BDA0002343146070000062
表示目标Docker容器需求的第k维度的资源,N表示目标Docker容器需求的资源的总维度数;
Figure BDA0002343146070000063
γ(ci,sj)表示第j个节点与目标Docker容器之间的相似度。即针对这N个维度的资源,二者的资源相似度。
sj表示经过过滤之后的节点中的第j个节点的资源信息;
即sj表示为:
Figure BDA0002343146070000064
Figure BDA0002343146070000065
表示第j个节点的第k维度的资源;
Figure BDA0002343146070000066
表示目标Docker容器需求的N个资源维度的均值,
Figure BDA0002343146070000067
Figure BDA0002343146070000068
表示第j个节点的N个资源维度的均值,
Figure BDA0002343146070000069
corr(ci,sj)=1-|γ(ci,sj)|,corr(ci,sj)表示第j个节点与目标Docker容器之间的互补度,即针对这N个维度的资源,二者的资源互补度。
该种实施方式中,节点与目标Docker容器之间的相似度γ越小,二者之间的互补度越大,该节点也就越适合作为部署目标Docker容器的节点。该种实施方式计算简单,实施便捷。
步骤S104:在目标节点上进行目标Docker容器的部署。
在确定了目标节点之后,也就是确定出最佳节点之后,便可以在该目标节点上进行目标Docker容器的部署。
进一步的,在本发明的一种具体实施方式中,在步骤S104之后还可以包括:进行节点资源信息以及待部署的Docker容器的信息更新,以便触发其他的Docker容器的部署进程,并且相关人员也可以及时看出容器的部署情况。
在本发明的一种具体实施方式中,步骤S101可以包括:
按照预设的优先级规则,从各个待部署的Docker容器中,选取出优先级最高的Docker容器作为待部署的目标Docker容器,并获取待部署的目标Docker容器的资源需求信息。
前文的实施方式中,描述了部署某一个Docker容器的过程,即描述了部署目标Docker容器的过程。而在实际应用中,经常会存在有多个Docker容器需要部署的情况。而在传统的方案中,通常是从待部署的Docker容器这一集群中随机选出目标Docker容器,或者是按照生成时间的先后依次进行各Docker容器的部署。而在本发明的该种具体实施方式中,可以按照预设的优先级规则,从各个待部署的Docker容器中,选取出优先级最高的Docker容器作为待部署的目标Docker容器,相较于随机选取,按照优先级进行选取的方案有利于更加方便地满足实际需要,将一些特定的Docker容器进行优先部署。
预设的优先级规则也可以根据需要进行设定,而在本发明的一种具体实施方式中,预设的优先级规则为基于各个待部署的Docker容器各自对应的SLA(Service-LevelAgreement,服务等级协议)等级预设的优先级规则。SLA是一个用户与云服务提供商签订的保证用户权益的协议,而各个待部署的Docker容器可能是由不同用户提交的,因此,该种实施方式中,基于各个待部署的Docker容器各自对应的SLA等级,确定出各个待部署的Docker容器的优先级,有利于降低SLA的违背率。也即SLA等级高的用户提供的Docker容器的优先级高于SLA等级低的用户提供的Docker容器的优先级。当然,当SLA等级相同时,可以进一步地例如按照时间的先后或者随机的方式确定出优先级。
应用本发明实施例所提供的技术方案,获取节点集合中的各个节点的资源信息之后,会将不满足目标Docker容器的资源需求信息的各个节点进行过滤。在完成了过滤之后,会确定出每一个经过过滤之后的节点与目标Docker容器之间的资源互补度,资源互补度越高,也即说明该节点的资源信息与目标Docker容器的资源需求信息的契合度越高,使得该节点的各个维度的资源可以被均衡利用,不容易出现部分维度的资源被利用地较多,而其他维度的资源不能充分利用的现象。因此,将资源互补度最高的节点作为目标节点,在目标节点上进行目标Docker容器的部署。因此,本申请的方案在进行Docker容器的部署时,有利于更加有效地避免节点资源的浪费情况。
相应于上面的方法实施例,本发明实施例还提供了一种Docker容器的部署系统,可与上文相互对应参照。
参见图2所示,为本发明中一种Docker容器的部署系统的结构示意图,包括:
容器资源需求获取模块201,用于获取待部署的目标Docker容器的资源需求信息;
节点过滤模块202,用于获取节点集合中的各个节点的资源信息,并将不满足目标Docker容器的资源需求信息的各个节点进行过滤;
目标节点选取模块203,用于确定出每一个经过过滤之后的节点与目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点;
容器部署模块204,用于在目标节点上进行目标Docker容器的部署。
在本发明的一种具体实施方式中,目标节点选取模块203具体用于:
针对每一个经过过滤之后的节点,计算出该节点与目标Docker容器之间的相似度γ,并基于相似度γ确定出该节点与目标Docker容器之间的互补度,
将各个互补度中的最大值所对应的节点作为目标节点;
其中,待部署的目标Docker容器的资源需求信息表示为:
Figure BDA0002343146070000081
Figure BDA0002343146070000082
表示目标Docker容器需求的第k维度的资源,N表示目标Docker容器需求的资源的总维度数;
Figure BDA0002343146070000091
γ(ci,sj)表示第j个节点与目标Docker容器之间的相似度,sj表示经过过滤之后的节点中的第j个节点的资源信息,sj表示为:
Figure BDA0002343146070000092
Figure BDA0002343146070000093
表示第j个节点的第k维度的资源;
Figure BDA0002343146070000094
表示目标Docker容器需求的N个资源维度的均值,
Figure BDA0002343146070000095
Figure BDA0002343146070000096
表示第j个节点的N个资源维度的均值,
Figure BDA0002343146070000097
corr(ci,sj)=1-|γ(ci,sj)|,corr(ci,sj)表示第j个节点与目标Docker容器之间的互补度。
在本发明的一种具体实施方式中,
Figure BDA0002343146070000098
Figure BDA0002343146070000099
表示目标Docker容器需求的CPU利用率,
Figure BDA00023431460700000910
表示目标Docker容器需求的内存利用率;
相应的,
Figure BDA00023431460700000911
Figure BDA00023431460700000912
表示第j个节点的CPU利用率,
Figure BDA00023431460700000913
表示第j个节点的内存利用率。
在本发明的一种具体实施方式中,
Figure BDA00023431460700000914
Figure BDA00023431460700000915
表示目标Docker容器需求的CPU利用率,
Figure BDA00023431460700000916
表示目标Docker容器需求的内存利用率;
Figure BDA00023431460700000917
表示目标Docker容器需求的网络IO利用率;
相应的,
Figure BDA00023431460700000918
Figure BDA00023431460700000919
表示第j个节点的CPU利用率,
Figure BDA00023431460700000920
表示第j个节点的内存利用率,
Figure BDA00023431460700000921
表示第j个节点的网络IO利用率。
在本发明的一种具体实施方式中,容器资源需求获取模块201,具体用于:
按照预设的优先级规则,从各个待部署的Docker容器中,选取出优先级最高的Docker容器作为待部署的目标Docker容器,并获取待部署的目标Docker容器的资源需求信息。
在本发明的一种具体实施方式中,预设的优先级规则为基于各个待部署的Docker容器各自对应的SLA等级预设的优先级规则。
在本发明的一种具体实施方式中,还包括:
信息更新模块,用于进行节点资源信息以及待部署的Docker容器的信息更新。
相应于上面的方法和系统实施例,本发明实施例还提供了一种Docker容器的部署设备以及一种计算机可读存储介质,可与上文相互对应参照。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的Docker容器的部署方法的步骤。
参见图3所示,为本发明中一种Docker容器的部署设备的结构示意图,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行计算机程序以实现上述任一实施例中的Docker容器的部署方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种Docker容器的部署方法,其特征在于,包括:
获取待部署的目标Docker容器的资源需求信息;
获取节点集合中的各个节点的资源信息,并将不满足所述目标Docker容器的资源需求信息的各个节点进行过滤;
确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点;
在所述目标节点上进行所述目标Docker容器的部署。
2.根据权利要求1所述的Docker容器的部署方法,其特征在于,所述确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点,包括:
针对每一个经过过滤之后的节点,计算出该节点与所述目标Docker容器之间的相似度γ,并基于所述相似度γ确定出该节点与所述目标Docker容器之间的互补度;
将各个互补度中的最大值所对应的节点作为目标节点;
其中,待部署的目标Docker容器的资源需求信息表示为:
Figure FDA0002343146060000011
Figure FDA0002343146060000012
表示所述目标Docker容器需求的第k维度的资源,N表示所述目标Docker容器需求的资源的总维度数;
Figure FDA0002343146060000013
γ(ci,sj)表示第j个节点与所述目标Docker容器之间的相似度,sj表示经过过滤之后的节点中的第j个节点的资源信息,sj表示为:
Figure FDA0002343146060000014
Figure FDA0002343146060000015
表示第j个节点的第k维度的资源;
Figure FDA0002343146060000016
表示所述目标Docker容器需求的N个资源维度的均值,
Figure FDA0002343146060000017
Figure FDA0002343146060000018
表示第j个节点的N个资源维度的均值,
Figure FDA0002343146060000019
corr(ci,sj)=1-|γ(ci,sj)|,corr(ci,sj)表示第j个节点与所述目标Docker容器之间的互补度。
3.根据权利要求2所述的Docker容器的部署方法,其特征在于,
Figure FDA0002343146060000021
Figure FDA0002343146060000022
表示所述目标Docker容器需求的CPU利用率,
Figure FDA0002343146060000023
表示所述目标Docker容器需求的内存利用率;
相应的,
Figure FDA0002343146060000024
Figure FDA0002343146060000025
表示所述第j个节点的CPU利用率,
Figure FDA0002343146060000026
表示所述第j个节点的内存利用率。
4.根据权利要求2所述的Docker容器的部署方法,其特征在于,
Figure FDA0002343146060000027
Figure FDA0002343146060000028
表示所述目标Docker容器需求的CPU利用率,
Figure FDA0002343146060000029
表示所述目标Docker容器需求的内存利用率;
Figure FDA00023431460600000210
表示所述目标Docker容器需求的网络IO利用率;
相应的,
Figure FDA00023431460600000211
Figure FDA00023431460600000212
表示所述第j个节点的CPU利用率,
Figure FDA00023431460600000213
表示所述第j个节点的内存利用率,
Figure FDA00023431460600000214
表示所述第j个节点的网络IO利用率。
5.根据权利要求1至4任一项所述的Docker容器的部署方法,其特征在于,所述获取待部署的目标Docker容器的资源需求信息,包括:
按照预设的优先级规则,从各个待部署的Docker容器中,选取出优先级最高的Docker容器作为待部署的目标Docker容器,并获取待部署的目标Docker容器的资源需求信息。
6.根据权利要求5所述的Docker容器的部署方法,其特征在于,预设的优先级规则为基于各个待部署的Docker容器各自对应的SLA等级预设的优先级规则。
7.根据权利要求5所述的Docker容器的部署方法,其特征在于,在所述目标节点上进行所述目标Docker容器的部署之后,还包括:
进行节点资源信息以及待部署的Docker容器的信息更新。
8.一种Docker容器的部署系统,其特征在于,包括:
容器资源需求获取模块,用于获取待部署的目标Docker容器的资源需求信息;
节点过滤模块,用于获取节点集合中的各个节点的资源信息,并将不满足所述目标Docker容器的资源需求信息的各个节点进行过滤;
目标节点选取模块,用于确定出每一个经过过滤之后的节点与所述目标Docker容器之间的资源互补度,并将资源互补度最高的节点作为目标节点;
容器部署模块,用于在所述目标节点上进行所述目标Docker容器的部署。
9.一种Docker容器的部署设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的Docker容器的部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的Docker容器的部署方法的步骤。
CN201911384341.2A 2019-12-28 2019-12-28 Docker容器的部署方法、系统、设备及存储介质 Withdrawn CN111190696A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911384341.2A CN111190696A (zh) 2019-12-28 2019-12-28 Docker容器的部署方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911384341.2A CN111190696A (zh) 2019-12-28 2019-12-28 Docker容器的部署方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111190696A true CN111190696A (zh) 2020-05-22

Family

ID=70705909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911384341.2A Withdrawn CN111190696A (zh) 2019-12-28 2019-12-28 Docker容器的部署方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111190696A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214321A (zh) * 2020-10-10 2021-01-12 中国联合网络通信集团有限公司 一种新增微服务的节点选择方法、装置及微服务管理平台
CN113473488A (zh) * 2021-07-02 2021-10-01 福建晶一科技有限公司 一种基于容器的cu与mec共平台部署方法
CN113608837A (zh) * 2021-08-06 2021-11-05 济南浪潮数据技术有限公司 一种虚拟机调度方法、系统、装置及可读存储介质
CN113641453A (zh) * 2021-08-17 2021-11-12 中国联合网络通信集团有限公司 节点选择方法及节点选择设备
WO2022105659A1 (zh) * 2020-11-17 2022-05-27 深圳前海微众银行股份有限公司 应用容器管理方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256481A1 (en) * 2014-03-06 2015-09-10 Jisto Inc. Elastic Compute Cloud Based On Underutilized Server Resources Using A Distributed Container System
CN109144777A (zh) * 2018-07-27 2019-01-04 北京友普信息技术有限公司 一种基于Docker的异构虚拟计算灾备的方法
CN109213493A (zh) * 2017-07-06 2019-01-15 中兴通讯股份有限公司 容器部署方法、特殊资源管理终端及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256481A1 (en) * 2014-03-06 2015-09-10 Jisto Inc. Elastic Compute Cloud Based On Underutilized Server Resources Using A Distributed Container System
CN109213493A (zh) * 2017-07-06 2019-01-15 中兴通讯股份有限公司 容器部署方法、特殊资源管理终端及可读存储介质
CN109144777A (zh) * 2018-07-27 2019-01-04 北京友普信息技术有限公司 一种基于Docker的异构虚拟计算灾备的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴双艳: ""基于Docker容器调度优化方法的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214321A (zh) * 2020-10-10 2021-01-12 中国联合网络通信集团有限公司 一种新增微服务的节点选择方法、装置及微服务管理平台
CN112214321B (zh) * 2020-10-10 2023-06-16 中国联合网络通信集团有限公司 一种新增微服务的节点选择方法、装置及微服务管理平台
WO2022105659A1 (zh) * 2020-11-17 2022-05-27 深圳前海微众银行股份有限公司 应用容器管理方法、装置及设备
CN113473488A (zh) * 2021-07-02 2021-10-01 福建晶一科技有限公司 一种基于容器的cu与mec共平台部署方法
CN113473488B (zh) * 2021-07-02 2024-01-30 福建晶一科技有限公司 一种基于容器的cu与mec共平台部署方法
CN113608837A (zh) * 2021-08-06 2021-11-05 济南浪潮数据技术有限公司 一种虚拟机调度方法、系统、装置及可读存储介质
CN113641453A (zh) * 2021-08-17 2021-11-12 中国联合网络通信集团有限公司 节点选择方法及节点选择设备

Similar Documents

Publication Publication Date Title
CN111190696A (zh) Docker容器的部署方法、系统、设备及存储介质
CN110221915B (zh) 节点调度方法和装置
CN107832153B (zh) 一种Hadoop集群资源自适应分配方法
US20190394132A1 (en) System and Method for Network Slicing for Service-Oriented Networks
US20180027061A1 (en) Method and apparatus for elastically scaling virtual machine cluster
WO2012144985A1 (en) Scheduling map and reduce tasks of jobs for execution according to performance goals
CN108415845A (zh) Ab测试系统指标置信区间的计算方法、装置和服务器
CN111225050B (zh) 云计算资源分配方法及装置
EP2921954A1 (en) Virtual machine allocation method and apparatus
CN110471900A (zh) 数据处理方法及终端设备
CN106325756B (zh) 一种数据存储、数据计算方法和设备
US9798877B2 (en) Security risk-based resource allocation
US9218198B2 (en) Method and system for specifying the layout of computer system resources
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
CN106815254A (zh) 一种数据处理方法和装置
US20170031720A1 (en) Deploying software in a multi-instance node
US20120324466A1 (en) Scheduling Execution Requests to Allow Partial Results
Delavar et al. A synthetic heuristic algorithm for independent task scheduling in cloud systems
CN112150023A (zh) 任务分配方法、装置及存储介质
CN113114514B (zh) 一种基于多属性层次分析法的网络资源备份方法及系统
CN115640117A (zh) 基于资源分配的微服务实例部署方法及装置
CN113590342A (zh) 一种云计算系统中的资源分配方法及系统
CN112817428A (zh) 任务运行方法、装置、移动终端和存储介质
CN110347477B (zh) 一种云环境下服务自适应部署方法和装置
CN108664322A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200522

WW01 Invention patent application withdrawn after publication