技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种容器镜像管理方法、装置、电子设备及存储介质与流程  >  正文

一种容器镜像管理方法、装置、电子设备及存储介质与流程

  • 国知局
  • 2024-07-31 22:38:13

本发明涉及虚拟化领域,特别涉及一种容器镜像管理方法、装置、电子设备及存储介质。

背景技术:

1、随着云计算技术的不断发展,集群技术(如kubernetes集群)及容器技术得到了广泛使用。用户可在集群环境包含的多个节点设备中部署不同的容器服务,以为外界提供不同的服务。由于容器服务通常基于容器镜像创建得到,因此对于容器镜像的高效管理对于保障容器服务质量具有重要意义。

2、相关技术,通常可使用overlayfs(一种堆叠文件系统)或devmapper(一种基于块设备映射器的文件系统)在存储池设备中管理容器镜像。然而,overlayfs在操作容器镜像时容易产生大量的小文件及目录,例如当容器镜像中包含1000个文件,则利用overlayfs对该容器镜像解压之后,存储池设备中将出现1000个小文件。由于对大量小文件的导出及对大量目录的生成将在存储池设备中产生大量加锁操作,因此overlayfs将导致对容器镜像的读写性能偏低。而devmapper在管理容器镜像时,对应的文件系统层次过多,容易导致io链路过长,影响容器实例性能。

技术实现思路

1、本发明的目的是提供一种容器镜像管理方法、装置、电子设备及存储介质,可对容器镜像的管理方式进行切换,以在存储池设备中管理容器镜像,同时在虚拟磁盘文件对应的虚拟磁盘中解压容器镜像,从而可避免因解压容器镜像导致产生较多小文件的缺陷。

2、为解决上述技术问题,本发明提供一种容器镜像管理方法,应用于节点设备,所述节点设备与存储池设备连接,所述存储池设备存储有所述节点设备所需运行的容器服务的运行文件,所述方法包括:

3、确定所述容器服务在所述存储池设备中的原始运行目录;

4、在所述存储池设备的根目录中创建镜像目录和虚拟磁盘目录,并将所述容器服务的容器镜像从所述原始运行目录迁移至所述镜像目录,以及在所述虚拟磁盘目录中创建虚拟磁盘文件,以将所述虚拟磁盘文件对应的虚拟磁盘作为容器服务的系统盘;

5、查找所述容器服务的运行时组件的配置文件,并将所述配置文件中的根路径信息调整为所述存储池设备的根目录,以指定所述存储池设备的根目录为所述容器服务的运行目录;

6、在所述系统盘中创建所述运行时组件对应的运行时目录,并建立所述镜像目录与所述运行时目录中的内容目录间的软链接,以在访问所述内容目录时通过软链接访问所述镜像目录;

7、将所述镜像目录中的容器镜像解压至所述系统盘。

8、可选地,所述容器镜像具有多层,各层所述容器镜像之间具有层级依赖关系;

9、在将所述镜像目录中的容器镜像解压至所述系统盘之前,还包括:

10、将所述原始运行目录中的容器镜像元数据文件目录迁移至所述运行时目录;其中,所述容器镜像元数据文件目录中包含容器镜像元数据文件,所述容器镜像元数据文件记录有各所述容器镜像间的层级依赖关系;

11、在所述运行时目录中创建虚拟磁盘元数据目录;

12、所述将所述镜像目录中的容器镜像解压至所述系统盘,包括:

13、根据所述容器镜像元数据文件将所述镜像目录中的各层所述容器镜像顺序解压至各层所述容器镜像对应的虚拟磁盘文件;

14、将各所述虚拟磁盘文件的层级依赖关系记录于虚拟磁盘元数据文件,并将所述虚拟磁盘元数据文件保存至所述虚拟磁盘元数据目录,以将由各层所述容器镜像对应的虚拟磁盘文件所共同形成的虚拟磁盘作为所述系统盘。

15、可选地,在确定所述容器服务在所述存储池设备中的原始运行目录之前,还包括:

16、执行预设维护模式切换命令,以使所述容器服务停止工作;

17、在将所述镜像目录中的容器镜像解压至所述系统盘之后,还包括:

18、执行预设维护模式退出命令,以使所述容器服务恢复工作。

19、可选地,在执行预设维护模式退出命令之前,还包括:

20、清除所述存储池设备的根目录中除所述镜像目录和所述虚拟磁盘目录之外的其他文件目录。

21、可选地,在执行预设维护模式退出命令之前,还包括:

22、将所述容器服务的运行环境所依赖的系统服务文件迁移至所述系统盘。

23、可选地,在执行预设维护模式退出命令之前,还包括:

24、判断所述系统盘中是否包含容器镜像库服务目录;

25、若包含,则在所述容器镜像库服务目录中创建标志文件;

26、若不包含,则在所述系统盘中创建所述容器镜像库服务目录,并在所述容器镜像库服务目录中创建标志文件;

27、当确定所述容器镜像库服务目录中包含所述标志文件时,对所述容器服务的容器镜像库服务进行重启。

28、可选地,在所述虚拟磁盘目录中创建虚拟磁盘文件之后,还包括:

29、将所述虚拟磁盘文件对应的虚拟磁盘所使用的文件系统设置为扩展文件系统。

30、本发明还提供一种容器镜像管理装置,应用于节点设备,所述节点设备与存储池设备连接,所述存储池设备存储有所述节点设备所需运行的容器服务的运行文件,所述装置包括:

31、原始运行目录确定模块,用于确定所述容器服务在所述存储池设备中的原始运行目录;

32、初始迁移模块,用于在所述存储池设备的根目录中创建镜像目录和虚拟磁盘目录,并将所述容器服务的容器镜像从所述原始运行目录迁移至所述镜像目录,以及在所述虚拟磁盘目录中创建虚拟磁盘文件,以将所述虚拟磁盘文件对应的虚拟磁盘作为容器服务的系统盘;

33、配置调整模块,用于查找所述容器服务的运行时组件的配置文件,并将所述配置文件中的根路径信息调整为所述存储池设备的根目录,以指定所述存储池设备的根目录为所述容器服务的运行目录;

34、目录设置模块,用于在所述系统盘中创建所述运行时组件对应的运行时目录,并建立所述镜像目录与所述运行时目录中的内容目录间的软链接,以在访问所述内容目录时通过软链接访问所述镜像目录;

35、镜像解压模块,用于将所述镜像目录中的容器镜像解压至所述系统盘。

36、本发明还提供一种电子设备,包括:

37、存储器,用于存储计算机程序;

38、处理器,用于执行所述计算机程序时实现如上所述的容器镜像管理方法。

39、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的容器镜像管理方法。

40、本发明提供一种容器镜像管理方法,应用于节点设备,所述节点设备与存储池设备连接,所述存储池设备存储有所述节点设备所需运行的容器服务的运行文件,所述方法包括:确定所述容器服务在所述存储池设备中的原始运行目录;在所述存储池设备的根目录中创建镜像目录和虚拟磁盘目录,并将所述容器服务的容器镜像从所述原始运行目录迁移至所述镜像目录,以及在所述虚拟磁盘目录中创建虚拟磁盘文件,以将所述虚拟磁盘文件对应的虚拟磁盘作为容器服务的系统盘;查找所述容器服务的运行时组件的配置文件,并将所述配置文件中的根路径信息调整为所述存储池设备的根目录,以指定所述存储池设备的根目录为所述容器服务的运行目录;在所述系统盘中创建所述运行时组件对应的运行时目录,并建立所述镜像目录与所述运行时目录中的内容目录间的软链接,以在访问所述内容目录时通过软链接访问所述镜像目录;将所述镜像目录中的容器镜像解压至所述系统盘。

41、可见,本发明中的节点设备首先可确定容器服务在存储池设备中的原始运行目录,随后可在存储池设备的根目录中创建镜像目录和虚拟磁盘目录,并将容器服务的容器镜像从原始运行目录迁移至镜像目录,以及在虚拟磁盘目录中创建虚拟磁盘文件,以将虚拟磁盘文件对应的虚拟磁盘作为容器服务的系统盘。其中,系统盘用于存放解压容器镜像所产生的文件。随后,节点设备可查找容器服务的运行时组件的配置文件,并将配置文件中的根路径信息调整为存储池设备的根目录,以指定存储池设备的根目录为容器服务的运行目录;此外,节点设备还可在系统盘中创建运行时组件对应的运行时目录,并建立镜像目录与运行时目录中的内容目录间的软链接,以在访问内容目录时通过软链接访问镜像目录。通过对根路径信息的调整以及软链接的创建,可确保容器服务后续基于该系统盘运行,同时可利用存储池设备根目录中的镜像目录管理容器镜像。最后,节点设备可将镜像目录中的容器镜像解压至系统盘,即可将容器镜像解压至虚拟磁盘文件。由于本发明并未直接在存储池设备中解压容器镜像,而是可将容器镜像解压至虚拟磁盘文件,且在解压单个容器镜像时,虚拟磁盘文件的数量并不会变化,因此本发明可避免解压单个容器镜像会在存储池设备中产生较多小文件的缺陷。进而,本发明不仅可在存储池设备中管理容器镜像,同时也能避免因解压容器镜像导致的产生较多小文件的缺陷。本发明还提供一种容器镜像管理装置、电子设备及计算机可读存储介质,具有上述有益效果。

本文地址:https://www.jishuxx.com/zhuanli/20240730/193937.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。