CN114490544B - 一种新加入主机下载容器镜像的方法及装置 - Google Patents
一种新加入主机下载容器镜像的方法及装置 Download PDFInfo
- Publication number
- CN114490544B CN114490544B CN202210401128.3A CN202210401128A CN114490544B CN 114490544 B CN114490544 B CN 114490544B CN 202210401128 A CN202210401128 A CN 202210401128A CN 114490544 B CN114490544 B CN 114490544B
- Authority
- CN
- China
- Prior art keywords
- container
- mirror image
- downloaded
- layer
- container mirror
- 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
- 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/172—Caching, prefetching or hoarding of files
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种新加入主机下载容器镜像的方法及装置,通过事先得到容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息,进而得到各容器镜像层解包后的文件在主机中的实际存储路径;然后根据容器镜像仓库中拟下载的容器镜像信息,将各层已解包文件的存储信息与容器镜像信息比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;然后新加入的主机从不同的主机上并行下载不同的容器镜像层的已解包文件。由于是通过容器集群各主机并发获取容器集群中其他主机已经下载的容器镜像各层已解包文件的方式,缩短下载容器镜像包含过大分层文件的时间,实现新加入主机快速投入正常使用,提高容器集群扩容效率。
Description
技术领域
本发明涉及计算机软件领域,尤其是涉及一种新加入主机下载容器镜像的方法及装置。
背景技术
当前公司信息***中广泛采用容器集群来管理应用,当容器集群应对高负载实施扩容时会加入新的主机。新加入的主机为了运行封装在容器镜像中的应用软件,会首先请求容器镜像仓库下载镜像。
在容器镜像仓库中,容器镜像通过分层技术进行保存,由于每层是经过打包后的单文件,当容器镜像层过大时,会有较长的下载时间,同时下载到主机后需要一定时间解包才能保存到容器管理软件规定的镜像相关目录中。如果新加入的主机需要下载的镜像较多时,存在新加入主机投入正常使用耗时过长的问题,使得扩容效率低下,降低公司效益。
发明内容
本发明要解决的技术问题是容器集群扩容时新加入主机投入正常使用耗时过长的问题,提出了一种容器集群扩容时新加入主机下载容器镜像的方法及装置。
为解决上述技术问题,本发明所采用的技术方案是:
一种新加入主机下载容器镜像的方法,包括以下步骤:
步骤1:获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径;
步骤2:从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;
步骤3:将所述容器镜像信息与所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;
步骤4:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。
进一步地,还包括步骤5:新加入的主机将下载得到的容器镜像各层已解包文件保存到容器管理软件规定的镜像目录中。
进一步地,还包括步骤6:对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整。
进一步地,步骤3中进行比对的方法是:根据拟下载的容器镜像的各层哈希值,查询容器集群各主机上已下载的容器镜像各层已解包文件的存储信息中的哈希值,将一致的哈希值对应的已解包后的文件在主机中的实际存储路径,作为拟下载容器镜像各层已解包文件在集群各主机的实际存储路径。
进一步地,步骤4中新加入的主机从容器集群各主机上分别下载需要的容器镜像层已解包文件的方法是:
新加入的主机根据容器集群中主机的数量,以及拟下载的容器镜像的层数,使各容器镜像层文件分别从不同的主机上进行下载;
如果某一容器镜像层里文件尺寸大于预设的容量上限时,将该容器镜像层中的文件下载任务划分成不同的文件下载子任务,不同的文件下载子任务分别从不同的主机上进行下载。
进一步地,步骤1中获取容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息的方法是:
步骤1.1:通过远程连接工具进入容器集群各主机的容器管理软件所规定的镜像数据目录中得到容器管理软件管理的容器镜像的哈希值;
步骤1.2:根据所述容器镜像的哈希值获取该容器镜像的配置信息;
步骤1.3:在容器镜像配置信息中得到容器镜像各层哈希值,根据容器镜像各层哈希值得到容器镜像各层目录存储路径,并得到各层解包后的文件在主机中的实际存储路径;
步骤1.4:对容器镜像各主机上已下载的容器镜像的配置信息、容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径进行汇总,得到容器集群中所有主机已下载的容器镜像各层已解包文件的存储信息。
进一步地,步骤6中对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整的方法是:
对下载的各层文件分别进行哈希计算得到哈希值,对各层的哈希值与步骤2中从容器镜像仓库中获取拟下载的容器镜像信息中各层对应的哈希值进行比对,一致的,则该哈希值所对应的层文件是完整的。
本发明还提供了一种新加入主机下载容器镜像的装置,包括以下模块:
各主机上层文件存储信息模块:用于获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径;
拟下载的容器镜像信息模块:用于从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;
比对模块:用于将拟下载的容器镜像信息模块中获取的容器镜像信息与各主机上层文件存储信息模块中的所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;
并行下载模块:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。
采用上述技术方案,本发明具有如下有益效果:
本发明提供的一种新加入主机下载容器镜像的方法及装置,在容器集群为应对高负载实施扩容时,新加入主机不直接从容器镜像仓库下载容器镜像,而是事先得到容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息,进而得到各容器镜像层解包后的文件在主机中的实际存储路径;然后根据容器镜像仓库中拟下载的容器镜像信息,将各层已解包文件的存储信息与容器镜像信息比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;然后新加入的主机分别从不同的主机上并行下载不同容器镜像层的已解包文件。由于是通过容器集群各主机并发获取容器集群中其他主机已经下载的容器镜像各层已解包文件的方式,缩短下载容器镜像文件的时间,实现新加入主机快速投入正常使用,提高容器集群扩容效率。
附图说明
图1为本发明***流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一种新加入主机下载容器镜像的方法的具体实施例,包括以下步骤:
步骤1:获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径。本实施例中,获取容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息的方法是:
步骤1.1:通过远程连接工具进入容器集群各主机的容器管理软件所规定的镜像数据目录中得到容器管理软件管理的容器镜像的哈希值;
步骤1.2:根据所述容器镜像的哈希值获取该容器镜像的配置信息;
步骤1.3:在容器镜像配置信息中得到容器镜像各层哈希值,根据容器镜像各层哈希值得到容器镜像各层目录存储路径,并得到各层解包后的单个文件在主机中的实际存储路径;
步骤1.4:对容器镜像各主机上已下载的容器镜像的配置信息、容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径进行汇总,得到容器集群中所有主机已下载的容器镜像各层已解包文件的存储信息。
步骤2:从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;
步骤3:将所述容器镜像信息与所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径。本实施例中,进行比对的方法是:根据拟下载的容器镜像的各层哈希值,查询容器集群各主机上已下载的容器镜像各层已解包文件的存储信息中的哈希值,将一致的哈希值对应的已解包后的文件在主机中的实际存储路径,作为拟下载容器镜像各层已解包文件在集群各主机的实际存储路径。通过步骤1已经事先知道了容器集群各主机上已下载的容器镜像各层已解包文件在主机上的实际存储路径,然后通过步骤2知道拟下载的容器镜像信息是什么,比对后就知道了拟下载的容器镜像各层已解包的文件位于各主机上的路径。
步骤4:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。为了使新加入的主机能够快速的下载容器镜像文件,分别从不同的主机上下载不同的容器镜像层文件,并行下载,则能快速的得到各层已解包文件,缩短下载容器镜像包含过大分层文件的时间,实现新加入主机快速投入正常使用,提高容器集群扩容效率。
步骤4中新加入的主机从容器集群各主机上分别下载需要的容器镜像层已解包文件的方法是:
新加入的主机根据容器集群中主机的数量,以及拟下载的容器镜像的层数,使各容器镜像层文件分别从不同的主机上进行下载;
如果某一容器镜像层里文件尺寸大于预设的容量上限时,将该容器镜像层中的文件下载任务划分成不同的文件下载子任务,不同的文件下载子任务分别从不同的主机上进行下载。
本实施例中,新加入主机一方面是从不同的主机上并行下载不同容器镜像层文件,而且对于层文件较大的,也可以对该层文件进行划分,从不同的主机上下载该层文件的部分文件,直到下载完成该层文件。
步骤5:新加入的主机将下载得到的容器镜像各层已解包文件保存到容器管理软件规定的镜像目录中。
步骤6:对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整。对于下载的各层文件在使用前,还需要校验所下载的层文件是否完成,本申请是通过将保存后的容器镜像各层文件进行哈希计算得到层文件哈希值与步骤2中从容器镜像仓库中获取的拟下载的容器镜像信息中的各层哈希值进行比对,若一致,则说明该层文件下载完整。
本发明还提供了一种新加入主机下载容器镜像的装置,包括以下模块:
各主机上层文件存储信息模块:用于获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括容器镜像配置、各层哈希值、各层解包后的文件在主机中的实际存储路径;
拟下载的容器镜像信息模块:用于从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括容器镜像配置和各层哈希值;
比对模块:用于将拟下载的容器镜像信息模块中获取的容器镜像信息与各主机上层文件存储信息模块中的所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;
并行下载模块:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种新加入主机下载容器镜像的方法,其特征在于,包括以下步骤:
步骤1:获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括已下载的容器镜像的配置信息、已下载的容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径;
步骤2:从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括拟下载的容器镜像的配置信息和拟下载的容器镜像各层哈希值;
步骤3:将所述容器镜像信息与所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;
步骤4:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件;
步骤4中新加入的主机从容器集群各主机上分别下载需要的容器镜像层已解包文件的方法是:
新加入的主机根据容器集群中主机的数量,以及拟下载的容器镜像的层数,使各容器镜像层文件分别从不同的主机上进行下载;
如果某一容器镜像层里文件尺寸大于预设的容量上限时,将该容器镜像层中的文件下载任务划分成不同的文件下载子任务,不同的文件下载子任务分别从不同的主机上进行下载。
2.根据权利要求1所述的方法,其特征在于,还包括步骤5:新加入的主机将下载得到的容器镜像各层已解包文件保存到容器管理软件规定的镜像目录中。
3.根据权利要求2所述的方法,其特征在于,还包括步骤6:对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整。
4.根据权利要求1所述的方法,其特征在于,步骤3中进行比对的方法是:根据拟下载的容器镜像的各层哈希值,查询容器集群各主机上已下载的容器镜像各层已解包文件的存储信息中的哈希值,将一致的哈希值对应的已解包后的文件在主机中的实际存储路径,作为拟下载容器镜像各层已解包文件在集群各主机的实际存储路径。
5.根据权利要求1至4任一项所述的方法,其特征在于,步骤1中获取容器集群中各主机上已下载的容器镜像各层已解包文件的存储信息的方法是:
步骤1.1:通过远程连接工具进入容器集群各主机的容器管理软件所规定的镜像数据目录中得到容器管理软件管理的容器镜像的哈希值;
步骤1.2:根据所述容器镜像的哈希值获取已下载的容器镜像的配置信息;
步骤1.3:在已下载的容器镜像的配置信息中得到已下载的容器镜像各层哈希值,根据已下载的容器镜像各层哈希值得到容器镜像各层目录存储路径,并得到各层解包后的文件在主机中的实际存储路径;
步骤1.4:对容器镜像各主机上已下载的容器镜像的配置信息、已下载的容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径进行汇总,得到容器集群中所有主机已下载的容器镜像各层已解包文件的存储信息。
6.根据权利要求3所述的方法,其特征在于,步骤6中对保存后的容器镜像各层文件进行哈希校验检查下载的各层文件是否完整的方法是:
对下载的各层文件分别进行哈希计算得到哈希值,对各层的哈希值与步骤2中从容器镜像仓库中获取拟下载的容器镜像信息中各层对应的哈希值进行比对,一致的,则该哈希值所对应的层文件是完整的。
7.一种新加入主机下载容器镜像的装置,其特征在于,包括以下模块:
各主机上层文件存储信息模块:用于获取容器集群中所有主机上已下载的容器镜像各层已解包文件的存储信息,所述存储信息包括已下载的容器镜像的配置信息、已下载的容器镜像各层哈希值、各层解包后的文件在主机中的实际存储路径;
拟下载的容器镜像信息模块:用于从容器镜像仓库中获取拟下载的容器镜像信息,所述容器镜像信息包括拟下载的容器镜像的配置信息和拟下载的容器镜像各层哈希值;
比对模块:用于将拟下载的容器镜像信息模块中获取的容器镜像信息与各主机上层文件存储信息模块中的所述存储信息进行比对,得到拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径;
并行下载模块:新加入的主机根据拟下载容器镜像各层已解包文件在容器集群各主机中的存储路径,分别从容器集群的不同主机上并行下载不同的容器镜像层已解包文件,直到得到全部的拟下载的容器镜像各层文件;新加入的主机从容器集群各主机上分别下载需要的容器镜像层已解包文件的方法是:
新加入的主机根据容器集群中主机的数量,以及拟下载的容器镜像的层数,使各容器镜像层文件分别从不同的主机上进行下载;
如果某一容器镜像层里文件尺寸大于预设的容量上限时,将该容器镜像层中的文件下载任务划分成不同的文件下载子任务,不同的文件下载子任务分别从不同的主机上进行下载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210401128.3A CN114490544B (zh) | 2022-04-18 | 2022-04-18 | 一种新加入主机下载容器镜像的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210401128.3A CN114490544B (zh) | 2022-04-18 | 2022-04-18 | 一种新加入主机下载容器镜像的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490544A CN114490544A (zh) | 2022-05-13 |
CN114490544B true CN114490544B (zh) | 2022-06-28 |
Family
ID=81489424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210401128.3A Active CN114490544B (zh) | 2022-04-18 | 2022-04-18 | 一种新加入主机下载容器镜像的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490544B (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426258B (zh) * | 2016-05-23 | 2020-04-28 | 华为技术有限公司 | 一种镜像文件的上传和下载方法及装置 |
CN106506587B (zh) * | 2016-09-23 | 2021-08-06 | 中国人民解放军国防科学技术大学 | 一种基于分布式存储的Docker镜像下载方法 |
CN109391664B (zh) * | 2017-08-11 | 2021-04-20 | 中国电信股份有限公司 | 用于多集群容器部署的***和方法 |
CN110198330B (zh) * | 2018-03-27 | 2022-03-22 | 腾讯科技(深圳)有限公司 | 镜像下载方法和装置 |
CN110912955B (zh) * | 2018-09-17 | 2022-04-05 | 阿里巴巴集团控股有限公司 | 容器镜像下载、上传方法及装置 |
CN111464603B (zh) * | 2020-03-24 | 2022-03-29 | 聚好看科技股份有限公司 | 一种服务器扩容方法及扩容*** |
CN113391880B (zh) * | 2021-06-21 | 2023-04-07 | 超越科技股份有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
CN113342745B (zh) * | 2021-07-06 | 2023-06-20 | 中国光大银行股份有限公司 | 一种镜像文件的校验方法、装置、电子设备及存储介质 |
CN114138414B (zh) * | 2021-12-02 | 2023-08-15 | 国汽大有时空科技(安庆)有限公司 | 一种容器镜像的增量压缩方法及*** |
-
2022
- 2022-04-18 CN CN202210401128.3A patent/CN114490544B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114490544A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651219A (zh) | 一种多模块项目配置文件管理的方法及设备 | |
CN110442430B (zh) | 一种基于分布式存储容器云应用的发布方法 | |
CN111400246B (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
CN112965761B (zh) | 一种数据处理方法、***、电子设备及存储介质 | |
US11868631B2 (en) | System startup method and related device | |
CN115686932B (zh) | 备份集文件恢复方法、装置和计算机设备 | |
CN111966631A (zh) | 一种可快速分发的镜像文件生成方法、***、设备和介质 | |
CN114443081A (zh) | 终端升级的方法及终端 | |
CN112015448A (zh) | 一种基于空中下载技术的***升级方法及装置 | |
CN111562929A (zh) | 补丁文件的生成方法、装置、设备及存储介质 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
US20140281125A1 (en) | Systems and methods for in-place reorganization of device storage | |
CN114490544B (zh) | 一种新加入主机下载容器镜像的方法及装置 | |
CN112597406A (zh) | 一种文件传输方法、装置、终端设备及存储介质 | |
US20210349855A1 (en) | Method of data structuring for difference between old and new data and device thereof | |
CN106899630B (zh) | 网盘中图片的缩略图显示方法与装置 | |
CN115714706A (zh) | 基于内嵌h5的访问加速***、方法、存储介质及电子设备 | |
CN116225782A (zh) | 处理快照的方法及*** | |
CN115586872A (zh) | 一种容器镜像管理方法、装置、设备及存储介质 | |
CN114116030A (zh) | 操作***的运行方法、装置、电子设备、存储介质 | |
CN113220237A (zh) | 一种分布式存储方法、装置、设备及存储介质 | |
WO2024066904A1 (zh) | 一种容器创建方法、***及节点 | |
CN114189512B (zh) | 基线代码的下载方法、装置、终端设备和存储介质 | |
CN114116367B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |