一种新加入主机下载容器镜像的方法及装置制造方法及图纸

技术编号:33503349 阅读:15 留言:0更新日期:2022-05-19 01:13
本发明专利技术提供了一种新加入主机下载容器镜像的方法及装置,通过事先得到容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息,进而得到各容器镜像层解包后的文件在主机中的实际存储路径;然后根据容器镜像仓库中拟下载的容器镜像信息,将各层已解包文件的存储信息与容器镜像信息比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;然后新加入的主机从不同的主机上并行下载不同的容器镜像层的已解包文件。由于是通过容器集群各主机并发获取容器集群中其他主机已经下载的容器镜像各层已解包文件的方式,缩短下载容器镜像包含过大分层文件的时间,实现新加入主机快速投入正常使用,提高容器集群扩容效率。容效率。容效率。

【技术实现步骤摘要】
一种新加入主机下载容器镜像的方法及装置


[0001]本专利技术涉及计算机软件领域,尤其是涉及一种新加入主机下载容器镜像的方法及装置。

技术介绍

[0002]当前公司信息系统中广泛采用容器集群来管理应用,当容器集群应对高负载实施扩容时会加入新的主机。新加入的主机为了运行封装在容器镜像中的应用软件,会首先请求容器镜像仓库下载镜像。
[0003]在容器镜像仓库中,容器镜像通过分层技术进行保存,由于每层是经过打包后的单文件,当容器镜像层过大时,会有较长的下载时间,同时下载到主机后需要一定时间解包才能保存到容器管理软件规定的镜像相关目录中。如果新加入的主机需要下载的镜像较多时,存在新加入主机投入正常使用耗时过长的问题,使得扩容效率低下,降低公司效益。

技术实现思路

[0004]本专利技术要解决的技术问题是容器集群扩容时新加入主机投入正常使用耗时过长的问题,提出了一种容器集群扩容时新加入主机下载容器镜像的方法及装置。
[0005]为解决上述技术问题,本专利技术所采用的技术方案是:一种新加入主机下载容器镜像的方法,包括以下步骤:步骤1:获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径;步骤2:从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;步骤3:将所述容器镜像信息与所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;步骤4:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。
[0006]进一步地,还包括步骤5:新加入的主机将下载得到的容器镜像各层已解包文件保存到容器管理软件规定的镜像目录中。
[0007]进一步地,还包括步骤6:对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整。
[0008]进一步地,步骤3中进行比对的方法是:根据拟下载的容器镜像的各层哈希值,查询容器集群各主机上已下载的容器镜像各层已解包文件的存储信息中的哈希值,将一致的哈希值对应的已解包后的文件在主机中的实际存储路径,作为拟下载容器镜像各层已解包文件在集群各主机的实际存储路径。
[0009]进一步地,步骤4中新加入的主机从容器集群各主机上分别下载需要的容器镜像层已解包文件的方法是:新加入的主机根据容器集群中主机的数量,以及拟下载的容器镜像的层数,使各容器镜像层文件分别从不同的主机上进行下载;如果某一容器镜像层里文件尺寸大于预设的容量上限时,将该容器镜像层中的文件下载任务划分成不同的文件下载子任务,不同的文件下载子任务分别从不同的主机上进行下载。
[0010]进一步地,步骤1中获取容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息的方法是:步骤1.1:通过远程连接工具进入容器集群各主机的容器管理软件所规定的镜像数据目录中得到容器管理软件管理的容器镜像的哈希值;步骤1.2:根据所述容器镜像的哈希值获取该容器镜像的配置信息;步骤1.3:在容器镜像配置信息中得到容器镜像各层哈希值,根据容器镜像各层哈希值得到容器镜像各层目录存储路径,并得到各层解包后的文件在主机中的实际存储路径;步骤1.4:对容器镜像各主机上已下载的容器镜像的配置信息、容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径进行汇总,得到容器集群中所有主机已下载的容器镜像各层已解包文件的存储信息。
[0011]进一步地,步骤6中对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整的方法是:对下载的各层文件分别进行哈希计算得到哈希值,对各层的哈希值与步骤2中从容器镜像仓库中获取拟下载的容器镜像信息中各层对应的哈希值进行比对,一致的,则该哈希值所对应的层文件是完整的。
[0012]本专利技术还提供了一种新加入主机下载容器镜像的装置,包括以下模块:各主机上层文件存储信息模块:用于获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径;拟下载的容器镜像信息模块:用于从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;比对模块:用于将拟下载的容器镜像信息模块中获取的容器镜像信息与各主机上层文件存储信息模块中的所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;并行下载模块:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。
[0013]采用上述技术方案,本专利技术具有如下有益效果:本专利技术提供的一种新加入主机下载容器镜像的方法及装置,在容器集群为应对高负载实施扩容时,新加入主机不直接从容器镜像仓库下载容器镜像,而是事先得到容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息,进而得到各容器镜像层解包
后的文件在主机中的实际存储路径;然后根据容器镜像仓库中拟下载的容器镜像信息,将各层已解包文件的存储信息与容器镜像信息比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;然后新加入的主机分别从不同的主机上并行下载不同容器镜像层的已解包文件。由于是通过容器集群各主机并发获取容器集群中其他主机已经下载的容器镜像各层已解包文件的方式,缩短下载容器镜像文件的时间,实现新加入主机快速投入正常使用,提高容器集群扩容效率。
附图说明
[0014]图1为本专利技术系统流程图。
具体实施方式
[0015]下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0016]图1示出了本专利技术一种新加入主机下载容器镜像的方法的具体实施例,包括以下步骤:步骤1:获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径。本实施例中,获取容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息的方法是:步骤1.1:通过远程连接工具进入容器集群各主机的容器管理软件所规定的镜像数据目录中得到容器管理软件管理的容器镜像的哈希值;步骤1.2:根据所述容器镜像的哈希值获取该容器镜像的配置信息;步骤1.3:在容器镜像配置信息中得到容器镜像各层哈希值,根据容器镜像各层哈希值得到容器镜像各层目录存储路径,并得到各层解包后的单个文件在主机中的实际存储路径;步骤1.4:对容器镜像各主机上已下载的容器镜像的配置信息、容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径进行汇总,得到容器集本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种新加入主机下载容器镜像的方法,其特征在于,包括以下步骤:步骤1:获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径;步骤2:从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;步骤3:将所述容器镜像信息与所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;步骤4:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。2.根据权利要求1所述的方法,其特征在于,还包括步骤5:新加入的主机将下载得到的容器镜像各层已解包文件保存到容器管理软件规定的镜像目录中。3.根据权利要求2所述的方法,其特征在于,还包括步骤6:对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整。4.根据权利要求1所述的方法,其特征在于,步骤3中进行比对的方法是:根据拟下载的容器镜像的各层哈希值,查询容器集群各主机上已下载的容器镜像各层已解包文件的存储信息中的哈希值,将一致的哈希值对应的已解包后的文件在主机中的实际存储路径,作为拟下载容器镜像各层已解包文件在集群各主机的实际存储路径。5.根据权利要求1所述的方法,其特征在于,步骤4中新加入的主机从容器集群各主机上分别下载需要的容器镜像层已解包文件的方法是:新加入的主机根据容器集群中主机的数量,以及拟下载的容器镜像的层数,使各容器镜像层文件分别从不同的主机上进行下载;如果某一容器镜像层里文件尺寸大于预设的容量上限时,将该容器镜像层中的文件下载任务划分成不同的文件下载子任务,不同的文件下载子任务分别从不同的主机上进行下载。6.根据权利要求1至5任一项所述的方法,其特征在于,步骤1中获取容器集群中各主机...

【专利技术属性】
技术研发人员:王伟华刘井山樊宇梅进
申请(专利权)人:梯度云科技北京有限公司
类型:发明
国别省市:

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

1