CN110806920B - 镜像部署方法、装置 - Google Patents
镜像部署方法、装置 Download PDFInfo
- Publication number
- CN110806920B CN110806920B CN201910932997.7A CN201910932997A CN110806920B CN 110806920 B CN110806920 B CN 110806920B CN 201910932997 A CN201910932997 A CN 201910932997A CN 110806920 B CN110806920 B CN 110806920B
- Authority
- CN
- China
- Prior art keywords
- deployed
- mirror image
- container
- mirror
- node
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Facsimiles In General (AREA)
Abstract
本发明实施例公开了一种镜像部署方法,包括:获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略,所述自动伸缩策略包括第一镜像标识、所述第一镜像标识对应的容器的最大部署数量、所述第一镜像标识对应的容器的当前部署数量,所述复制控制策略包括第二镜像标识、所述第二镜像标识对应的容器的部署数量;根据所述容器的配置策略确定待部署的镜像的标识。本方法通过对待部署的镜像进行确定,避免了容器在启动时还需获取镜像造成的时延。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种镜像部署方法与装置,以及计算机系统。
背景技术
现有技术中,一般一个节点或主机上部署一个或多个容器,容器的类型一般与应用对应,即运行相同应用的容器可以认为是同一类容器。当用户需要在节点或主机上部署某一个应用的容器时,首先需要获取该应用对应的镜像,再根据该镜像创建对应的容器,用户可以根据某一应用对应的镜像在节点或主机上创建多个运行该应用的容器。
通过容器技术来部署应用的一大特点就是启动快速,而任一节点或主机启动某一应用的容器前必须先获取该应用对应的镜像,一般的热门或最新的镜像都存储在镜像库中,当用户需要在节点或主机上启动某一应用对应的容器时,获取该应用对应的镜像的耗时往往制约了容器的启动速度。
发明内容
针对上述现有技术而提出本发明,利用本发明可以解决现有技术方案中部署容器时需要获取镜像带来的容器启动的效率降低的问题。
本发明实施例的第一方面提供了一种镜像部署方法,包括:获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略,所述自动伸缩策略包括第一镜像标识、所述第一镜像标识对应的容器的最大部署数量、所述第一镜像标识对应的容器的当前部署数量,所述复制控制策略包括第二镜像标识、所述第二镜像标识对应的容器的部署数量;根据所述容器的配置策略确定待部署的镜像的标识。
结合第一方面,在第一方面的第一种实现方式中,所述方法还包括:获取镜像的热度信息,所述镜像的热度信息包括第三镜像标识以及所述第三镜像标识对应的镜像的热门指数;所述根据所述容器的配置策略确定待部署的镜像的标识还包括:根据所述镜像的热度信息,确定所述待部署的镜像的标识。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述方法还包括:根据所述待部署的镜像的标识对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。
结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,所述方法还包括:根据所述待部署的镜像的标识对应的容器的配置策略和所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。通过确定待部署的镜像对应的容器的预部署数量,可以得知该待部署的镜像需要在多少个节点上预部署,使得如果需要启动该待部署的镜像对应的节点的之后,可以在这些预部署了镜像的节点上直接启动容器,无须在启动容器时再从镜像库获取镜像,有效提升了容器的启动速度。
结合第一方面的第二种或第三种实现方式,在第一方面的第四种实现方式中,所述方法还包括:获取各个节点的负载状态信息以及各个节点已部署的镜像的列表;判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则根据各个节点的负载状态信息,选取未部署所述待部署的镜像的负载最低的节点用于部署所述待部署的镜像。在确定了待部署的镜像的预部署数量后,通过选取合适的节点用于部署镜像,使得这些部署了镜像的节点能够快速启动容器,无须在启动容器的时候去获取镜像。需要说明的是,在第一方面的第四种实现方式中,除了获取各个节点的负载状态信息以及各个节点已部署的镜像的列表之外,还获取了各个节点的容器的部署情况,其中包括了关于各个节点部署了多少个何种镜像对应的容器的信息。
本发明实施例的第二方面提供了一种镜像部署装置,包括:接收单元,用于获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略,所述自动伸缩策略包括第一镜像标识、所述第一镜像标识对应的容器的最大部署数量、所述第一镜像标识对应的容器的当前部署数量,所述复制控制策略包括第二镜像标识、所述第二镜像标识对应的容器的部署数量;处理单元,用于根据所述容器的配置策略确定待部署的镜像的标识。
结合第二方面,在第二方面的第一种实现方式中,所述接收单元还用于获取镜像的热度信息,所述镜像的热度信息包括第三镜像标识以及所述第三镜像标识对应的镜像的热门指数;所述处理单元还用于根据所述镜像的热度信息,确定所述待部署的镜像的标识。
结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述处理单元还用于根据所述待部署的镜像的标识对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。
结合第二方面的第一种实现方式,在第二方面的第三种实现方式中,所述处理单元还用于根据所述待部署的镜像的标识对应的容器的配置策略和所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。
结合第二方面的第二或第三种实现方式,在第二方面的第四种实现方式中,所述镜像部署装置还包括:选择单元,用于获取各个节点的负载状态信息以及各个节点已部署的镜像的列表;判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则根据各个节点的负载状态信息,选取未部署所述待部署的镜像的负载最低的节点用于部署所述待部署的镜像。需要说明的是,在第二方面的第四种实现方式中,除了获取各个节点的负载状态信息以及各个节点已部署的镜像的列表之外,还获取了各个节点的容器的部署情况,其中包括了关于各个节点部署了多少个何种镜像对应的容器的信息。
本发明实施例的第三方面提供了一种计算机系统,包括:处理器,存储器和总线,其中,所述处理器和所述存储器通过所述总线通信;所述存储器用于存储计算机执行指令,所述处理器用于执行所述计算机执行指令;所述处理器还用于获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略,所述自动伸缩策略包括第一镜像标识、所述第一镜像标识对应的容器的最大部署数量、所述第一镜像标识对应的容器的当前部署数量,所述复制控制策略包括第二镜像标识、所述第二镜像标识对应的容器的部署数量;根据所述容器的配置策略确定待部署的镜像的标识。
结合第三方面,在第三方面的第一种实现方式中,所述处理器还用于获取镜像的热度信息,所述镜像的热度信息包括第三镜像标识以及所述第三镜像标识对应的镜像的热门指数;所述根据所述容器的配置策略确定待部署的镜像的标识还包括:根据所述镜像的热度信息,确定所述待部署的镜像的标识。
结合第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述处理器还用于根据所述待部署的镜像的标识对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。
结合第三方面的第一实现方式,在第三方面的第三种实现方式中,所述处理器还用于根据所述待部署的镜像的标识对应的容器的配置策略和所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。
结合第三方面的第二种或第三种实现方式,在第三方面的第四种实现方式中,所述处理器还用于获取各个节点的负载状态信息以及各个节点已部署的镜像的列表;判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则根据各个节点的负载状态信息,选取未部署所述待部署的镜像的负载最低的节点用于部署所述待部署的镜像。需要说明的是,在第三方面的第四种实现方式中,除了获取各个节点的负载状态信息以及各个节点已部署的镜像的列表之外,还获取了各个节点的容器的部署情况,其中包括了关于各个节点部署了多少个何种镜像对应的容器的信息。
本发明实施例提供的镜像的部署方法、装置以及计算机系统,通过获取各个镜像对应的容器的自动伸缩策略或复制控制策略,来选择出待部署的镜像的标识,并确定部署这些镜像的节点,以使得这些节点能够在启动对应的容器之前,就能够从镜像库中获取对应的镜像,避免了节点启动容器时需要从镜像库中下载镜像的耗时,提升了启动容器的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法实施例所应用的镜像部署方法的流程示意图;
图2为本发明装置实施例所应用的镜像部署装置的组成结构示意图;
图3为本发明系统实施例所应用的计算机系统的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本说明书中的术语“镜像”,一般包括可以用于支撑容器运行的某一应用的文件系统,例如热门的应用容器引擎Docker,基于Docker的容器开发人员一般常开发应用的Dockerfile,基于Dockerfile生成Docker镜像,而节点或主机在获取Docker镜像后,再建立Docker容器。
本说明书中的术语“镜像库”,指代存储镜像的数据库,也常称为Docker Hub,镜像库多为公有的,一般由镜像的发布方维护,例如阿里云Docker镜像库。
本说明书中的术语“容器资源管理平台”,一般指代对各个节点的容器的部署和调度的平台,其功能包括管理各个节点的资源视图(CPU、内存利用率、网络、存储的利用情况等)、各个节点的容器分布视图等。
方法实施例
本方法实施例详细阐述一种镜像的部署方法,该方法常用于容器的部署及应用系统中,其流程示意图如图1所示,包括:
步骤202,获取容器的配置策略,包括容器的自动伸缩(Auto Scaling)策略或复制控制(Replication Controller)策略。其中,容器的自动伸缩策略包括:第一镜像标识,第一镜像标识对应的容器的最大部署数量,第一镜像标识对应的容器的当前部署数量,如表1。容器的自动伸缩策略一般用于管理系统中某一镜像对应的容器的部署情况,例如该容器能够部署的最大数量,最小数量,当前的部署数量;容器的复制控制(ReplicationController)策略,包括:第二镜像标识,第二镜像标识对应的容器的部署数量,如表2,此处的容器的部署数量为预设的该容器期望的部署数量。容器的复制控制策略也用于管理某一镜像对应的容器的部署情况,例如该容器在系统中需要部署的数量,需要部署该容器的主机或节点的数量。其中,第一镜像标识对应的容器,指代运行第一镜像标识对应的镜像的容器,其它镜像对应的容器以此类推。
镜像标识 | 容器的最大部署数量 | 容器的当前部署数量 |
A | 30 | 5 |
B | 40 | 10 |
表1
镜像标识 | 容器的部署数量 |
C | 20 |
D | 50 |
表2
步骤204,根据容器的配置策略确定待部署的镜像的标识。
具体的,容器的配置策略中包括该容器对应的镜像标识,因此可以直接确定待部署的镜像的标识,例如容器的配置策略为自动伸缩策略时,可以设置为容器的最大部署数量大于预设的阈值时,该容器对应的镜像标识为待部署的镜像的标识;容器的配置策略为复制控制策略时,可以设置为容器部署数量大于预设的阈值时,该容器对应的镜像标识为待部署的镜像的标识。由于容器的部署及应用系统中,并不是所有类型的容器都有对应的配置策略,因此也可以设置为所有的有配置策略的容器对应的镜像标识,均为待部署的镜像的标识。
可选的,步骤202中还包括:获取镜像的热度信息,镜像的热度信息用于表示镜像库中各个镜像的热门指数,例如下载次数、点击次数、评论打分等,镜像的热度信息包括第三镜像标识以及第三镜像标识对应的镜像的热门指数。步骤202中的镜像的热度信息,也可以为镜像库中热门程度最高的n个镜像的标识,此处的n为预设的数字。
需要说明的是,容器的配置策略以及镜像的热度信息可以按照任意顺序获取,也可以周期性的获取,一般镜像的热度信息来源于镜像库。
可选的,步骤202中还获取了镜像的热度信息的情况下,步骤204还包括:根据镜像的热度信息,确定待部署的镜像的标识。
具体的,无论容器的配置策略或镜像的热度信息均包含镜像标识,因此步骤204中除了根据容器的配置策略确定待部署的镜像的标识外,还可以根据镜像的热度信息确定待部署的镜像的标识,例如从中选出热门程度最高的m个镜像的标识,此处的m为预设的数字。步骤204中还可以综合考虑容器的配置策略、镜像的热度信息来确定待部署的镜像的标识。
可选的,步骤204后还包括步骤206。步骤206,根据待部署的镜像的标识对应的容器的配置策略,确定该待部署的镜像对应的容器的预部署数量。
具体的,如果步骤204中确定了多个待部署的镜像的标识,则步骤206中可以根据各个待部署的镜像的标识对应的容器的配置策略的各个参数,确定各个待部署的镜像对应的容器的预部署数量。例如,已知某一容器的最大部署数量为50个,则可以设置该容器的预部署数量为50×Q,Q的取值可以根据实际需要自行设计。
可选的,如果步骤202中还获取了镜像的热度信息的情况下,则步骤206中可以根据各个待部署的镜像的标识对应的容器的配置策略的各个参数和热度信息,例如部署镜像A的数量=f(镜像A的配置策略参数,镜像A的热度信息),确定待部署的镜像对应的容器的预部署数量,此处的f为预设的函数。
需要说明的是,可能出现某一镜像的标识对应的容器的配置策略存在,而该镜像的标识对应的镜像的热度信息不存在的情况,此时将该镜像的热度信息对于f(镜像A的配置策略参数,镜像A的热度信息)的影响消除即可。
可选的,步骤204后执行了步骤206的情况下,步骤206后还包括步骤208。步骤208,获取各个节点的负载状态信息、各个节点已部署的镜像的列表;判断该待部署的镜像对应的容器的已部署数量,与待部署的镜像对应的容器的预部署数量的大小关系;若该待部署的镜像对应的容器的已部署数量小于该待部署的镜像对应的容器的预部署数量,则根据各个节点的负载状态信息,选取未部署该待部署的镜像的负载最低的节点用于部署该待部署的镜像。需要说明的是,步骤208中,除了获取各个节点的负载状态信息以及各个节点已部署的镜像的列表之外,还获取了各个节点的容器的部署情况,其中包括了关于各个节点部署的容器的数量,以及这些容器的类型,即这些容器对应的镜像的类型。
例如,步骤206中确定容器A的预部署数量为50个,获取各个节点上已经部署了的容器A的数量,如果该数量少于50个,则还需要选取新的节点用于部署该待部署的镜像,如果该待部署的镜像对应的容器的已部署数量不小于该待部署的镜像对应的容器的预部署数量,则无须再选取节点来部署该待部署的镜像。
步骤208中,选取了未部署该待部署的镜像的节点中负载最低的节点后,如果该节点的剩余资源不够支撑P个容器,此处的P为该待部署的镜像对应的容器的预部署数量与该待部署的镜像对应的容器的已部署数量之差,则步骤208中还需再次选取未部署该待部署的镜像的负载次低的节点用于部署该待部署的镜像。该选取过程不断重复,直至选取的用于部署该待部署的镜像的节点的剩余资源足够支撑P个容器的启用。
上述各个节点的负载状态信息包括了节点的标识,以及该节点对应的负载状态,例如CPU利用率,内存利用率等,如表3;各个节点已部署的镜像的列表包括了节点的标识与该节点已经部署了的镜像的标识的对应关系,如表4。通过各个节点已部署的镜像的列表可以获得各个镜像标识对应的镜像的已部署数量。
节点标识 | CPU利用率 | 内存利用率 |
1 | 30% | 50% |
3 | 40% | 60% |
表3
节点标识 | 镜像标识 |
1 | A、E |
3 | B、C |
表4
步骤202至步骤208可以均由镜像部署装置执行,则步骤208中需要从容器资源管理平台获取各个节点的负载状态信息、各个节点已部署的镜像的列表,随后镜像部署装置获取了各个待部署的镜像的标识,与需要部署该待部署的镜像的节点的标识后,如表5,将该表发送至容器资源管理平台,以使得容器资源管理平台根据该表指示节点1、节点3从镜像库中获取镜像标识为E的镜像,节点1、节点5从镜像库中获取镜像标识为F的镜像。
步骤202至步骤206可以均由镜像部署装置执行,步骤208由容器资源管理平台执行,则步骤206中获取了该待部署的镜像对应的容器的预部署数量后将其发送至容器资源管理平台,容器资源管理平台执行步骤208后获取了各个待部署的镜像的标识,与需要部署该待部署的镜像的节点的标识后,如表5,指示节点1、节点3从镜像库中获取镜像标识为E的镜像,节点1、节点5从镜像库中获取镜像标识为F的镜像。
表5
上述实施例提供了一种镜像的部署方法,通过获取各个镜像对应的容器的自动伸缩策略或复制控制策略,来选择出待部署的镜像的标识,并确定部署这些镜像的节点,以使得这些节点能够在启动对应的容器之前,就能够从镜像库中获取对应的镜像,避免了节点启动容器时需要从镜像库中下载镜像的耗时,提升了启动容器的效率。
装置实施例
本装置实施例详细阐述一种镜像部署装置400,该装置常用于容器的部署及应用系统中,其组成结构示意图如图2所示,包括:
接收单元402,用于获取容器的配置策略,容器的配置策略包括自动伸缩策略或复制控制策略,自动伸缩策略包括第一镜像标识、第一镜像标识对应的容器的最大部署数量、第一镜像标识对应的容器的当前部署数量,复制控制策略包括第二镜像标识、第二镜像标识对应的容器的部署数量。
具体的,接收单元402用于执行方法实施例中的步骤202及步骤202的所有可选方法。
可选的,接收单元402还用于获取镜像的热度信息,镜像的热度信息包括第三镜像标识以及第三镜像标识对应的镜像的热门指数。
处理单元404,用于根据接收单元402获取的容器的配置策略确定待部署的镜像的标识。
具体的,处理单元404用于执行方法实施例中的步骤204及步骤204的所有可选方法,以及步骤206及步骤206的所有可选方法。
可选的,接收单元402获取了镜像的热度信息的情况下,处理单元404还用于根据镜像的热度信息,确定待部署的镜像的标识。
可选的,处理单元404在获取了待部署的镜像的标识后,还根据所述待部署的镜像的标识对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。
可选的,接收单元402获取了镜像的热度信息的情况下,处理单元404在获取了待部署的镜像的标识后,还用于根据所述待部署的镜像的标识对应的容器的配置策略和所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。
可选的,镜像部署装置400还包括选择单元406,用于执行方法实施例中的步骤208即步骤208的所有细节。
选择单元406,用于获取各个节点的负载状态信息以及各个节点已部署的镜像的列表;判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则根据各个节点的负载状态信息,选取未部署所述待部署的镜像的负载最低的节点用于部署所述待部署的镜像。
需要说明的是,选择单元406除了获取各个节点的负载状态信息以及各个节点已部署的镜像的列表之外,还获取了各个节点的容器的部署情况,其中包括了关于各个节点部署的容器的数量,以及这些容器的类型,即这些容器对应的镜像的类型。
实际使用中,镜像部署装置400的各个单元的部署可以有以下两种方式:
方式1:接收单元402和处理单元404和选择单元406均位于一个单独的管理装置中,该管理装置需要定期或触发性的从容器资源管理平台获取各个节点的负载状态信息、各个节点已部署的镜像的列表,该管理装置获取了各个待部署的镜像的标识,与需要部署该待部署的镜像的节点的标识后,如表5,将该表发送至容器资源管理平台,以使得容器资源管理平台根据该表指示节点1、节点3从镜像库中获取镜像标识为E的镜像,节点1、节点5从镜像库中获取镜像标识为F的镜像。
方式2:接收单元402和处理单元404位于一个单独的管理装置中,选择单元406位于容器资源管理平台,则处理单元404获取了该待部署的镜像对应的容器的预部署数量后将其发送至选择单元406,选择单元406从资源管理平台直接获取各个待部署的镜像的标识,与需要部署该待部署的镜像的节点的标识后,如表5,指示节点1、节点3从镜像库中获取镜像标识为E的镜像,节点1、节点5从镜像库中获取镜像标识为F的镜像。
上述实施例提供了一种镜像的部署装置,该装置通过获取各个镜像对应的容器的自动伸缩策略或复制控制策略,来选择出待部署的镜像的标识,并确定部署这些镜像的节点,以使得这些节点能够在启动对应的容器之前,就能够从镜像库中获取对应的镜像,该装置的使用避免了节点启动容器时需要从镜像库中下载镜像的耗时,提升了启动容器的效率。
系统实施例
本系统实施例详细阐述一种计算机系统600,该系统常用于容器的部署及应用系统中,其组成结构示意图如图3所示,包括:处理器602,存储器604和总线606,其中,处理器602和存储器604通过总线606通信。
存储器604用于存储计算机执行指令,处理器602用于执行存储器604存储的计算机执行指令;
处理器602还用于获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略,所述自动伸缩策略包括第一镜像标识、所述第一镜像标识对应的容器的最大部署数量、所述第一镜像标识对应的容器的当前部署数量,所述复制控制策略包括第二镜像标识、所述第二镜像标识对应的容器的部署数量;根据所述容器的配置策略确定待部署的镜像的标识。实际使用中,处理器602执行存储器604存储的计算机执行指令后,运行了方法实施例中的步骤202至步骤204,以及步骤202的各个可选动作和步骤204的各个可选动作。
可选的,处理器602还用于获取镜像的热度信息,所述镜像的热度信息包括第三镜像标识以及所述第三镜像标识对应的镜像的热门指数;所述根据所述容器的配置策略确定待部署的镜像的标识还包括:根据所述镜像的热度信息,确定所述待部署的镜像的标识。
可选的,处理器602还用于根据所述待部署的镜像的标识对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。即处理器602还用于执行方法实施例中的步骤206及其各个可选动作。
可选的,处理器602还用于根据所述待部署的镜像的标识对应的容器的配置策略和所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。
可选的,处理器602还用于获取各个节点的负载状态信息以及各个节点已部署的镜像的列表;判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则根据各个节点的负载状态信息,选取未部署所述待部署的镜像的负载最低的节点用于部署所述待部署的镜像。即处理器602还用于执行方法实施例中的步骤208。需要说明的是,处理器602,除了获取各个节点的负载状态信息以及各个节点已部署的镜像的列表之外,还获取了各个节点的容器的部署情况,其中包括了关于各个节点部署的容器的数量,以及这些容器的类型,即这些容器对应的镜像的类型。
上述实施例提供了一种计算机系统,该系统通过获取各个镜像对应的容器的自动伸缩策略或复制控制策略,来选择出待部署的镜像的标识,并确定部署这些镜像的节点,以使得这些节点能够在启动对应的容器之前,就能够从镜像库中获取对应的镜像,该系统的使用避免了节点启动容器时需要从镜像库中下载镜像的耗时,提升了启动容器的效率。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种镜像部署方法,其特征在于,包括:
确定待部署的镜像;
获取各个节点的已部署的镜像的列表;
判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;
若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则选取未部署所述待部署的镜像的节点部署用于所述待部署的镜像。
2.如权利要求1所述的方法,其特征在于,还包括:
获取各个节点的负载状态信息;
所述选取未部署所述待部署的镜像的节点部署所述待部署的镜像包括:
选取未部署所述待部署的镜像的,且负载最低的节点用于部署所述待部署的镜像。
3.如权利要求1所述的方法,其特征在于,所述确定待部署的镜像包括:
获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略;
根据所述容器的配置策略确定所述待部署的镜像。
4.如权利要求1至3任一所述的方法,其特征在于,还包括:
根据所述待部署的镜像对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。
5.如权利要求1至3任一所述的方法,其特征在于,还包括:
根据所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。
6.一种镜像部署装置,其特征在于,包括:
处理单元,用于确定待部署的镜像;获取各个节点的已部署的镜像的列表;判断所述待部署的镜像对应的容器的已部署数量,与所述待部署的镜像对应的容器的预部署数量的大小关系;若所述待部署的镜像对应的容器的已部署数量小于所述待部署的镜像对应的容器的预部署数量,则选取未部署所述待部署的镜像的节点部署用于所述待部署的镜像。
7.如权利要求6所述的装置,其特征在于,所述装置还包括接收单元:
所述接收单元,用于获取各个节点的负载状态信息;
所述处理单元,用于选取未部署所述待部署的镜像的,且负载最低的节点用于部署所述待部署的镜像。
8.如权利要求6所述的装置,其特征在于,所述装置还包括接收单元:
所述接收单元,用于获取容器的配置策略,所述容器的配置策略包括自动伸缩策略或复制控制策略;
所述处理单元,用于根据所述容器的配置策略确定所述待部署的镜像。
9.如权利要求6至8任一所述的装置,其特征在于,
所述处理单元,用于根据所述待部署的镜像对应的容器的配置策略,确定所述待部署的镜像对应的容器的预部署数量。
10.如权利要求6至8任一所述的装置,其特征在于,
所述处理单元,用于根据所述待部署的镜像的热度信息,确定所述待部署的镜像对应的容器的预部署数量。
11.一种计算机系统,其特征在于,包括:处理器和存储器;
所述存储器用于存储计算机执行指令,所述处理器用于执行所述计算机执行指令以执行权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910932997.7A CN110806920B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910932997.7A CN110806920B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
CN201510572458.9A CN106528262B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510572458.9A Division CN106528262B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110806920A CN110806920A (zh) | 2020-02-18 |
CN110806920B true CN110806920B (zh) | 2022-12-13 |
Family
ID=58240559
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910932997.7A Active CN110806920B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
CN201510572458.9A Active CN106528262B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510572458.9A Active CN106528262B (zh) | 2015-09-10 | 2015-09-10 | 镜像部署方法、装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10877772B2 (zh) |
CN (2) | CN110806920B (zh) |
WO (1) | WO2017041613A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10554690B2 (en) * | 2016-11-10 | 2020-02-04 | International Business Machines Corporation | Security policy inclusion with container deployment |
AU2018248330A1 (en) | 2017-04-07 | 2019-10-31 | BXB Digital Pty Limited | Systems and methods for tracking promotions |
US10832208B2 (en) | 2017-05-02 | 2020-11-10 | BXB Digital Pty Limited | Systems and methods for facility matching and localization |
WO2018204499A1 (en) | 2017-05-02 | 2018-11-08 | BXB Digital Pty Limited | Systems and methods for pallet identification |
US10878366B2 (en) | 2017-05-05 | 2020-12-29 | BXB Digital Pty Limited | Placement of tracking devices on pallets |
US11100243B2 (en) * | 2017-06-06 | 2021-08-24 | Microsoft Technology Licensing, Llc | Selective persistence of data utilized by software containers |
EP3673426B1 (en) | 2017-08-21 | 2024-03-06 | BXB Digital PTY Limited | Systems and methods for pallet tracking using hub and spoke architecture |
EP3698270B1 (en) * | 2017-10-20 | 2022-05-11 | BXB Digital PTY Limited | Systems and methods for tracking goods carriers |
US11340933B2 (en) | 2017-11-14 | 2022-05-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for secrets injection into containers for 5G network elements |
US10761871B2 (en) * | 2017-11-14 | 2020-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparratus for secrets injection into containers |
CN111190608B (zh) * | 2018-11-14 | 2022-09-16 | 佛山市顺德区顺达电脑厂有限公司 | 用于待测装置的作业系统布署方法 |
CN111290776B (zh) * | 2018-12-10 | 2023-05-16 | 航天信息股份有限公司 | 一种用于管理区块链节点的管理装置及方法 |
US10816637B2 (en) | 2018-12-27 | 2020-10-27 | Chep Technology Pty Limited | Site matching for asset tracking |
US11726758B2 (en) * | 2019-02-07 | 2023-08-15 | Microsoft Technology Licensing, Llc | Efficient scaling of a container-based application in a distributed computing system |
US11062256B2 (en) | 2019-02-25 | 2021-07-13 | BXB Digital Pty Limited | Smart physical closure in supply chain |
CN111078402A (zh) * | 2019-12-03 | 2020-04-28 | 广州西麦科技股份有限公司 | 一种快速提供实验环境的资源池系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521014A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 虚拟机的部署方法及装置 |
CN104539708A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种云平台资源的缩容方法、装置与系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302609B2 (en) * | 2003-03-12 | 2007-11-27 | Vladimir Matena | Method and apparatus for executing applications on a distributed computer system |
US8655848B1 (en) * | 2009-04-30 | 2014-02-18 | Netapp, Inc. | Unordered idempotent logical replication operations |
US9210040B2 (en) * | 2009-09-03 | 2015-12-08 | C3Dna | Apparatus and methods for cognitive containters to optimize managed computations and computing resources |
US8661120B2 (en) * | 2010-09-21 | 2014-02-25 | Amazon Technologies, Inc. | Methods and systems for dynamically managing requests for computing capacity |
CN102307241B (zh) * | 2011-09-27 | 2013-12-25 | 上海忠恕物联网科技有限公司 | 一种基于动态预测的云计算资源部署方法 |
EP2764436A4 (en) * | 2011-10-04 | 2015-12-09 | Tier 3 Inc | PREDICTIVE TWO-DIMENSIONAL AUTOSCALING |
US8863129B2 (en) * | 2011-12-06 | 2014-10-14 | International Business Machines Corporation | Automated caching and mirroring of immutable data in distributed virtual machines via native interface components |
CN103197952B (zh) * | 2012-01-09 | 2017-08-25 | 华为技术有限公司 | 基于云基础设施的针对应用系统维护部署的管理系统和方法 |
US8965921B2 (en) * | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
CN103905508B (zh) * | 2012-12-28 | 2017-07-28 | 华为技术有限公司 | 云平台应用部署方法及装置 |
US9973375B2 (en) * | 2013-04-22 | 2018-05-15 | Cisco Technology, Inc. | App store portal providing point-and-click deployment of third-party virtualized network functions |
EP3095031B1 (en) * | 2014-01-17 | 2021-09-15 | Fair Isaac Corporation | Cloud-based decision management platform |
US9672120B2 (en) * | 2014-06-28 | 2017-06-06 | Vmware, Inc. | Maintaining consistency using reverse replication during live migration |
CN104503882B (zh) * | 2014-12-25 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 容器管理方法及装置 |
CN104618164B (zh) * | 2015-02-12 | 2018-12-21 | 北京航空航天大学 | 云计算平台应用快速部署的管理方法 |
US10243793B1 (en) * | 2018-08-13 | 2019-03-26 | Nefeli Networks, Inc. | Modular system framework for software network function automation |
-
2015
- 2015-09-10 CN CN201910932997.7A patent/CN110806920B/zh active Active
- 2015-09-10 CN CN201510572458.9A patent/CN106528262B/zh active Active
-
2016
- 2016-08-16 WO PCT/CN2016/095533 patent/WO2017041613A1/zh active Application Filing
-
2018
- 2018-03-09 US US15/916,895 patent/US10877772B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521014A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 虚拟机的部署方法及装置 |
CN104539708A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种云平台资源的缩容方法、装置与系统 |
Non-Patent Citations (1)
Title |
---|
分布式镜像存储环境下的虚拟机快速部署算法;李帅等;《计算机仿真》;20140430;第31卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2017041613A1 (zh) | 2017-03-16 |
CN110806920A (zh) | 2020-02-18 |
CN106528262B (zh) | 2019-10-22 |
US10877772B2 (en) | 2020-12-29 |
CN106528262A (zh) | 2017-03-22 |
US20180196680A1 (en) | 2018-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806920B (zh) | 镜像部署方法、装置 | |
TWI752994B (zh) | 應用的擴容方法、裝置和系統 | |
CN108243044B (zh) | 业务部署的方法与装置 | |
US9319281B2 (en) | Resource management method, resource management device, and program product | |
US20200364608A1 (en) | Communicating in a federated learning environment | |
US8739167B2 (en) | Method and device for balancing load of multiprocessor system by sequencing migration priorities based on memory size and calculated execution time | |
JP6855428B2 (ja) | 走査対象情報を走査する方法、装置、及びコンピュータデバイス | |
CN108829510B (zh) | 线程绑定处理方法和装置 | |
CN111163173B (zh) | 集群配置方法、装置、服务器及可读存储介质 | |
WO2018107945A1 (zh) | 一种实现硬件资源分配的方法、装置及存储介质 | |
CN105786539B (zh) | 一种文件下载方法及装置 | |
CN115225504B (zh) | 资源配置方法、装置、电子设备及存储介质 | |
CN112019577A (zh) | 专属云存储实现方法、装置、计算设备及计算机存储介质 | |
JP5377231B2 (ja) | ジョブネット制御プログラムおよびジョブネット制御装置 | |
JP2017162209A (ja) | 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置 | |
CN109962941B (zh) | 通信方法、装置以及服务器 | |
CN116483547A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
WO2017070963A1 (zh) | 一种虚拟资源的部署方法、装置及系统 | |
JP6581155B2 (ja) | 不要ファイル検出装置、不要ファイル検出方法および不要ファイル検出プログラム | |
US20150293783A1 (en) | Scheduling identity manager reconciliation to execute at an optimal time | |
WO2021233152A1 (zh) | 虚拟化网络功能部署方法、管理与编排平台和介质 | |
CN110704175B (zh) | 容器部署方法和装置 | |
WO2016041202A1 (zh) | 一种基于云环境系统的部署方法和装置 | |
US9336063B1 (en) | Distributed task management | |
US20170041192A1 (en) | Cloud models based on logical network interface data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220304 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |