一种容器镜像分发方法、装置、系统及其介质制造方法及图纸

技术编号:36802660 阅读:18 留言:0更新日期:2023-03-08 23:55
本申请公开了一种容器镜像分发方法、装置及其介质,涉及容器技术领域,用于进行容器集群的镜像分发,针对目前由各节点向镜像仓库拉取镜像的方法对主机性能和带宽要求高的问题,提供了一种容器镜像分发方法,通过容器集群中任选的主节点先向镜像仓库中拉取所需分发的镜像,并制作成P2P种子下发到其余从节点中,使得从节点在下载镜像时可以通过P2P分布式下载的方式下载镜像文件,以完成镜像分发。相比于目前所使用的各节点都并行从镜像仓库中下载镜像的方式,采用P2P并行下载方式的传输效率更高、受性能限制影响更小。同时,从节点的镜像拉取也从镜像仓库转为从主节点以及其他下载镜像的从节点处进行拉取,还能够减轻镜像仓库的负担。的负担。的负担。

【技术实现步骤摘要】
一种容器镜像分发方法、装置、系统及其介质


[0001]本申请涉及容器
,特别是涉及一种容器镜像分发方法、装置、系统及其介质。

技术介绍

[0002]在云计算时代,随着业务爆发式增长,信息与通信技术(information and communications technology,ICT)基础设施也随着业务的增长不断地扩大规模,为了提高资源的利用效率及安全隔离,容器技术被广泛应用。目前,开发人员开发完成功能后,将功能打包成docker(一种应用容器引擎)镜像,并将镜像推送到镜像仓库,经测试完成后,进行功能发布。发布过程中运行环境修改镜像地址,运行环境会自动拉取镜像仓库(docker images)中的镜像并运行。
[0003]但是,随着规模的增长,在拉取镜像的过程中,大量的请求并发的请求到镜像仓库所在主机,这种镜像分发方法对主机性能和带宽要求很高。
[0004]所以,现在本领域的技术人员亟需要一种容器镜像分发方法,解决目前由各节点向镜像仓库拉取镜像的方法对主机性能和带宽要求高的问题。

技术实现思路

[0005]本申请的目的是提供一种容器镜像分发方法、装置、系统及其介质,以解决目前由各节点向镜像仓库拉取镜像的方法对主机性能和带宽要求高的问题。
[0006]为解决上述技术问题,本申请提供一种容器镜像分发方法,应用于主节点侧,包括:
[0007]接收镜像下发任务信息;其中,镜像下发任务信息包括待下发镜像、待下发节点;
[0008]根据镜像下发任务信息从镜像仓库中下载待下发镜像;
[0009]将待下发镜像进行切割及压缩以获得P2P种子;
[0010]向各待下发节点发送P2P种子,以便于收到P2P种子的从节点通过P2P的方式下载待下发镜像。
[0011]优选的,镜像下发任务信息还包括镜像启动时刻;
[0012]相应的,向各待下发节点发送P2P种子包括:
[0013]在镜像启动时刻的第一预设时长之前,向各待下发节点发送P2P种子和镜像启动时刻,以便于收到P2P种子的从节点通过P2P的方式下载待下发镜像,并在镜像启动时刻启动待下发镜像。
[0014]优选的,在向各待下发节点发送P2P种子之后,还包括:
[0015]判断在第二预设时长内,是否接收到所有待下发节点发送的镜像下载成功信息;其中,镜像下载成功信息为待下发节点在完成待下发镜像之后,返回至主节点的信息;
[0016]若是,则返回镜像下发成功提示信息;
[0017]若否,则记录未发送镜像下载成功信息的各待下发节点名称,并随镜像下发失败
提示信息返回。
[0018]优选的,P2P种子为BT种子。
[0019]为解决上述技术问题,本申请还提供一种容器镜像分发方法,应用于从节点侧,包括:
[0020]接收由主节点发送的P2P种子;其中,P2P种子为主节点在接收到包括待下发镜像和待下发节点的镜像下发任务信息后,从镜像仓库中下载待下发镜像、并进行切割及压缩所得到;
[0021]根据P2P种子,以P2P的方式下载待下发镜像。
[0022]优选的,还包括:
[0023]当待下发镜像下载完成后,向主节点发送镜像下载成功信息。
[0024]为解决上述技术问题,本申请还提供一种容器镜像分发装置,包括:
[0025]任务接收模块,用于接收镜像下发任务信息;其中,镜像下发任务信息包括待下发镜像、待下发节点;
[0026]镜像拉取模块,用于根据镜像下发任务信息从镜像仓库中下载待下发镜像;
[0027]种子生成模块,用于将待下发镜像进行切割及压缩以获得P2P种子;
[0028]种子下发模块,用于向各待下发节点发送P2P种子,以便于收到P2P种子的从节点通过P2P的方式下载待下发镜像。
[0029]优选的,还包括:
[0030]状态提示模块,用于判断在第二预设时长内,是否接收到所有待下发节点发送的镜像下载成功信息;其中,镜像下载成功信息为待下发节点在完成待下发镜像之后,返回至主节点的信息;若是,则返回镜像下发成功提示信息;若否,则记录未发送镜像下载成功信息的各待下发节点名称,并随镜像下发失败提示信息返回。
[0031]为解决上述技术问题,本申请还提供一种容器镜像分发装置,包括:
[0032]种子接收模块,用于接收由主节点发送的P2P种子;其中,P2P种子为主节点在接收到包括待下发镜像和待下发节点的镜像下发任务信息后,从镜像仓库中下载待下发镜像、并进行切割及压缩所得到;
[0033]镜像下载模块,用于根据P2P种子,以P2P的方式下载待下发镜像。
[0034]优选的,还包括:
[0035]信息返回模块,用于当待下发镜像下载完成后,向主节点发送镜像下载成功信息。
[0036]为解决上述技术问题,本申请还提供一种容器镜像分发系统,包括:
[0037]存储器,用于存储计算机程序;
[0038]处理器,用于执行计算机程序时实现如上述的容器镜像分发方法的步骤。
[0039]为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的容器镜像分发方法的步骤。
[0040]本申请提供的一种容器镜像分发方法,通过容器集群中任选一个节点为主节点,由其先向镜像仓库中拉取所需分发的镜像,并制作成P2P种子下发到其余从节点中,使得从节点在下载镜像时可以通过P2P分布式下载的方式从主节点和其他下载镜像的从节点中下载镜像,完成镜像分发。相比于目前所使用的各节点都并行从镜像仓库中下载镜像的方式,
采用P2P并行下载方式的传输效率更高、受性能限制影响更小。同时,从节点的镜像拉取也从镜像仓库转为从主节点以及其他下载镜像的从节点处进行拉取,可以减轻镜像仓库的负担,更有利于容器集群的稳定,以及提高镜像分发的效率。
[0041]本申请提供的容器镜像分发装置、系统及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
[0042]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本专利技术提供的一种容器镜像分发方法的流程图;
[0044]图2为本专利技术提供的另一种容器镜像分发方法的流程图;
[0045]图3为本专利技术提供的一种容器镜像分发方法的应用架构及流程图;
[0046]图4为本专利技术提供的一种容器镜像分发装置的结构图;
[0047]图5为本专利技术提供的另一种容器镜像分发装置的结构图;
[0048]图6为本专利技术提供的一种容器镜像分发系统的结构图。
具体实施方式
[0049]下面将结合本申请实施例中的附图,对本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器镜像分发方法,其特征在于,应用于主节点侧,包括:接收镜像下发任务信息;其中,所述镜像下发任务信息包括待下发镜像、待下发节点;根据所述镜像下发任务信息从镜像仓库中下载所述待下发镜像;将所述待下发镜像进行切割及压缩以获得P2P种子;向各所述待下发节点发送所述P2P种子,以便于收到所述P2P种子的从节点通过P2P的方式下载所述待下发镜像。2.根据权利要求1所述的容器镜像分发方法,其特征在于,所述镜像下发任务信息还包括镜像启动时刻;相应的,所述向各所述待下发节点发送所述P2P种子包括:在所述镜像启动时刻的第一预设时长之前,向各所述待下发节点发送所述P2P种子和所述镜像启动时刻,以便于收到所述P2P种子的所述从节点通过P2P的方式下载所述待下发镜像,并在所述镜像启动时刻启动所述待下发镜像。3.根据权利要求1所述的容器镜像分发方法,其特征在于,在所述向各所述待下发节点发送所述P2P种子之后,还包括:判断在第二预设时长内,是否接收到所有所述待下发节点发送的镜像下载成功信息;其中,所述镜像下载成功信息为所述待下发节点在完成所述待下发镜像之后,返回至所述主节点的信息;若是,则返回镜像下发成功提示信息;若否,则记录未发送所述镜像下载成功信息的各所述待下发节点名称,并随镜像下发失败提示信息返回。4.根据权利要求1至3任意一项所述的容器镜像分发方法,其特征在于,所述P2P种子为BT种子。5.一种容器镜像分发方法,其特征在于,应用于从节点侧,包括:接收由主节点发送的P2P种子;其中,所述P2P种子为所述主节点在接收到包括待下发镜像...

【专利技术属性】
技术研发人员:贾思瑞
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1