一种容器启动方法、装置、电子设备及存储介质与流程
未命名
07-27
阅读:76
评论:0
1.本公开涉及计算机技术领域,尤其涉及一种容器启动方法、装置、电子设备及存储介质。
背景技术:
2.容器技术,又称容器虚拟化,是一种轻量级的虚拟化技术,基于namespace和cgroup实现,当前主要实现是基于runc(runc是一个命令行客户端,用于运行根据开放容器计划(open container initiative缩写:oci)格式打包的应用程序)。对于runc而言,多个容器是在宿主机上共享内核的。在一个含有大量节点(如几千节点)的kubernetes容器集群(kubernetes是一个的开源平台,用于管理容器化工作负载和服务)中,当需要并发启动大量pod(pod是kubernetes的最小单元,容器包含在pod中,一个pod中有一个pause容器和若干个业务容器。可以理解为pod是一个容器组)时,在每个节点上都需要进行镜像的拉取与解压操作,存在以下几个问题:(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.本公开实施例提供的上述技术方案具有如下优点:本公开实施例提供的方法通过云盘的方式在容器集群中集中式存储容器镜像,使每个容器镜像在集群中保存一份,相比在每个节点上存储容器镜像节省了存储空间。即使在多个节点上并发启动pod时,能够有效保证冷启动效率,同时也减少对于镜像仓库访问的并发压力。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
27.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1为本公开实施例提供的一种容器启动方法的流程图;
29.图2为本公开另一实施例提供的一种容器启动过程的示意图;
30.图3为本公开另一实施例提供的一种容器启动方法的流程图;
31.图4为本公开实施例提供的一种容器启动装置的框图;
32.图5为本公开另一实施例提供的一种容器启动装置的框图;
33.图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
34.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
35.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
36.本公开实施例提供了一种容器启动方法、装置、电子设备及存储介质。本公开实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
37.根据本公开实施例的一方面,提供了一种容器启动方法的方法实施例。图1为本公开实施例提供的一种容器启动方法的流程图,如图1所示,该方法包括:
38.步骤s11,从云端获取容器集群对应的容器镜像。
39.本公开实施例提供的方法应用于容器集群中的目标节点,目标节点为容器集群中任意一个节点。如图2所示,容器集群中包括多个节点,每个节点中部署有容器后台驻留程序(containerd),第一服务组件(cloudblocksnapshotter组件)以及pod等等。另外,容器集群中还包括:控制中心,控制中心部署有第二服务组件(blocksnapshotterserve组件)。
40.需要说明的是,cloudblocksnapshotter组件是基于containerd的snapshotter实现,snapshotter是containerd的一个外部插件,用于使containerd能够使用镜像加速服务。在每个容器集群的节点上均部署一个,实现镜像服务接口(imageservice接口)与外部插件接口(snapshotter接口),即实现拉取容器镜像与准备容器rootfs的能力。
41.blocksnapshotterserver组件部署在控制中心,只部署一个,该组件与cloudblocksnapshotter组件之间为一对多的关系,可以将该组件理解为cloudblocksnapshotter组件的服务端,该组件用于对接镜像仓库(image repository)拉取镜像,以及对接云端(cloud storage,如ceph rbd),实现镜像存储以及容器rootfs存储,容器rootfs即为容器启动程序。
42.在本公开实施例中,从云端获取容器集群对应的容器镜像,包括以下步骤a1-a3:
43.步骤a1,接收容器集群发生的容器启动事件,并基于容器启动事件向部署于控制中心发送查询请求。
44.步骤a2,获取服务组件基于查询请求反馈的容器镜像对应目标云盘的云盘信息。
45.步骤a3,利用云盘信息下载容器镜像。
46.在本公开实施例中,容器集群通过cri启动目标节点的pod时,首先利用grpc接口调用cloudblocksnapshotter组件拉取镜像,此时cloudblocksnapshotter组件接收到容器
shim-kata-v2进程通过vsock接口调用kata-agent启动目标容器。
59.本公开实施例提供的方法通过云盘的方式在容器集群中集中存储容器镜像,相比在每个节点上存储容器镜像节省了存储空间,且每次启动无需再访问镜像仓库。即使在容器集群的多个节点上并发启动容器的情况下,同样能够有效保证冷启动效率,同时也减少对于镜像仓库访问的并发压力。例如:1000node的集群,并发请求将会降为原来的1/1000。
60.根据本公开实施例的另一方面,还提供了一种容器启动方法,图3为本公开实施例提供的一种容器启动方法的流程图,如图3所示,该方法包括:
61.步骤s21,接收目标节点发送的快照盘获取指令,其中,快照盘获取指令携带容器集群的容器镜像,目标节点为容器集群中任意一个节点。
62.本公开实施例提供的方法应用于控制中心,控制中心部署有第二服务组件(blocksnapshotterserver组件),blocksnapshotterserver组件与容器集群中的多个节点中的cloudblocksnapshotter组件对接。
63.在本公开实施例中,在接收目标节点发送的快照盘获取指令之前,方法还包括以下步骤c1-c2:
64.步骤c1,接收目标节点发送的查询请求,并基于查询请求从云端获取所在容器集群对应容器镜像的云盘信息,其中,目标节点为容器集群中任意一个节点。
65.在本公开实施例中,控制中心的blocksnapshotterserver组件在接收到目标节点中cloudblocksnapshotter组件发送的查询请求后,基于查询请求,从云端查询是否存在容器集群对应的容器镜像,得到查询结果。在查询结果为存在容器镜像的情况下,获取容器镜像所在目标云盘的云盘信息。
66.需要说明的是,在任意一个容器集群中的首个启动容器的节点在从云端获取容器镜像时,都需要先从镜像仓库拉取容器镜像至云端,便于后续容器集群中其他节点启动容器时直接从云端获取容器镜像,所以如果查询结果为存在容器镜像的情况下,则说明目标节点所在容器集群中的其他节点已经从云端拉取过容器镜像,此时可以直接读取容器镜像所在目标云盘的云盘信息。
67.步骤c2,发送云盘信息至目标节点,以使目标节点基于云盘信息下载容器镜像。
68.在本公开实施例中,方法还包括:在查询结果为不存在容器镜像的情况下,则说明目标节点是其所在的容器集群中首个启动容器的节点,此时云端没有该容器集群对应的容器镜像。所以blocksnapshotterserver组件首先在云端内创建初始云盘,并利用容器集群的镜像认证信息从镜像仓库拉取容器集群对应的容器镜像;将初始云盘以及容器镜像挂载至指定目录,得到目标云盘以及目标云盘的云盘信息。
69.步骤s22,基于快照盘获取指令,读取容器镜像对应的挂载信息。
70.在本公开实施例中,服务组件收到快照盘获取指令后,查找容器镜像对应的挂载信息,挂载信息包括:容器镜像所在目标云盘的云盘id,目标云盘所挂载的目标以及目录下的镜像文件。然后基于挂载信息创建目标云盘的快照盘,最终将快照盘反馈给cloudblocksnapshottr组件。
71.步骤s23,基于挂载信息创建快照盘,并将快照盘发送至目标节点,以使目标节点基于快照盘执行容器启动操作。
72.本公开实施例提供的方法cloudblocksnapshotter组件通过与控妹纸中心的
blocksnapshotterserver组件联动,实现了容器集群的容器镜像的集中拉取与解压操作,将容器镜像与容器启动程序均保存在云端。
73.在本公开实施例中,控制中心在遇到容器集群中首个启动容器的节点的情况下,通过blocksnapshotterserver组件从镜像仓库拉取容器集群的镜像并存储至云端,以此能够实现只要容器集群中的任意一个节点从云端下载一次容器镜像之后,该容器集群后续在任何节点上再次启动容器无需重新从镜像仓库下载镜像,以此加快了容器的冷启动速度。
74.作为一个示例,本公开实施例还提供了一种容器启动方法,该方法包括:
75.步骤(1),kubelet通过cri启动pod时,首先通过grpc接口调用cloudblocksnapshotter组件的imageservice接口拉取镜像。
76.步骤(2),cloudblocksnapshotter组件中的imageservice调用blocksnapshotterserver组件,查看云存储中是否已经有了该镜像。
77.步骤(3),如果步骤(2)中镜像在云存储中不存在,则blocksnapshotterserver组件调用cloudstorage接口创建块设备并格式化文件系统、挂载到指定目录。
78.步骤(4),blocksnapshotterserver组件获取镜像认证信息,镜像认证信息是根据imageservice接口得获取的,让买机票镜像认证信息去镜像仓库依次拉取镜像manifests、镜像的所有layer到步骤(3)的指定目录。
79.步骤(5),blocksnapshotterserver拉取镜像成功后,返回给cloudblocksnapshotter imageservice该镜像所对应的云盘块设备的信息(云盘id)。
80.步骤(6)如果步骤(2)中镜像在云存储中存在,则直接返回给cloudblocksnapshotter imageservice该镜像所对应的云盘块设备的信息。
81.步骤(7)containerd调用cloudblocksnapshotter中的snapshotter接口准备容器rootfs。
82.步骤(8)snapshotter调用blocksnapshotterserver相关接口获取该镜像对应的云盘挂载信息。
83.步骤(9)blocksnapshotterserver收到请求后,查找镜像对应的云盘信息,调用云存储接口创建该云盘的快照盘,并将该快照盘返回给snapshotter。
84.步骤(10)cloudblocksnapshotter中的snapshotter拿到云盘挂载信息(快照盘)后,将该快照盘作为容器roofts,挂载在宿主机上。
85.步骤(11),containerd-shim-kata-v2启动qemu,将该快照盘通过virtio-blk协议hotplug进kata vm内,挂载为容器rootfs。
86.步骤(12),containerd-shim-kata-v2通过vsock接口调用kata-agent启动容器。
87.图4为本公开实施例提供的一种容器启动装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该装置包括:
88.获取模块41,用于从云端获取容器集群对应的容器镜像;
89.第一发送模块42,用于基于容器镜像向控制中心发送快照盘获取指令,其中,控制中心与容器集群中的每一个节点连接,快照盘获取指令用于获取利用容器镜像的挂载信息生成的快照盘;
90.第一接收模块43,用于接收控制中心基于快照盘获取指令反馈的快照盘,将快照盘作为容器启动程序挂载至宿主机,并触发容器启动指令生效;
91.处理模块44,用于基于容器启动指令,将快照盘热插至目标容器的虚拟机,以使目标容器基于快照盘执行容器启动操作,其中,目标容器为部署在目标节点中的容器。
92.在本公开实施例中,获取模块41,用于接收容器集群发生的容器启动事件,并基于容器启动事件向部署于控制中心发送查询请求;获取服务组件基于查询请求反馈的容器镜像对应目标云盘的云盘信息;利用云盘信息下载容器镜像。
93.在本公开实施例中,处理模块44,用于基于容器启动指令,调用服务进程启动虚拟机启动程序;利用虚拟机启动程序将快照盘通过预设协议热插至目标容器的虚拟机,并在目标容器内将快照盘挂载为容器启动程序。
94.图5为本公开实施例提供的一种容器启动装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,该装置包括:
95.第二接收模块51,用于接收目标节点发送的快照盘获取指令,其中,快照盘获取指令携带容器集群的容器镜像,其中,目标节点为容器集群中任意一个节点;
96.读取模块52,用于基于快照盘获取指令,读取容器镜像对应的挂载信息;
97.第二发送模块53,用于基于挂载信息创建快照盘,并将快照盘发送至目标节点,以使目标节点基于快照盘执行容器启动操作。
98.在本公开实施例中,容器启动装置还包括:查询模块,用于接收目标节点发送的查询请求,并基于查询请求从云端获取所在容器集群对应容器镜像的云盘信息,其中,目标节点为容器集群中任意一个节点;发送云盘信息至目标节点,以使目标节点基于云盘信息下载容器镜像。
99.在本公开实施例中,查询模块,用于基于查询请求,从云端查询是否存在容器集群对应的容器镜像,得到查询结果;在查询结果为存在容器镜像的情况下,获取容器镜像所在目标云盘的云盘信息;
100.在本公开实施例中,容器启动装置还包括:创建模块,用于在查询结果为不存在容器镜像的情况下,在云端内创建初始云盘,并利用容器集群的镜像认证信息从镜像仓库拉取容器集群对应的容器镜像;将初始云盘以及容器镜像挂载至指定目录,得到目标云盘以及目标云盘的云盘信息。
101.本公开实施例还提供一种电子设备,如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
102.存储器1503,用于存放计算机程序;
103.处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
104.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
105.通信接口用于上述终端与其他设备之间的通信。
106.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可
以是至少一个位于远离前述处理器的存储装置。
107.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
108.在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的容器启动方法。
109.在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的容器启动方法。
110.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
111.以上所述仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本公开的保护范围内。
112.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种容器启动方法,其特征在于,应用于容器集群中的目标节点,所述目标节点为容器集群中任意一个节点,所述方法包括:从云端获取所述容器集群对应的容器镜像;基于所述容器镜像向控制中心发送快照盘获取指令,其中,所述控制中心与所述容器集群中的每一个节点连接,所述快照盘获取指令用于获取利用所述容器镜像的挂载信息生成的快照盘;接收所述控制中心基于所述快照盘获取指令反馈的快照盘,将所述快照盘作为容器启动程序挂载至宿主机,并触发容器启动指令生效;基于所述容器启动指令,将所述快照盘热插至目标容器的虚拟机,以使所述目标容器基于所述快照盘执行容器启动操作,其中,目标容器为部署在所述目标节点中的容器。2.根据权利要求1所述的方法,其特征在于,所述从云端获取所述容器集群对应的容器镜像,包括:接收所述容器集群发生的容器启动事件,并基于所述容器启动事件向部署于控制中心发送查询请求;获取所述控制中心件基于所述查询请求反馈的所述容器镜像对应目标云盘的云盘信息;利用所述云盘信息下载所述容器镜像。3.根据权利要求1所述的方法,其特征在于,所述基于所述容器启动指令,将所述快照盘热插至目标容器的虚拟机,包括:基于所述容器启动指令,调用服务进程启动虚拟机启动程序;利用所述虚拟机启动程序将所述快照盘通过预设协议热插至所述目标容器的虚拟机,并在所述目标容器内将所述快照盘挂载为容器启动程序。4.一种容器启动方法,其特征在于,应用于控制中心,所述控制中心与容器集群中的每一个节点连接,所述方法包括:接收目标节点发送的快照盘获取指令,其中,所述快照盘获取指令携带所述容器集群的容器镜像,所述目标节点为所述容器集群中任意一个节点;基于所述快照盘获取指令,读取所述容器镜像对应的挂载信息;基于所述挂载信息创建快照盘,并将所述快照盘发送至所述目标节点,以使所述目标节点基于所述快照盘执行容器启动操作。5.根据权利要求4所述的方法,其特征在于,在接收目标节点发送的快照盘获取指令之前,所述方法还包括:接收目标节点发送的查询请求,并基于所述查询请求从云端获取所在容器集群对应容器镜像的云盘信息;发送所述云盘信息至所述目标节点,以使所述目标节点基于所述云盘信息下载所述容器镜像。6.根据权利要求5所述的方法,其特征在于,所述基于所述查询请求从云端获取所在容器集群对应容器镜像的云盘信息,包括:基于所述查询请求,从所述云端查询是否存在所述容器集群对应的容器镜像,得到查询结果;
在所述查询结果为存在所述容器镜像的情况下,获取所述容器镜像所在目标云盘的云盘信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在所述查询结果为不存在所述容器镜像的情况下,在所述云端内创建初始云盘,并利用所述容器集群的镜像认证信息从镜像仓库拉取所述容器集群对应的容器镜像;将所述初始云盘以及所述容器镜像挂载至指定目录,得到所述目标云盘以及所述目标云盘的云盘信息。8.一种容器启动装置,其特征在于,包括:获取模块,用于从云端获取容器集群对应的容器镜像;第一发送模块,用于基于所述容器镜像向控制中心发送快照盘获取指令,其中,所述控制中心与所述容器集群中的每一个节点连接,所述快照盘获取指令用于获取利用所述容器镜像的挂载信息生成的快照盘;第一接收模块,用于接收所述控制中心基于所述快照盘获取指令反馈的快照盘,将所述快照盘作为容器启动程序挂载至宿主机,并触发容器启动指令生效;处理模块,用于基于所述容器启动指令,将所述快照盘热插至目标容器的虚拟机,以使所述目标容器基于所述快照盘执行容器启动操作,其中,目标容器为部署在所述目标节点中的容器。9.一种容器启动装置,其特征在于,包括:第二接收模块,用于接收目标节点发送的快照盘获取指令,其中,所述快照盘获取指令携带容器集群的容器镜像,所述目标节点为所述容器集群中任意一个节点;读取模块,用于基于所述快照盘获取指令,读取所述容器镜像对应的挂载信息;第二发送模块,用于基于所述挂载信息创建快照盘,并将所述快照盘发送至所述目标节点,以使所述目标节点基于所述快照盘执行容器启动操作。10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
技术总结
本公开公开了一种容器启动方法、装置、电子设备及存储介质。包括:从云端获取容器集群对应的容器镜像;基于容器镜像向服务组件发送快照盘获取指令,其中,快照盘获取指令用于获取利用容器镜像的挂载信息生成的快照盘;接收服务组件基于快照盘获取指令反馈的快照盘,将快照盘作为容器启动程序挂载至宿主机,并触发容器启动指令生效;基于容器启动指令,将快照盘热插至目标容器的虚拟机,以使目标节点基于快照盘对目标容器执行容器启动操作。本公开通过云盘的方式在容器集群中集中式存储容器镜像,使每个容器镜像在集群中保存一份,相比在每个节点上存储容器镜像节省了存储空间。即使在多个节点上并发启动容器时,能够有效保证冷启动效率。启动效率。启动效率。
技术研发人员:赵吉壮 刘晨 李志明 吴晨 王剑
受保护的技术使用者:北京有竹居网络技术有限公司
技术研发日:2023.04.23
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种多自由度柔顺性连体机械臂 下一篇:一种诺氟沙星的合成方法与流程
