一种基础镜像的下载方法以及管理节点与流程

文档序号:12377182阅读:190来源:国知局
一种基础镜像的下载方法以及管理节点与流程

本发明涉及计算机技术领域,尤其涉及一种基础镜像的下载方法以及管理节点。



背景技术:

虚拟化技术是一种应用于计算机的资源管理技术,可以将计算机的各种物理资源(如网络、内存以及存储)予以抽象后呈现出来,打破了物理结构之间的界限,实现了物理资源的最大化利用。随着传统虚拟化技术的逐步成熟,性能和资源利用率已经接近瓶颈,因此业内提出了一种称为容器技术的新型虚拟化技术。相比传统虚拟化技术,容器技术具有资源损耗更小、资源利用率更高以及运行速度更快的优点。

请参阅图9,主机在启动一个容器时,需先确定待启动的容器对应的基础镜像,接着从远端镜像仓库下载该基础镜像,然后使用该基础镜像来启动容器。然而,当基础镜像的大小较大,或者下载速度较慢时,启动容器的时间将会大大延长。



技术实现要素:

本发明实施例提供了一种基础镜像的下载方法以及管理节点,可以实现加快容器的启动时间。

本发明实施例第一方面提供了一种基础镜像的下载方法,该方法实现于容器集群管理架构中的管理节点,容器集群管理架构还包括远端镜像仓库和至少一个计算节点,该方法包括:获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,使用信息包括曾启动过的容器使用过的基础镜像;从所有的计算节点中筛选出其状态信息满足预设条件的目标计算节点;向目标计算节点发送预下载命令,预下载命令包括曾启动过的容器使用过的基础镜像,预下载命令用于指示目标计算节点预先从远端镜像仓库下载曾启动过的容器使用过的基础镜像。可以让计算节点预先下载基础镜像,以便后续直接使用预先下载好的基础镜像启动容器,加快容器的启动时间。

在第一方面的第一种可能实现方式中,使用信息还包括曾启动过的容器使用过的基础镜像的使用频率。相应的,控制节点从所有的计算节点中筛选出运行状况满足预设条件的目标计算节点之前,还执行:按照基础镜像的使用频率由高到低的顺序,对各个计算节点曾启动过的容器使用过的基础镜像进行排序;预下载命令还包括曾启动过的容器使用过的基础镜像的排序结果,预下载命令用于指示目标计算节点预先从远端镜像仓库按照排序结果的顺序下载曾启动过的容器使用过的基础镜像。优点在于,可以让计算节点优先下载使用频率较高的基础镜像,提高下载好的基础镜像被使用的概率。

在第一方面的第二种可能实现方式中,状态信息包括计算节点的处理器使用率、内存使用率以及本地镜像仓库使用率。相应的,控制节点从所有的计算节点中筛选出其状态信息满足预设条件的目标计算节点的具体操作为:从所有的计算节点中,筛选出其处理器使用率低于第一预设阈值,其内存使用率低于第二预设阈值,以及其本地镜像仓库使用率低于第三预设阈值的目标计算节点。优点在于,可以避免状态信息不满足条件的计算节点去预先下载基础镜像,进而避免下载失败或超负荷的问题。

结合第一方面或第一方面的第一至第二种中任意一种可能实现方式,在第三种可能实现方式中,控制节点向目标计算节点发送预下载命令之前,还执行:确定目标计算节点的本地镜像仓库中不存在目标计算节点曾启动过的容器使用过的基础镜像。优点在于,可以避免计算节点下载重复的基础镜像。

结合第一方面或第一方面的第一至第二种中任意一种可能实现方式,在第四种可能实现方式中,控制节点向目标计算节点发送预下载命令之前,还执行:确定目标计算节点没有正在下载基础镜像。优点在于,可以避免计算节点下载重复的基础镜像。

本发明实施例第二方面提供了一种容器的启动方法,该方法实现于容器集群管理架构中的管理节点,容器集群管理架构还包括远端镜像仓库和至少一个计算节点,该方法包括:获知待启动的容器和容器的规格信息;查找其状态信息满足规格信息要求的运行条件的计算节点;从查找的计算节点中筛选出已预先下载有基础镜像的目标计算节点;向目标计算节点发送容器启动命令,容器启动命令用于指示目标计算节点使用已预先下载的基础镜像启动容器。可以让预先下载有基础镜像的计算节点来启动容器,加快容器的启动时间。

在第二方面的第一种可能实现方式中,状态信息包括计算节点的处理器使用率和内存使用率。相应的,管理节点查找其状态信息满足规格信息要求的运行条件的计算节点的具体操作为:查找其处理器使用率高于第一预设阈值,以及其内存使用率高于第二预设阈值的计算节点。优点在于,可以避免不满足运行条件的计算节点去启动容器,增强可行性。

在第二方面的第二种可能实现方式中,控制节点从查找的计算节点中筛选出已预先下载有基础镜像的目标计算节点之前,还执行:根据各个计算节点的状态信息,确定各个计算节点的剩余资源。相应的,控制节点从查找的计算节点中筛选出已预先下载有基础镜像的目标计算节点的具体操作为:从查找的计算节点中筛选出其剩余资源最高的已预先下载有基础镜像的目标计算节点。优点在于,可以优先让剩余资源最高的计算节点启动容器,提高计算节点的利用效率。

结合第二方面的第二种可能实现方式,在第三种可能实现方式中,控制节点根据各个计算节点的状态信息,确定各个计算节点的剩余资源之后,还执行:若查找的计算节点中没有已预先下载有基础镜像的目标计算节点,则从中筛选出其剩余资源最高的计算节点作为目标计算节点。

本发明实施例第三方面提供了一种基础镜像的删除方法,该方法实现于容器集群管理架构中的计算节点,容器集群管理架构还包括远端镜像仓库和管理节点,该方法包括:查询本地镜像仓库中未被使用过的基础镜像;根据自身的状态信息判断自身是否处于高负荷状态;若是,则删除本地镜像仓库中未被使用过的基础镜像。可以让计算节点删除基础镜像,以减少负荷。

在第三方面的第一种可能实现方式中,状态信息包括处理器使用率、内存使用率以及本地镜像仓库使用率。相应的,计算节点根据自身的状态信息判断自身是否处于高负荷状态的具体操作为:判断处理器使用率是否高于第一预设阈值,内存使用率是否高于第二预设阈值,且本地镜像仓库使用率是否高于第三预设阈值。优点在于,可以让处于高负荷状态的计算节点删除基础镜像。

在第三方面的第一种可能实现方式中,计算节点删除本地镜像仓库中未被使用过的基础镜像之前,还执行:查询未被使用过的基础镜像的闲置时长;按照基础镜像的闲置时长由长到短的顺序,对基础镜像进行排序。相应的,计算节点删除本地镜像仓库中未被使用过的基础镜像的具体操作为:按照排序结果的顺序依次删除本地镜像仓库中未被使用过的基础镜像,直到自身不处于高负荷状态为止。优点在于,可以让计算节点优先删除闲置时长较长的基础镜像。

本发明实施例第四方面提供了一种管理节点,所述管理节点具有实现上述第一方面提供的方法的行为功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

本发明实施例第五方面提供了一种管理节点,所述管理节点具有实现上述第二方面提供的方法的行为功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

本发明实施例第六方面提供了一种计算节点,所述管理节点具有实现上述第三方面提供的方法的行为功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

本发明实施例第七方面提供了一种管理节点,包括通讯接口、处理器和存储器,其中,存储器中存储一组程序,且处理器用于调用存储器中存储的程序,用于执行以下操作:

获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,所述使用信息包括所述曾启动过的容器使用过的基础镜像;

从所有的所述计算节点中筛选出其状态信息满足预设条件的目标计算节点;

向所述目标计算节点发送预下载命令,所述预下载命令包括所述曾启动过的容器使用过的基础镜像的标识,所述预下载命令用于指示所述目标计算节点预先从远端镜像仓库下载所述曾启动过的容器使用过的基础镜像。

或者,用于执行以下操作:

获知待启动的容器和所述容器的规格信息;

查找其状态信息满足所述规格信息要求的运行条件的计算节点;

从查找的所述计算节点中筛选出已预先下载有基础镜像的目标计算节点;

向所述目标计算节点发送容器启动命令,所述容器启动命令用于指示所述目标计算节点使用所述已预先下载的基础镜像启动所述容器。

本发明实施例第八方面提供了一种计算节点,包括通讯接口、处理器和存储器,其中,存储器中存储一组程序,且处理器用于调用存储器中存储的程序,用于执行以下操作:

查询本地镜像仓库中未被使用过的基础镜像;

根据自身的状态信息判断自身是否处于高负荷状态;

若是,则删除所述本地镜像仓库中未被使用过的基础镜像。

由上可见,本发明实施例中的容器集群管理架构包括管理节点、远端镜像仓库以及至少一个计算节点,管理节点先获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,使用信息包括曾启动过的容器使用过的基础镜像,接着从所有的计算节点中筛选出其状态信息满足预设条件的目标计算节点,然后向目标计算节点发送预下载命令,预下载命令用于指示目标计算节点预先从远端镜像仓库下载基础镜像,以便目标计算节点后续直接使用预先下载好的基础镜像启动容器,从而实现加快容器的启动时间。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基础镜像的下载方法的流程示意图;

图2是本发明实施例提供的一种容器的启动方法的流程示意图;

图3是本发明实施例提供的一种基础镜像的删除方法的流程示意图;

图4是本发明实施例提供的一种管理节点的结构示意图;

图5是本发明实施例提供的另一种管理节点的结构示意图;

图6是本发明实施例提供的一种计算节点的结构示意图;

图7是本发明实施例提供的又一种管理节点的结构示意图;

图8是本发明实施例提供的另一种计算节点的结构示意图;

图9是本发明实施例提供的一种基础镜像下载的示意图;

图10是本发明实施例提供的一种容器集群管理架构的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图10是本发明实施例提供的一种容器集群管理架构的结构示意图,如图所示容器集群管理架构至少包括管理节点、计算节点和远端镜像仓库,其相互之间建立有通讯连接。其中,管理节点是整个集群的中枢,主要负责与容器相关的管理、传输和调度;计算节点设有可存储基础镜像的本地镜像仓库,主要负责使用基础镜像来启动容器;远端镜像仓库,主要负责向计算节点提供可下载的基础镜像。

图1是本发明实施例中一种基础镜像的下载方法的流程示意图,该方法实现于容器集群管理架构中的管理节点。如图所示本实施例中的基础镜像的下载方法的流程可以包括:

S101,获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,所述使用信息包括所述曾启动过的容器使用过的基础镜像和所述基础镜像的使用频率。

其中,状态信息用于表征计算节点的运行状态,使用信息用于表征容器在历史使用过程中的记录。本发明实施例中,使用信息包括计算节点曾启动过的容器使用过的基础镜像和这些基础镜像的使用频率。

应理解的,由于所有的计算节点启动容器均需要管理节点来下达命令,因此管理节点得知所有的计算节点曾启动过的容器的使用信息,这些信息保存在管理节点的容器调度模块中。

具体的,管理节点通过与各个计算节点的通讯连接,获取各个计算节点的状态信息,以及通过查询本地的容器调度模块中的记录,获取各个计算节点曾启动过的容器的使用信息。

S102,按照所述基础镜像的使用频率由高到低的顺序,对各个所述计算节点曾启动过的容器使用过的基础镜像进行排序。

例如:假设计算节点A曾启动过的容器使用过基础镜像x和基础镜像y,计算节点B曾启动过的容器使用过基础镜像x,计算节点C曾启动过的容器使用过基础镜像z,又假设基础镜像x的使用频率为6次/小时,基础镜像y的使用频率为2次/小时,基础镜像z的使用频率为4次/小时,那么基础镜像的排序结果为基础镜像x→基础镜像z→基础镜像y。

需要指出的是,管理节点对基础镜像进行排序的优点在于,可以让计算节点优先下载使用频率较高的基础镜像,提高下载好的基础镜像被使用的概率。

S103,从所有的所述计算节点中筛选出其状态信息满足预设条件的目标计算节点。

可选的,所述状态信息包括计算节点的处理器使用率、内存使用率以及本地镜像仓库使用率。其中,处理器使用率是指CPU(Central Processing Unit,中央处理器)运算资源的使用百分比,内存使用率是指内存资源的使用百分比,本地镜像仓库使用率是指本地镜像仓库的存储百分比。应理解的,计算节点的处理器使用率、内存使用率以及本地镜像仓库使用率越高,说明该计算节点的负荷越高。

具体的,管理节点从所有的计算节点中,筛选出其处理器使用率低于第一预设阈值,其内存使用率低于第二预设阈值,以及其本地镜像仓库使用率低于第三预设阈值的目标计算节点。本发明实施例中,第一预设阈值、第二预设阈值以及第三预设阈值可以由管理人员预先设定,其取值这里不作具体限定。例如:可以设定第一预设阈值、第二预设阈值和第三预设阈值分别为60%、60%和80%。

需要指出的是,筛选出状态信息满足预设条件的目标计算节点的优点在于,可以避免状态信息不满足条件的计算节点去预先下载基础镜像,进而避免下载失败或超负荷的问题。

还需要指出的是,由于状态信息满足预设条件的计算节点可以有多个,因此筛选出的目标计算节点也可以有多个。

S104,判断所述目标计算节点的本地镜像仓库中是否存在所述目标计算节点曾启动过的容器使用过的基础镜像。

具体的,管理节点判断目标计算节点的本地镜像仓库中是否存在其曾启动过的容器使用过的基础镜像,若判定为是,则结束,若判定为否,则执行步骤S105。

例如:假设目标计算节点曾启动过的容器使用过基础镜像x、基础镜像y和基础镜像z,且当前目标计算节点的本地镜像仓库中只存在基础镜像w,那么执行步骤S105。

需要指出的是,判断是否存在目标计算节点曾启动过的容器使用过的基础镜像的优点在于,可以避免计算节点下载重复的基础镜像。

S105,判断所述目标计算节点是否正在下载基础镜像。

具体的,管理节点判断目标计算节点是否正在下载基础镜像,若判定为是,则结束,若判定为否,则执行步骤S106。

需要指出的是,判断是否正在下载基础镜像的优点在于,可以避免计算节点下载重复的基础镜像。

S106,向所述目标计算节点发送预下载命令,所述预下载命令包括所述曾启动过的容器使用过的基础镜像的标识和所述基础镜像的排序结果。

具体的,管理节点通过已建立的通讯连接向目标计算节点发送预下载命令,该预下载命令包括曾启动过的容器使用过的基础镜像的标识和基础镜像的排序结果,目标计算节点在接收到预下载命令之后,预先从远端镜像仓库按照排序结果的顺序下载曾启动过的容器使用过的基础镜像。

本发明实施例中的容器集群管理架构包括管理节点、远端镜像仓库以及至少一个计算节点,管理节点先获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,使用信息包括曾启动过的容器使用过的基础镜像的标识,接着从所有的计算节点中筛选出其状态信息满足预设条件的目标计算节点,然后向目标计算节点发送预下载命令,预下载命令用于指示目标计算节点预先从远端镜像仓库下载基础镜像,以便目标计算节点后续直接使用预先下载好的基础镜像启动容器,从而实现加快容器的启动时间。

图2是本发明实施例中一种容器的启动方法的流程示意图,该方法实现于容器集群管理架构中的管理节点。如图所示本实施例中的容器的启动方法的流程可以包括:

S201,获知待启动的容器和所述容器的规格信息。

具体的,管理节点获取用户或其它设备输入的容器启动指令,该容器启动指令包括待启动的容器和该容器的规格信息。

S202,查找其状态信息满足所述规格信息要求的运行条件的计算节点。

其中,所述规格信息要求的运行条件可以通过处理器的使用率和内存使用率来表征,处理器的使用率和内存使用率越大,运行条件越好。也就是说,状态信息可以包括计算节点的处理器使用率和内存使用率。

具体的,管理节点查找其处理器使用率高于第一预设阈值,以及其内存使用率高于第二预设阈值的计算节点。本发明实施例中,第一预设阈值和第二预设阈值可以由管理人员预先设定,其取值这里不作具体限定。

需要指出的是,管理节点查找满足运行条件的计算节点的优点在于,可以避免不满足运行条件的计算节点去启动容器,增强可行性。

S203,判断是否能从查找的所述计算节点中筛选出已预先下载有基础镜像的目标计算节点。

应理解的,通过图1所描述的实施例可知,部分计算节点预先下载有基础镜像。具体的,管理节点判断是否能从查找的计算节点中筛选出已预先下载有基础镜像的目标计算节点,若判定为是,则执行步骤S205,若判定为否,则执行步骤S204。

可选的,在步骤S203之前,管理节点可以先根据各个计算节点的状态信息,确定各个计算节点的剩余资源,例如:假设计算节点的状态信息中,“处理器使用率为30%,内存使用率为20%”,那么可以确定该技术节点的剩余资源为“处理器空闲率70%,内存空闲率80%”。相应的,管理节点筛选目标计算节点的具体操作可以为:从查找的计算节点中筛选出其剩余资源最高的已预先下载有基础镜像的目标计算节点。

需要指出的是,管理节点筛选出剩余资源最高的目标计算节点的优点在于,可以优先让剩余资源最高的计算节点启动容器,提高计算节点的利用效率。

S204,从查找的所述计算节点中筛选出剩余资源最高的计算节点作为目标计算节点。

其中,剩余资源的介绍可以参阅步骤S203中的内容,这里不作赘述。具体的,管理节点从查找的计算节点中筛选出剩余资源最高的计算节点作为目标计算节点。

S205,向所述目标计算节点发送容器启动命令。

具体的,管理节点通过已建立的通讯连接向目标计算节点发送容器启动命令,目标计算节点在接收到该容器启动命令之后,使用已预先下载的基础镜像启动容器。其中,使用的基础镜像是该容器所匹配的基础镜像,当然,若该容器所匹配的基础镜像没有被目标计算节点预先下载下来,则还需从远端镜像仓库下载其所匹配的基础镜像。

本发明实施例中的容器集群管理架构包括管理节点、远端镜像仓库以及至少一个计算节点,管理节点先获知待启动的容器和该容器的规格信息,再查找其状态信息满足规格信息要求的运行条件的计算节点,接着从查找的计算节点中筛选出已预先下载有基础镜像的目标计算节点,然后向目标计算节点发送容器启动命令,可以实现让预先下载有基础镜像的计算节点来启动容器,从而加快容器的启动时间。

图3是本发明实施例中一种基础镜像的删除方法的流程示意图,该方法实现于容器集群管理架构中的计算节点。如图所示本实施例中的基础镜像的删除方法的流程可以包括:

S301,查询本地镜像仓库中未被使用过的基础镜像。

应理解的,通过图1所描述的实施例可知,部分计算节点预先下载有基础镜像。还应理解的,计算节点会使用基础镜像启动容器,若某个基础镜像长期未被使用,则说明该基础镜像的使用频率偏低。具体的,计算节点每间隔一个预设时间段,查询本地镜像仓库中未被使用过的基础镜像。其中,预设时间段可以由管理人员预先设定,其取值这里不作具体限定。

S302,根据自身的状态信息判断自身是否处于高负荷状态。

可选的,所述状态信息包括处理器使用率、内存使用率以及本地镜像仓库使用率。具体的,计算节点根据自身的状态信息判断自身是否处于高负荷状态的具体操作为:判断处理器使用率是否高于第一预设阈值,内存使用率是否高于第二预设阈值,且本地镜像仓库使用率是否高于第三预设阈值。本发明实施例中,第一预设阈值、第二预设阈值以及第三预设阈值可以由管理人员预先设定,其取值这里不作具体限定。例如:可以设定第一预设阈值、第二预设阈值和第三预设阈值分别为70%、70%和90%。

S303,若是,则删除所述本地镜像仓库中未被使用过的基础镜像。

具体的,计算节点若判定自身处于高负荷状态,则删除本地镜像仓库中未被使用过的基础镜像。

可选的,在步骤S303之前,计算节点查询未被使用过的基础镜像的闲置时长,并按照基础镜像的闲置时长由长到短的顺序,对基础镜像进行排序。相应的,计算节点删除本地镜像仓库中未被使用过的基础镜像的具体操作为:按照排序结果的顺序依次删除本地镜像仓库中未被使用过的基础镜像,直到自身不处于高负荷状态为止。

需要指出的是,计算节点按照排序结果的顺序依次删除基础镜像的优点在于,可以优先删除闲置时长较长的基础镜像。

本发明实施例中的容器集群管理架构包括管理节点、远端镜像仓库以及至少一个计算节点,计算节点先查询本地镜像仓库中未被使用过的基础镜像,接着根据自身的状态信息判断自身是否处于高负荷状态,然后在判定为是时删除所述本地镜像仓库中未被使用过的基础镜像,可以让处于高负荷状态的计算节点删除基础镜像,以减少负荷。

图4是本发明实施例中一种管理节点的结构示意图,该管理节点实现于容器集群管理架构,容器集群管理架构还包括远端镜像仓库和至少一个计算节点。如图所示本发明实施例中的管理节点至少可以包括信息获取模块410、节点筛选模块420以及命令发送模块430,其中:

信息获取模块410,用于获取各个所述计算节点的状态信息和各个所述计算节点曾启动过的容器的使用信息,所述使用信息包括所述曾启动过的容器使用过的基础镜像。

节点筛选模块420,用于从所有的所述计算节点中筛选出其状态信息满足预设条件的目标计算节点。

命令发送模块430,用于向所述目标计算节点发送预下载命令,所述预下载命令包括所述目标计算节点曾启动过的容器使用过的基础镜像的标识,所述预下载命令用于指示所述目标计算节点预先从所述远端镜像仓库下载所述目标计算节点曾启动过的容器使用过的基础镜像。

可选的,所述使用信息还包括所述曾启动过的容器使用过的基础镜像的使用频率。相应的,请参阅图4,如图所示本发明实施例中的管理节点还可以包括镜像排序模块440,用于按照所述基础镜像的使用频率由高到低的顺序,对各个所述计算节点曾启动过的容器使用过的基础镜像进行排序。

所述预下载命令还包括所述曾启动过的容器使用过的基础镜像的排序结果,所述预下载命令用于指示所述目标计算节点预先从所述远端镜像仓库按照所述排序结果的顺序下载所述曾启动过的容器使用过的基础镜像。

又可选的,所述状态信息包括所述计算节点的处理器使用率、内存使用率以及本地镜像仓库使用率。相应的,所述节点筛选模块420,具体用于从所有的所述计算节点中,筛选出其处理器使用率低于第一预设阈值,其内存使用率低于第二预设阈值,以及其本地镜像仓库使用率低于第三预设阈值的目标计算节点。

又可选的,请参阅图4,如图所示本发明实施例中的管理节点还可以包括镜像确定模块450,用于确定所述目标计算节点的本地镜像仓库中不存在所述目标计算节点曾启动过的容器使用过的基础镜像。

又可选的,镜像确定模块450,还可以用于确定所述目标计算节点没有正在下载基础镜像。

图5是本发明实施例中另一种管理节点的结构示意图,该管理节点实现于容器集群管理架构,容器集群管理架构还包括远端镜像仓库和至少一个计算节点。如图所示本发明实施例中的管理节点至少可以包括:

信息获知模块510,用于获知待启动的容器和所述容器的规格信息。

节点查找模块520,用于查找其状态信息满足所述规格信息要求的运行条件的计算节点。

节点筛选模块530,用于从查找的所述计算节点中筛选出已预先下载有基础镜像的目标计算节点。

命令发送模块540,用于向所述目标计算节点发送容器启动命令,所述容器启动命令用于指示所述目标计算节点使用所述已预先下载的基础镜像启动所述容器。

可选的,所述状态信息包括所述计算节点的处理器使用率和内存使用率。相应的,所述节点查找模块520,具体用于查找其处理器使用率高于第一预设阈值,以及其内存使用率高于第二预设阈值的计算节点。

又可选的,请参阅图5,如图所示本发明实施例中的管理节点还可以包括资源确定模块550,用于根据各个所述计算节点的状态信息,确定各个所述计算节点的剩余资源。相应的,所述节点筛选模块530,具体用于从查找的所述计算节点中筛选出其剩余资源最高的已预先下载有基础镜像的目标计算节点。

又可选的,所述节点筛选模块530,还用于若查找的所述计算节点中没有已预先下载有基础镜像的目标计算节点,则从中筛选出其剩余资源最高的计算节点作为目标计算节点。

图6是本发明实施例中一种计算节点的结构示意图,该计算节点实现于容器集群管理架构,容器集群管理架构还包括管理节点和远端镜像仓库。如图所示本发明实施例中的管理节点至少可以包括:

镜像查询模块610,用于查询本地镜像仓库中未被使用过的基础镜像。

状态判断模块620,用于根据自身的状态信息判断自身是否处于高负荷状态。

镜像删除模块630,用于若是,则删除所述本地镜像仓库中未被使用过的基础镜像。

可选的,所述状态信息包括处理器使用率、内存使用率以及本地镜像仓库使用率。相应的,所述状态判断模块620,具体用于判断处理器使用率是否高于第一预设阈值,内存使用率是否高于第二预设阈值,且本地镜像仓库使用率是否高于第三预设阈值。

又可选的,请参阅图6,如图所示本发明实施例中的计算节点还可以包括时长查询模块640和镜像排序模块650,其中:

时长查询模块640,用于查询所述未被使用过的基础镜像的闲置时长。

镜像排序模块650,用于按照所述基础镜像的闲置时长由长到短的顺序,对所述基础镜像进行排序。

相应的,所述镜像删除模块630,具体用于按照排序结果的顺序依次删除所述本地镜像仓库中未被使用过的基础镜像,直到自身不处于高负荷状态为止。

图7是本发明实施例中的又一种管理节点的结构示意图,如图7所示,该管理节点可以包括:至少一个处理器701,例如CPU,至少一个通信总线702,至少一个通讯接口703,存储器704。其中,通信总线702用于实现这些组件之间的连接通信;通讯接口703、用于与其他节点设备进行通讯;存储器704可以是高速RAM存储器,也可以是非易失的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器704还可以是至少一个位于远离前述处理器701的存储装置,存储器704中存储一组程序代码。处理器701用于调用存储器704中存储的程序代码,执行以下操作:

获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,所述使用信息包括所述曾启动过的容器使用过的基础镜像;

从所有的所述计算节点中筛选出其状态信息满足预设条件的目标计算节点;

向所述目标计算节点发送预下载命令,所述预下载命令包括所述目标计算节点曾启动过的容器使用过的基础镜像的标识,所述预下载命令用于指示所述目标计算节点预先从所述远端镜像仓库下载所述目标计算节点曾启动过的容器使用过的基础镜像。

可选的,所述使用信息还包括所述曾启动过的容器使用过的基础镜像的使用频率。相应的,处理器701从所有的所述计算节点中筛选出运行状况满足预设条件的目标计算节点之前,还执行:

按照所述基础镜像的使用频率由高到低的顺序,对各个所述计算节点曾启动过的容器使用过的基础镜像进行排序;

所述预下载命令还包括所述曾启动过的容器使用过的基础镜像的排序结果,所述预下载命令用于指示所述目标计算节点预先从所述远端镜像仓库按照所述排序结果的顺序下载所述曾启动过的容器使用过的基础镜像。

又可选的,所述状态信息包括所述计算节点的处理器使用率、内存使用率以及本地镜像仓库使用率。相应的,处理器701从所有的所述计算节点中筛选出其状态信息满足预设条件的目标计算节点的具体操作为:

从所有的所述计算节点中,筛选出其处理器使用率低于第一预设阈值,其内存使用率低于第二预设阈值,以及其本地镜像仓库使用率低于第三预设阈值的目标计算节点。

又可选的,处理器701向所述目标计算节点发送预下载命令之前,还执行:

确定所述目标计算节点的本地镜像仓库中不存在所述目标计算节点曾启动过的容器使用过的基础镜像。

又可选的,处理器701向所述目标计算节点发送预下载命令之前,还执行:

确定所述目标计算节点没有正在下载基础镜像。

或者,处理器701用于调用存储器704中存储的程序代码,执行以下操作:

获知待启动的容器和所述容器的规格信息;

查找其状态信息满足所述规格信息要求的运行条件的计算节点;

从查找的所述计算节点中筛选出已预先下载有基础镜像的目标计算节点;

向所述目标计算节点发送容器启动命令,所述容器启动命令用于指示所述目标计算节点使用所述已预先下载的基础镜像启动所述容器。

可选的,所述状态信息包括所述计算节点的处理器使用率和内存使用率。相应的,处理器701查找其状态信息满足所述规格信息要求的运行条件的计算节点的具体操作为:

查找其处理器使用率高于第一预设阈值,以及其内存使用率高于第二预设阈值的计算节点。

又可选的,处理器701从查找的所述计算节点中筛选出已预先下载有基础镜像的目标计算节点之前,还执行:

根据各个所述计算节点的状态信息,确定各个所述计算节点的剩余资源。

相应的,处理器701从查找的所述计算节点中筛选出已预先下载有基础镜像的目标计算节点的具体操作为:

从查找的所述计算节点中筛选出其剩余资源最高的已预先下载有基础镜像的目标计算节点。

又可选的,处理器701根据各个所述计算节点的状态信息,确定各个所述计算节点的剩余资源之后,还执行:

若查找的所述计算节点中没有已预先下载有基础镜像的目标计算节点,则从中筛选出其剩余资源最高的计算节点作为目标计算节点。

图8是本发明实施例中的另一种计算节点的结构示意图,如图8所示,该计算节点可以包括:至少一个处理器801,例如CPU,至少一个通信总线802,至少一个通讯接口803,存储器804。其中,通信总线802用于实现这些组件之间的连接通信;通讯接口803、用于与其他节点设备进行通讯;存储器804可以是高速RAM存储器,也可以是非易失的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器804还可以是至少一个位于远离前述处理器801的存储装置,存储器804中存储一组程序代码。处理器801用于调用存储器804中存储的程序代码,执行以下操作:

查询本地镜像仓库中未被使用过的基础镜像;

根据自身的状态信息判断自身是否处于高负荷状态;

若是,则删除所述本地镜像仓库中未被使用过的基础镜像。

可选的,所述状态信息包括处理器使用率、内存使用率以及本地镜像仓库使用率。相应的,处理器801根据自身的状态信息判断自身是否处于高负荷状态的具体操作为:

判断处理器使用率是否高于第一预设阈值,内存使用率是否高于第二预设阈值,且本地镜像仓库使用率是否高于第三预设阈值。

又可选的,处理器801删除所述本地镜像仓库中未被使用过的基础镜像之前,还执行:

查询所述未被使用过的基础镜像的闲置时长;

按照所述基础镜像的闲置时长由长到短的顺序,对所述基础镜像进行排序。

相应的,处理器801删除所述本地镜像仓库中未被使用过的基础镜像的具体操作为:

按照排序结果的顺序依次删除所述本地镜像仓库中未被使用过的基础镜像,直到自身不处于高负荷状态为止。

本发明实施例中的容器集群管理架构包括管理节点、远端镜像仓库以及至少一个计算节点,管理节点先获取各个计算节点的状态信息和各个计算节点曾启动过的容器的使用信息,使用信息包括曾启动过的容器使用过的基础镜像,接着从所有的计算节点中筛选出其状态信息满足预设条件的目标计算节点,然后向目标计算节点发送预下载命令,预下载命令用于指示目标计算节点预先从远端镜像仓库下载基础镜像,以便目标计算节点后续直接使用预先下载好的基础镜像启动容器,从而实现加快容器的启动时间。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1