一种镜像预热方法、装置、设备及存储介质与流程

专利2023-03-02  128



1.本技术涉及云技术领域,尤其涉及一种镜像预热方法、装置、设备及存储介质。


背景技术:

2.随着内容分发网络(content distribute network,cdn)服务市场规模的增长,cdn服务提供商的边缘服务器数量日渐增加。为了方便管理,一般是通过k8s(kubernetes)集群纳管边缘服务器,大规模边缘服务器接入到k8s集群的主节点。
3.目前,随着k8s集群的主节点接入的边缘服务器的数量增加,边缘服务器在创建或升级容器时,耗时过长会导致扩容、发布速度与实际不符。对于单个边缘服务器,需要经历pod的创建、调度、挂载、网络分配、镜像拉取、以及应用的启动等过程。其中,镜像拉取的耗时占用最多的时间,特别在大规模集群中,即使使用了点对点技术等手段,一个较大的镜像还是需要较长的时间来拉取,导致镜像构建的效率低,速度慢,进一步降低容器的创建、升级效率。
4.因此,在边缘服务器创建、升级容器时,如何减少镜像的拉取时间,缩短镜像的构建时间,提升镜像的构建效率,进一步提升容器的创建、升级效率是目前需要解决的问题。


技术实现要素:

5.本技术提供一种镜像预热方法、装置、设备及存储介质,用以提前将镜像拉取至边缘服务器,以使边缘服务器在批量创建或升级容器时,减少镜像拉取的耗时,缩短镜像构建时间,提升容器的创建、升级效率。
6.第一方面,本技术实施例提供一种镜像预热方法,应用于k8s集群,该方法包括:
7.接收集群镜像预热任务编排,其中,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;
8.根据预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热任务编排;
9.针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。
10.第二方面,本技术实施例提供一种镜像预热装置,应用于k8s集群,该装置包括:
11.接收单元,用于接收集群镜像预热任务编排,其中,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;
12.确定单元,用于根据预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热任务编排;
13.拉取单元,用于针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。
14.在一种可能的实现方式中,接收单元具体用于:
15.通过k8s集群的扩展管理器,接收镜像预热系统下发的集群镜像预热任务编排。
16.在一种可能的实现方式中,至少一个边缘服务器是通过云边通道注册到k8s集群的主节点上的。
17.在一种可能的实现方式中,确定单元具体用于:
18.通过k8s集群的扩展管理器,根据匹配规则,将预热镜像版本,写入到匹配的至少一个边缘服务器名称对应的边缘服务器的节点镜像预热任务编排中,确定至少一个边缘服务器对应的最新节点镜像预热任务编排;或
19.通过k8s集群的扩展管理器,根据匹配规则,将预热镜像版本,写入到匹配的功能标签对应的至少一个边缘服务器的节点镜像预热任务编排中,确定至少一个边缘服务器对应的最新节点镜像预热任务编排。
20.在一种可能的实现方式中,边缘服务器的节点镜像预热任务编排,是在边缘服务器成功注册到k8s集群的主节点后,通过k8s集群的扩展管理器创建和管理的。
21.在一种可能的实现方式中,拉取单元具体用于:
22.通过k8s集群的云管理服务器,监测k8s集群的主节点中的节点镜像预热任务编排变更情况,并在确定节点镜像预热任务编排发生变化后,将变更信息通过云边通道分发给边缘服务器;
23.通过边缘服务器,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。
24.在一种可能的实现方式中,拉取单元具体用于:
25.通过边缘服务器,调用容器运行时接口,从内容分发网络中,拉取预热镜像版本对应的镜像;
26.其中,内容分发网络中存储的镜像是基于预热镜像版本,从镜像仓库中获取的。
27.第三方面,本技术实施例提供一种电子设备,包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现本技术实施例提供的镜像预热方法的步骤。
28.第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本技术实施例提供的镜像预热方法的步骤。
29.第五方面,本技术实施例提供一种计算机程序产品,其包括计算机指令,计算机指令存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取计算机指令时,处理器执行计算机指令,使得电子设备执行本技术实施例提供的镜像预热方法的步骤。
30.本技术有益效果如下:
31.本技术实施例提供一种镜像预热方法、装置、设备及存储介质,应用于k8s集群;首先,接收集群镜像预热任务编排,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;然后,根据镜像预热任务编排中的预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热编排;最后,针对任一边缘服务器,基于相应的最近节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根
据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。使k8s集群支持面向操作镜像的能力,解决大规模边缘服务器的镜像预热问题,提前将镜像拉取至边缘服务器,以使边缘服务器在批量创建或升级容器时,减少镜像拉取的耗时,缩短镜像的构建时间,提升镜像的构建效率,进一步,提升容器的创建、升级效率。
32.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
33.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本技术实施例提供的一种应用场景示意图;
35.图2为本技术实施例提供的一种镜像预热方法流程图;
36.图3为本技术实施例提供的一种镜像预热具体实施方式示意图;
37.图4为本技术实施例提供的另一种镜像预热具体实施方式示意图;
38.图5为本技术实施例提供的一种镜像预热装置结构图;
39.图6为本技术实施例提供的一种电子设备结构图。
具体实施方式
40.为了使本技术的目的、技术方案及有益效果更加清楚明白,以下将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.为了便于本领域技术人员更好地理解本技术的技术方案,下面对本技术涉及的部分概念进行介绍。
42.镜像预热即提前拉取镜像至指定的边缘服务器。
43.pod在k8s集群中,是所有业务类型的基础,是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在pod中,所有容器都被统一安排和调度,并运行在共享的上下文中。对于具体应用而言,pod是它们的逻辑主机,pod包含业务相关的多个应用容器。
44.下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
45.文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
46.下面对本技术实施例的设计思想进行简要介绍:
47.随着cdn服务市场规模的增长,cdn服务提供商的边缘服务器数量日渐增加。为了方便管理,一般是通过k8s集群纳管边缘服务器,但由于边缘服务器数量过多,单个k8s集群纳管所有边缘服务器会出现性能瓶颈问题和单点问题。其次,源于边缘服务器分布到不同地区、不同运营商网络环境中,容易出现网络波动等问题,影响边缘服务器和k8s集群的主节点(k8s master)的消息传输,即影响边缘侧和中心侧的消息传输,进一步影响整个cdn系统服务的稳定性。
48.因此,随着云原生、边缘计算等技术的快速发展,云边通道为大规模边缘服务器接入到k8s master提供了解决方案。云边通道的原理为:在云端建立隧道服务端,并通过建立的隧道服务端,将大规模边缘服务器基于websocket或快速udp网络连接(quick udp internet connections,quic)协议连接到云端;边缘服务器将接收到的消息进行处理,并将消息通过隧道发送到云端,以此实现云边通信。
49.目前,通过云边通道k8s master可以接入大规模的边缘服务器。但是,随着边缘服务器的数量增加,边缘服务器在创建或升级容器时,耗时过长会导致扩容、发布速度与实际不符。对于单个边缘服务器,需要经历pod的创建、调度、挂载、网络分配、镜像拉取、以及应用的启动等过程。其中,镜像拉取的耗时占用最多的时间,特别在大规模集群中,即使使用了点对点技术等手段,一个较大的业务程序镜像还是需要较长的时间来拉取,导致镜像构建的效率低,速度慢,进一步降低容器的创建、升级效率。
50.因此,在边缘服务器创建、升级容器时,如何减少镜像的拉取时间,缩短镜像的构建时间,提升镜像的构建效率,进一步提升容器的创建、升级效率是目前需要解决的问题。
51.有鉴于此,本技术实施例提出一种镜像预热的方法、装置、设备及存储介质,以解决大规模边缘服务器的镜像预热问题,提前将镜像拉取至边缘服务器,以在边缘服务器创建、升级容器时,减少镜像的拉取时间,缩短镜像的构建时间,提升镜像的构建效率,进一步提升容器的创建、升级效率。
52.且,考虑到原生的k8s集群自身并未提供面向操作镜像的能力,且相关技术中镜像预热技术一般通过消息队列结合docker容器进行镜像预热的方式仅能解决小规模集群的镜像拉取,不适用于本技术实施例的边缘计算场景,无法解决大规模边缘服务器的镜像预热问题。本技术实施例中,采用云原生理念,利用k8s集群和云边架构的云边通道实现了一种面向大规模边缘服务器的镜像预热能力。
53.考虑到k8s集群拥有强大的高扩展功能,且自定义资源定义(custom resource definitions,cdr)是一种常见的扩展方式,使开发者可以将自定的资源添加到k8s集群中。因此,为了通过k8s集群和云边架构的云边通道,实现一种面向大规模边缘服务器的镜像预热能力。本技术实施例中,通过以k8s的声明式应用程序接口(application program interface,api)定义两种crd资源,分别为集群维度的集群镜像预热任务(clusterimagetask)资源和节点维度的节点镜像预热任务(nodeimagetask)资源,并通过k8s集群的扩展管理器(operator),启动operator的自定义控制器(controller),通过调谐(reconcile)维护clusterimagetask资源和nodeimagetask资源,以使k8s集群支持镜像预热能力。其中,clusterimagetask资源在集群维度定义了镜像预热的规则,指定了需要预热的镜像版本,以及预热的边缘服务器范围;nodeimagetask资源在节点维度定义了每个边缘
服务器需要拉取的镜像及相应的镜像版本。
54.以及,本技术实施例中,通过云边通道纳管大规模边缘服务器,并通过消息分发进行边缘服务器的镜像拉取,实现镜像预热能力。
55.其中,operator的设计旨在简化复杂有状态应用管理,其通过crd扩展k8s api来自动创建、管理和配置应用实例。其本质上是针对特定的场景去做有状态服务,或者说针对复杂应用场景,去简化其运维管理的工具。一般的,以deployment的形式部署到k8s集群中。部署完这个operator之后,不需要再去管理这个集群的配置信息了,只需要创建crd资源,并由operator会监测该资源对象,从而大大简化运维的难度和成本。
56.在一种可能的实现方式中,首先,接收集群镜像预热任务编排,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;然后,根据镜像预热任务编排中的预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热编排;最后,针对任一边缘服务器,基于相应的最近节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。使k8s集群支持面向操作镜像的能力,解决大规模边缘服务器的镜像预热问题,提前将镜像拉取至边缘服务器,以使边缘服务器在批量创建或升级容器时,减少镜像拉取的耗时,缩短镜像的构建时间,提升镜像的构建效率,进一步,提升容器的创建、升级效率。
57.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
58.参考图1,图1为本技术实施例的应用场景示意图。该应用场景中包括云端110、边缘服务器120和终端设备130;其中,云端110与边缘服务器120之间可以通过云边通道进行通信,边缘服务器120和终端设备130之间可以通过通信网络进行通信。
59.在一种可选的实施方式中,通信网络可以是有线网络或无线网络。因此,边缘服务器120和终端设备130可以通过有线或无线通信方式进行直接或间接地连接。比如,终端设备130可以通过无线接入点与边缘服务器120间接地连接,或终端设备130通过因特网与边缘服务器120直接地连接,本技术在此不做限制。
60.在本技术实施例中,终端设备130包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有各种客户端,该客户端可以是应用程序(例如浏览器、游戏软件等),也可以是网页、小程序等;
61.边缘服务器120可以是与终端设备130中安装的客户端相对应的后台服务器。边缘服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。
62.基于上述应用场景,下面结合上述描述的应用场景,根据附图来描述本技术示例性实施方式提供的镜像预热方法,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。
63.参考图2,图2示例性提供本技术实施例中一种镜像预热方法,应用于k8s集群,该方法中包括:
64.步骤s200,接收集群镜像预热任务编排,其中,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则。
65.其中,至少一个边缘服务器是通过云边通道注册到k8s master上的。
66.在一种可能的实现方式中,通过k8s operator,接收镜像预热系统下发的clusterimagetask编排。
67.步骤s201,根据预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热任务编排。
68.在一种可能的实现方式中,通过k8s operator,根据匹配规则,将预热镜像版本,写入到匹配的至少一个边缘服务器名称对应的边缘服务器的nodeimagetask编排中,确定至少一个边缘服务器对应的最新nodeimagetask编排。
69.在另一种可能的实现方式中,通过k8s operator,根据匹配规则,将预热镜像版本,写入到匹配的功能标签对应的至少一个边缘服务器的nodeimagetask编排中,确定至少一个边缘服务器对应的最新nodeimagetask编排。
70.其中,边缘服务器的nodeimagetask编排,是在边缘服务器成功注册到k8s master后,通过k8s operator为注册成功的边缘服务器创建的,并且由k8s operator进行管理。
71.步骤s202,针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。
72.在一种可能的实现方式中,通过k8s集群的云管理服务器(cloud-manager),监测k8s master中的nodeimagetask编排变更情况,并在确定nodeimagetask编排发生变化后,将变更信息通过云边通道分发给边缘服务器;以通过边缘服务器,调用容器运行时接口(container runtime interface,cri),根据最新nodeimagetask编排中的预热镜像版本,从cdn中,拉取预热镜像版本对应的镜像;其中,cdn中存储的镜像是基于预热镜像版本,从镜像仓库中获取的。
73.在一种可能的实现方式中,云边通道是通过cloud-manager和边缘服务器中的边缘代理服务器(edge-agent)构成的。
74.在本技术中,由于根据镜像预热任务编排中的预热镜像版本和匹配规则,可以确定至少一个边缘服务器对应的最新节点镜像预热编排;且针对任一边缘服务器,基于相应的最近节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。使k8s集群支持面向操作镜像的能力,解决大规模边缘服务器的镜像预热问题,提前将镜像拉取至边缘服务器,以使边缘服务器在批量创建或升级容器时,减少镜像拉取的耗时,缩短镜像的构建时间,提升镜像的构建效率,进一步,提升容器的创建、升级效率。
75.参考图3,图3为本技术实施例提供的一种镜像预热具体实施方式示意图;从图3中可知:
76.首先,k8s集群通过operator中的controller,接收镜像预热系统发送的至少一个clusterimagetask编排;例如,接收镜像预热系统发送的clusterimagetask1编排和
clusterimagetask2编排。其中,clusterimagetask编排是镜像预热系统根据创建的多个镜像预热规则生成的。
77.在一种可能的实现方式中,clusterimagetask编排在集群维度定义了镜像预热的规则,用于指定一个镜像要在哪些范围的边缘服务器上批量做预热。clusterimagetask编排中,包括:需要预热的镜像版本(image)、预热边缘服务器的匹配规则(selector)、镜像预热策略(strategy)。其中,selector支持两种匹配方式:匹配边缘服务器名称(nodenames)和匹配功能标签(nodelabels);strategy中包括任务超时时间(deadline)、重试次数(retrynumber)、重试超时时间(retryttl)。
78.例如,clusterimagetask1编排定义如下:
79.apiversion:cdn.custom.io/v1
80.kind:clusterimagetask
81.spec:
82.image:nginx:1.15.11
83.selector:
84.nodenames:
[0085]-node1
[0086]-node2
[0087]
strategy:
[0088]
deadline:1h
[0089]
retrynumber:3
[0090]
retryttl:30s
[0091]
接着,在接收到至少一个clusterimagetask编排后,operator中的controller对clusterimagetask编排进行处理,将clusterimagetask编排的内容分解,并写入匹配的边缘服务器的nodeimagetask编排,用于指导规模化的边缘服务器进行镜像预热。
[0092]
在将clusterimagetask编排的内容分解,并写入匹配的边缘服务器的nodeimagetask编排时,主要是根据clusterimagetask编排中的预热边缘服务器的匹配规则,将需要预热的镜像版本以及相应的镜像预热策略写入匹配的边缘服务器的nodeimagetask编排中。
[0093]
由于预热边缘服务器的匹配规则支持两种匹配方式,分别为匹配边缘服务器名称和匹配功能标签;因此,在确定匹配的边缘服务器时,根据clusterimagetask编排的匹配边缘服务器名称,直接确定边缘服务器,或根据clusterimagetask编排的匹配功能标签,确定支持相应功能的边缘服务器。
[0094]
例如,对上述clusterimagetask1编排的内容分解,将需要预热的镜像版本(image:nginx:1.15.11)和相应的镜像预热策略(strategy:deadline:1h、retrynumber:3、retryttl:30s)分别写入对应的边缘服务器node1的nodeimagetask1编排和边缘服务器node2的nodeimagetask2编排。
[0095]
采用相同的方式,对clusterimagetask1编排和clusterimagetask2编排的内容分解,并写入对应边缘服务器的nodeimagetask编排,nodeimagetask编排分别为:nodeimagetask1编排、nodeimagetask2编排和nodeimagetask3编排。
agent。
[0119]
若cdn未检测到自身存储有该镜像版本对应的镜像后,cdn向镜像仓库发送携带有该镜像版本的读取信息,以从镜像仓库中读取相应的镜像,并将该镜像存储。
[0120]
采用cdn加速的方式拉取镜像,减少对镜像仓库的压力。
[0121]
且在镜像拉取过程中,按照镜像预热策略进行镜像拉取,具体的,在任务超时时间内,参照重试次数执行小于重试次数的镜像拉取,且每次镜像拉取的时间不超过重试超时时间。
[0122]
参考图4,图4示例性提供本技术实施例中另一种镜像预热具体实施方式示意图,从图4中可知:
[0123]
k8s operator向k8s master的api-server注册版本为clusterimagetask资源和nodeimagetask资源;以通过clusterimagetask指定镜像预热的规则,以及通过nodeimagetask指定各个边缘服务器需要拉取的镜像;
[0124]
k8s operator启动controller,通过reconcile维护clusterimagetask资源和nodeimagetask资源;
[0125]
k8s边缘服务器通过cloud-manager和edge-agent构成的云边通道注册到k8s master上;
[0126]
k8s边缘服务器注册成功后,controller的reconcile会为每个边缘服务器创建一个nodeimagetask,用于初始化该边缘服务器需要拉取的镜像版本;
[0127]
用户通过镜像预热系统执行镜像预热的操作,镜像预热系统首先会将镜像预热任务持久化到数据库中,以便后续查询和修改镜像预热任务;
[0128]
镜像预热系统将镜像预热任务持久化后,将预热的镜像版本、指定的边缘服务器范围等信息写入到clusterimagetask资源的自定义资源编排中,并将clusterimagetask编排下发到k8s集群中,由k8s operator接收;
[0129]
operator中的controller通过reconcile按照clusterimagetask编排中的信息进行调谐,根据镜像预热规则(spec)中的镜像版本(image)和匹配规则(selector),将指定的镜像及镜像版本信息写入到指定边缘服务器的nodeimagetask编排中,更新节点维度的nodeimagetask编排,并提交到k8s master的api-server;
[0130]
云端的cloud-manager会实时监测api-server的nodeimagetask编排变更情况,识别边缘服务器的nodeimagetask编排是否发生变化;
[0131]
cloud-manger将nodeimagetask编排变更消息通过云边通道分发给边缘端的edge-agent;
[0132]
边缘端的edge-agent接收到的编排变更消息,调用cri进行镜像的拉取;在拉取的过程中,会通过cdn加速减少对镜像仓库的压力。
[0133]
在本技术中,基于声明式api定义镜像预热的规则和拉取方式,并通过k8s operator定义控制器逻辑,使k8s集群支持面向操作镜像的能力,解决使用云边架构的云边通道纳管大规模边缘服务器场景下,大规模边缘服务器的镜像预热问题,通过云边通道分发镜像拉取消息给边缘服务器,使边缘服务器提前拉取镜像,且在拉取镜像时通过cdn加速减少对镜像仓库的压力。更进一步的,保证边缘服务器在批量创建或升级容器时,减少镜像拉取的耗时,缩短镜像的构建时间,提升镜像的构建效率,提升容器的创建、升级效率。
[0134]
与本技术上述方法实施例基于同一发明构思,本技术实施例中还提供了一种数镜像预热装置,装置解决问题的原理与上述实施例的方法相似,因此装置的实施可以参见上述方法的实施,重复之处不再赘述。
[0135]
请参考图5,图5示例性提供本技术实施例提供一种镜像预热装置500,应用于k8s集群,该镜像预热装置500包括:
[0136]
接收单元501,用于接收集群镜像预热任务编排,其中,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;
[0137]
确定单元502,用于根据预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热任务编排;
[0138]
拉取单元503,用于针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。
[0139]
在一种可能的实现方式中,接收单元501具体用于:
[0140]
通过k8s集群的扩展管理器,接收镜像预热系统下发的集群镜像预热任务编排。
[0141]
在一种可能的实现方式中,至少一个边缘服务器是通过云边通道注册到k8s集群的主节点上的。
[0142]
在一种可能的实现方式中,确定单元502具体用于:
[0143]
通过k8s集群的扩展管理器,根据匹配规则,将预热镜像版本,写入到匹配的至少一个边缘服务器名称对应的边缘服务器的节点镜像预热任务编排中,确定至少一个边缘服务器对应的最新节点镜像预热任务编排;或
[0144]
通过k8s集群的扩展管理器,根据匹配规则,将预热镜像版本,写入到匹配的功能标签对应的至少一个边缘服务器的节点镜像预热任务编排中,确定至少一个边缘服务器对应的最新节点镜像预热任务编排。
[0145]
在一种可能的实现方式中,边缘服务器的节点镜像预热任务编排,是在边缘服务器成功注册到k8s集群的主节点后,通过k8s集群的扩展管理器创建和管理的。
[0146]
在一种可能的实现方式中,拉取单元503具体用于:
[0147]
通过k8s集群的云管理服务器,监测k8s集群的主节点中的节点镜像预热任务编排变更情况,并在确定节点镜像预热任务编排发生变化后,将变更信息通过云边通道分发给边缘服务器;
[0148]
通过边缘服务器,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。
[0149]
在一种可能的实现方式中,拉取单元503具体用于:
[0150]
通过边缘服务器,调用容器运行时接口,从内容分发网络中,拉取预热镜像版本对应的镜像;
[0151]
其中,内容分发网络中存储的镜像是基于预热镜像版本,从镜像仓库中获取的。
[0152]
为了描述的方便,以上各部分按照功能划分为各单元(或模块)分别描述。当然,在实施本技术时可以把各单元(或模块)的功能在同一个或多个软件或硬件中实现。
[0153]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完
全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0154]
在介绍了本技术示例性实施方式的镜像预热方法和装置之后,接下来,介绍根据本技术的另一示例性实施方式的用于镜像预热的电子设备。
[0155]
与本技术上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备,该电子设备可以是服务器。在该实施例中,电子设备的结构可以如图6所示,包括存储器601,通讯模块603以及一个或多个处理器602。
[0156]
存储器601,用于存储处理器602执行的计算机程序。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0157]
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器601也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
[0158]
处理器602,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器602,用于调用存储器601中存储的计算机程序时实现上述镜像预热方法。
[0159]
通讯模块603用于与终端设备和其他服务器进行通信。
[0160]
本技术实施例中不限定上述存储器601、通讯模块603和处理器602之间的具体连接介质。本技术实施例在图6中以存储器601和处理器602之间通过总线604连接,总线604在图6中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线604可以分为地址总线、数据总线、控制总线等。为便于描述,图6中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
[0161]
存储器601中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的镜像预热方法。处理器602用于执行上述的镜像预热方法。
[0162]
在一些可能的实施方式中,本技术提供的镜像预热方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本技术各种示例性实施方式的镜像预热方法中的步骤。
[0163]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0164]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包
括计算机程序,并可以在计算装置上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0165]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0166]
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0167]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0168]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0169]
本领域内的技术人员应明白,本技术实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0170]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0171]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:
1.一种镜像预热方法,其特征在于,应用于k8s集群,所述方法包括:接收集群镜像预热任务编排,其中,所述集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;根据所述预热镜像版本和所述匹配规则,确定所述至少一个边缘服务器对应的最新节点镜像预热任务编排;针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据所述最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。2.如权利要求1所述的方法,其特征在于,所述接收集群镜像预热任务编排,包括:通过所述k8s集群的扩展管理器,接收镜像预热系统下发的所述集群镜像预热任务编排。3.如权利要求1所述的方法,其特征在于,所述至少一个边缘服务器是通过云边通道注册到所述k8s集群的主节点上的。4.如权利要求1所述的方法,其特征在于,所述根据所述预热镜像版本和所述匹配规则,确定所述至少一个边缘服务器对应的最新节点镜像预热任务编排,包括:通过所述k8s集群的扩展管理器,根据所述匹配规则,将所述预热镜像版本,写入到匹配的至少一个边缘服务器名称对应的边缘服务器的节点镜像预热任务编排中,确定所述至少一个边缘服务器对应的最新节点镜像预热任务编排;或通过所述k8s集群的扩展管理器,根据所述匹配规则,将所述预热镜像版本,写入到匹配的功能标签对应的至少一个边缘服务器的节点镜像预热任务编排中,确定所述至少一个边缘服务器对应的最新节点镜像预热任务编排。5.如权利要求4所述的方法,其特征在于,所述边缘服务器的节点镜像预热任务编排,是在所述边缘服务器成功注册到所述k8s集群的主节点后,通过所述k8s集群的扩展管理器创建和管理的。6.如权利要求1所述的方法,其特征在于,所述监测到节点镜像预热任务编排发生变化后,根据所述最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取,包括:通过所述k8s集群的云管理服务器,监测所述k8s集群的主节点中的节点镜像预热任务编排变更情况,并在确定节点镜像预热任务编排发生变化后,将变更信息通过云边通道分发给所述边缘服务器;通过所述边缘服务器,根据所述最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。7.如权利要求1所述的方法,其特征在于,所述根据所述最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取,包括:通过所述边缘服务器,调用容器运行时接口,从内容分发网络中,拉取所述预热镜像版本对应的镜像;其中,所述内容分发网络中存储的镜像是基于预热镜像版本,从镜像仓库中获取的。8.一种镜像预热装置,其特征在于,应用于k8s集群,所述装置包括:接收单元,用于接收集群镜像预热任务编排,其中,所述集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;
确定单元,用于根据所述预热镜像版本和所述匹配规则,确定所述至少一个边缘服务器对应的最新节点镜像预热任务编排;拉取单元,用于针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据所述最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。9.一种电子设备,其特征在于,该电子设备包括:存储器和处理器,其中:所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,实现权利要求1~7任一所述方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1~7任一所述方法的步骤。

技术总结
本申请提供一种镜像预热方法、装置、设备及存储介质,应用于K8S集群,涉及云技术领域,尤其涉及云原生容器编排技术领域;在本申请中,接收集群镜像预热任务编排,集群镜像预热任务编排中包括:预热镜像版本,以及包含至少一个边缘服务器的匹配规则;根据预热镜像版本和匹配规则,确定至少一个边缘服务器对应的最新节点镜像预热任务编排;针对任一边缘服务器,基于相应的最新节点镜像预热任务编排,监测到节点镜像预热任务编排发生变化后,根据最新节点镜像预热任务编排中的预热镜像版本,进行镜像拉取。提前将镜像拉取至边缘服务器,以在批量创建或升级容器时,减少镜像拉取的耗时,缩短镜像构建时间,提升效率。提升效率。提升效率。


技术研发人员:郭瑞英 阮兆银 胡建锋
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1575.html

最新回复(0)