容器编排与数据访问方法、电子设备及存储介质与流程
未命名
10-09
阅读:99
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种容器编排与数据访问方法、电子设备及存储介质。
背景技术:
2.在混合云场景下,用户可以使用本地idc(internet data center,数据中心)的资源,也能使用云上资源。具体而言,运行与用户的服务相关的pod(容器组)可以调度到本地idc,也可以调度到云上资源,实现线上线下服务混合部署,达到服务高可用,服务可以根据波峰波谷进行弹性资源调度等。当pod调度到云端时,pod通常仍然需要访问本地数据中心中的本地存储系统,然而,云端距离本地idc较远,导致访问延时较高,造成带宽资源浪费,pod的性能较差。
技术实现要素:
3.本技术的多个方面提供一种容器编排与数据访问方法、电子设备及存储介质,用以极大地降低访问时延,减少带宽资源浪费,保证容器组的整体性能。
4.本技术实施例提供一种容器编排方法,包括:获取创建目标容器组所需的第一配置信息,第一配置信息中的数据源标识用于标识部署在本地端的本地存储系统;根据第一配置信息创建目标容器组,以及确定目标容器组需要调度至的目标计算节点;若目标计算节点部署在云端,则更新第一配置信息中的数据源标识,得到第二配置信息,其中,第二配置信息中的数据源标识用于标识云端的分布式缓存系统,分布式缓存系统缓存有本地存储系统中的数据;将目标容器组和第二配置信息调度至云端的目标计算节点,其中,第二配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问分布式缓存系统。
5.本技术实施例提供一种数据访问方法,包括:响应于数据访问事件被触发,获取目标容器组的配置信息;若配置信息中的数据源标识云端的分布式缓存系统,分布式缓存系统缓存有本地端的本地存储系统中的数据,则根据数据源标识,向分布式缓存系统发送数据访问请求。
6.本技术实施例提供一种电子设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器耦合至存储器,用于执行计算机程序以用于执行容器编排方法或数据访问方法中的步骤。
7.本技术实施例提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现容器编排方法或数据访问方法中的步骤。
8.本技术实施例提供一种容器编排与数据访问方法、电子设备及存储介质,在本技术实施例中,容器组调度到云端时,可以修改容器组的配置信息中的数据源标识,修改后的数据源标识使得容器组可以就近访问云端的缓存有本地存储系统的分布式缓存系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。进一步可选的,当容器组调度到本地端时,还可以支持容器组就近访问本地端的本地存储系统,极大地降低了
访问时延,减少了带宽资源浪费,保证了容器组的整体性能。
附图说明
9.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
10.图1为本技术实施例提供的一种示例性的系统架构图;
11.图2为本技术实施例提供的一种容器编排方法的流程图;
12.图3为本技术实施例提供的一种数据访问方法的流程图;
13.图4为本技术实施例提供的一种示例性的应用场景图;
14.图5为本技术实施例提供的一种容器编排装置的结构示意图;
15.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
16.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
17.在本技术的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的访问关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。在本技术的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。此外,在本技术实施例中,“第一”、“第二”、“第三”、等只是为了区分不同对象的内容而已,并无其它特殊含义。
18.下面对本技术实施例涉及的一些词语进行介绍。
19.容器组:包括若干个容器,是容器服务系统中最小调度的资源单元。容器组中的容器被自动安排到集群中的同一物理机或虚拟机上,并可以一起进行调度。在k8s(kubernetes)场景中,容器组是指pod。
20.边车容器(也称作为sidecar容器):是为容器组中的原有容器提供辅助功能的容器(也称作为辅助容器),辅助功能例如为日志代理、请求转发、文件拷贝或下载等。
21.容器编排装置:是指提供容器编排服务的装置,例如,创建、调度或管理容器或容器组等。
22.本地端:是一个与云端相对的概念,是指提供本地计算服务的系统,可以理解为在本地部署的计算机系统。在本技术实施例中,将部署在本地端的存储系统称作为本地存储系统。
23.云端:是一个与本地端相对的概念,是指提供云计算服务的系统,可以理解为在远端部署的计算机系统。
24.服务器计算实例(serverful instance):是基于serverful架构的计算实例,可以理解为一种虚拟化的计算资源,包含vcpu(virtual center processing unit,虚拟处理器)、内存、操作系统、网络和磁盘等基础的计算组件。其中,serverful架构是以服务器(server)为基本计算单元,用中间件应用层技术管理服务器集群应用层面的一种软件架
构。server可以是虚拟机、物理机、以及基于硬件实现的云服务器等等。
25.无服务器计算实例(serverless instance):是基于serverless架构的计算实例,例如,可以是提供容器化服务的弹性容器实例等等。其中,serverless架构是指是由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发,完全被第三方管理,其服务层面的状态则被开发者使用的数据库和存储资源所记录。
26.在混合云场景下,用户可以使用本地idc(internet data center,数据中心)的资源,也能使用云上资源。具体而言,运行与用户的服务相关的pod(容器组)可以调度到本地idc,也可以调度到云上资源,实现线上线下服务混合部署,达到服务高可用,服务可以根据波峰波谷进行弹性资源调度等。当pod调度到云端时,pod通常仍然需要访问本地数据中心中的本地存储系统,然而,云端距离本地idc较远,导致访问延时较高,造成带宽资源浪费,pod的性能较差。
27.为此,本技术实施例提供一种容器编排与数据访问方法、电子设备及存储介质,在本技术实施例中,容器组调度到云端时,可以修改容器组的配置信息中的数据源标识,修改后的数据源标识使得容器组可以就近访问云端的缓存有本地存储系统的分布式缓存系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。进一步可选的,当容器组调度到本地端时,还可以支持容器组就近访问本地端的本地存储系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。
28.另外,现有技术中,pod调度到云端的无服务器计算实例时,还可能因无服务器计算实例自身限制访问本地存储系统失败,导致混合云场景为用户服务弹性扩容计算资源失败。但是本技术提供的技术方案即便是pod调度到云端的无服务器计算实例,也能突破无服务器计算实例自身限制,访问与本地存储系统关联的云端分布式缓存中的数据,保证混合云场景为用户服务弹性扩容计算资源的成功。
29.以下结合附图,详细说明本技术各实施例提供的技术方案。
30.图1为本技术实施例提供的一种示例性的系统架构图。参见图1,整个系统包括:容器编排装置、本地端和云端。
31.其中,容器编排装置承担容器组创建和调度等工作。当用户有容器组创建需求时,向容器编排装置发送容器组创建指令,以触发容器编排装置创建容器组,以及按照调度逻辑将所创建的容器组调度到本地端或云端。
32.本地端可以包括多个物理机和本地存储系统,利用多个物理机提供的计算资源执行计算任务,利用本地存储系统提供的存储资源进行数据存储。本地端例如为本地数据中心,本地数据中心是指本地部署的数据中心(internet data center,idc)。
33.云端可以包括多个服务器计算实例、多个无服务器计算实例和分布式缓存系统。利用多个服务器计算实例或多个无服务器计算实例提供的计算资源执行计算任务,利用分布式缓存系统提供的存储资源进行数据存储。在本实施例中,本地存储系统中的数据可缓存至分布式缓存系统中。本地存储系统和分布式缓存系统之间的专线不做限制,专线例如包括但不限于:高速通道(express connect)专线、数字数据专线(digital data network leased line,ddn)或光纤专线。
34.在容器组创建阶段,用户按需配置所需创建的容器组的配置信息,容器编排装置根据容器创建指令中所携带的容器组的配置信息创建容器组。其中,容器组的配置信息中
的数据源标识为本地存储系统的标识,容器组根据本地存储系统的标识确定可访问的数据源为本地存储系统。
35.值得注意的是,对用户来说,无论后续容器组是调度到本地端还是云端,在容器组创建阶段,用户按照容器组调度到本地端的原则配置所需创建的容器组的配置信息即可,后续若容器组调度到云端,由容器编排装置自动自适应修改容器组的配置信息,无需用户参与。也就是说,在容器组创建阶段,用户按照统一的方式配置所需创建的容器组的配置信息。
36.在容器组调度阶段,分为以下三种情况:
37.情况1:若所创建的容器组需要调度至本地端的任意物理机上,则保持容器组的配置信息不变,容器编排装置将所创建的容器组及其原始的配置信息调度至本地端的物理机上。
38.情况2:若所创建的容器组需要调度至云端的任意服务器计算实例上,则对容器组的配置信息进行修改,将原始的配置信息的数据源标识删除,以及在删除后的配置信息中添加分布式缓存系统的标识,得到新的配置信息,容器编排装置将所创建的容器组及新的配置信息调度至云端的服务器计算实例上。
39.情况3:若所创建的容器组需要调度至云端的任意无服务器计算实例上,则对容器组的配置信息进行修改,将原始的配置信息的数据源标识删除,以及在删除后的配置信息中添加边车(sidecar)容器的容器配置信息,得到新的配置信息,容器配置信息中包括分布式缓存系统的标识。容器编排装置根据容器配置信息在容器组中创建边车容器,并将新的容器组及新的配置信息调度至云端的无服务器计算实例上。
40.值得注意的是,在容器组调度阶段,根据调度结果自适应修改容器组的配置信息中的数据源标识,使得容器组调度到本地端时可以访问本地存储系统,容器组调度到云端时可以访问云端的分布式缓存系统,实现了容器组自适应访问不同数据源。
41.在数据访问阶段,分为以下三种情况:
42.情况1:若所创建的容器组需要调度至本地端的任意物理机上,容器组通过csi(container storage interface,容器存储接口)创建的客户端,根据配置信息中的本地存储系统的标识向本地存储系统发送数据访问请求,以满足容器组就近访问需求。
43.情况2:若所创建的容器组需要调度至云端的任意服务器计算实例上,容器组通过csi创建的客户端,根据配置信息中的分布式缓存系统的标识向分布式缓存系统发送数据访问请求,以满足容器组就近访问需求。
44.情况3:若所创建的容器组需要调度至云端的任意无服务器计算实例上,容器组通过边车容器根据容器配置信息中的分布式缓存系统的标识向分布式缓存系统发送数据访问请求,以满足容器组就近访问需求。
45.综上,在本实施例中,当容器组调度到本地端时,容器组就近访问本地端的本地存储系统。当容器组调度到云端时,容器组就近访问云端的缓存有本地存储系统的分布式缓存系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。
46.图2为本技术实施例提供的一种容器编排方法的流程图。该方法可由容器编排装置执行,该装置可由软件和/或硬件组成。参见图2,该方法可以包括以下步骤:
47.201、获取创建目标容器组所需的第一配置信息,第一配置信息中的数据源标识用
于标识部署在本地端的本地存储系统。
48.202、根据第一配置信息创建目标容器组,以及确定目标容器组需要调度至的目标计算节点。
49.203、若目标计算节点部署在云端,则更新第一配置信息中的数据源标识,得到第二配置信息,其中,第二配置信息中的数据源标识用于标识云端的分布式缓存系统,分布式缓存系统缓存有本地存储系统中的数据。
50.204、将目标容器组和第二配置信息调度至云端的目标计算节点,其中,第二配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问分布式缓存系统。
51.205、若目标计算节点部署在本地端,则将目标容器组和第一配置信息调度至本地端的目标计算节点,其中,第一配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问本地存储系统。
52.具体而言,在容器创建阶段,用户向容器编排装置提交创建容器组所需的配置信息。在此将待创建的容器组称作为目标容器组,用户提交的配置信息称作为第一配置信息。以在k8s中创建容器组为例,第一配置信息例如为:
[0053][0054]
以上述举例的第一配置信息为例,用户在配置第一配置信息,在pod spec中定义pod可访问的共享存储卷列表volumes,共享存储卷列表中包括与本地存储系统对应的存储卷。在此,与本地存储系统对应的存储卷的名称即为标识本地存储系统的数据源标识。
[0055]
在本实施例中,根据第一配置信息创建目标容器组。创建完目标容器组之后,进入
容器组调度阶段。首先,确定目标容器组需要调度至的目标计算节点,根据调度结果修改第一配置信息,在此将修改后的第一配置信息称作为第二配置信息。
[0056]
在本实施例中,若目标容器组需要调度到云端,更新第一配置信息中的数据源标识,得到第二配置信息。第二配置信息中的数据源标识用于标识云端的分布式缓存系统,分布式缓存系统缓存有本地存储系统中的数据。在配置信息更新结束后,将目标容器组和第二配置信息调度云端。在数据访问阶段,调度到云端的目标容器组根据第二配置信息中的数据源标识访问云端的缓存有本地存储系统的数据的分布式缓存系统,实现就近访问。
[0057]
进一步可选的,为了满足用户按需选择容器组所需访问的数据源,用户还可以在第一配置信息中添加数据源自适应启动标签。若数据源自适应启动标签指示启动数据源自适应功能,则根据容器组的调度结果决策是否修改容器组的数据源标识。若数据源自适应启动标签指示关闭数据源自适应功能,则对容器组的配置信息中的数据源标识不做修改,保持不变。
[0058]
基于上述,在执行步骤203之前,还可以判断第一配置信息中的数据源自适应标签是否指示启动数据源自适应功能;若判断结果为是,则执行步骤203。若判断结果为否,则将目标容器组和第一配置信息调度至云端的目标计算节点,其中,第一配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问本地存储系统。
[0059]
可以理解的是,若数据源自适应启动标签指示关闭数据源自适应功能,即便目标容器组调度到云端,仍然需要访问本地存储系统。
[0060]
进一步可选的,为了提高目标容器组访问云端的分布式缓存系统的可靠性,步骤203的实现方式为:若目标计算节点部署在云端,在第一配置信息中增加调度结果标签,调度结果标签指示目标容器组需要调度至云端;响应于第一配置信息中存在调度结果标签,更新增加调度结果标签后的第一配置信息中的数据源标识,得到第二配置信息。
[0061]
例如,若目标计算节点是云端的服务器计算实例,可以在第一配置信息的标签选择器中增加一个调度结果标签,该调度结果标签指示目标容器组需要调度云端的服务器计算实例上。又例如,若目标计算节点是云端的无服务器计算实例,可以在第一配置信息的标签选择器中增加一个调度结果标签,该调度结果标签指示目标容器组需要调度云端的无服务器计算实例上。
[0062]
在本实施例中,若目标计算节点部署在云端,目标计算节点可能是部署在云端的服务器计算实例,也可能是部署在云端的无服务器计算实例,对此不做限制。
[0063]
在本实施例中,若目标计算节点是部署在云端的服务器计算实例,在更新第一配置信息时,可以将第一配置信息中的数据源标识更新为标识分布式缓存系统的数据源标识,得到第二配置信息。
[0064]
以下为示例性的修改后第一配置信息得到的第二配置信息:
[0065][0066]
在上述举例的第二配置信息,相比前述举例的第一配置信息,一处变化是:将与本地存储系统关联的存储卷的名称,修改为与分布式缓存系统关联的存储卷的名称,与分布式缓存系统关联的存储卷的名称即为标识分布式缓存系统的数据源标识。另一处变化是:增加了调度结果标签,该标签指示目标容器组需要调度云端的服务器计算实例。
[0067]
在本实施例中,若目标计算节点是部署在云端的无服务器计算实例,则在更新第一配置信息时,可以删除第一配置信息中的数据源标识,以及在删除后的第一配置信息中添加边车容器的容器配置信息,得到第二配置信息,容器配置信息中的数据源标识用于标识分布式缓存系统。
[0068]
以下为示例性的修改后第一配置信息得到的第二配置信息:
[0069][0070]
在上述举例的第二配置信息,相比前述举例的第一配置信息,变化之处是:删除了与本地存储系统关联的存储卷的名称,以及增加了边车容器的容器配置信息。容器配置信息中包括了与分布式缓存系统关联的存储卷的名称即为标识分布式缓存系统的数据源标识。另一处变化是:增加了调度结果标签,该标签指示目标容器组需要调度云端的无服务器计算实例。
[0071]
在本实施例中,若目标计算节点是部署在云端的服务器计算实例,则在得到第二配置信息之后,将目标容器组和第二配置信息调度至云端的服务器计算实例。
[0072]
若目标计算节点是部署在云端的无服务器计算实例,则在得到第二配置信息之后,可以直接将目标容器组和第二配置信息调度至云端的无服务器计算实例,然后在基于第二配置信息中的容器配置信息在目标容器组中创建边车容器。进一步可选的,为了提高目标容器组的性能,在得到第二配置信息之后,首先根据容器配置信息在目标容器组中创建边车容器,然后将目标容器组和第二配置信息调度至云端的目标计算节点。
[0073]
实际应用中,目标计算节点也可能部署在本地端,则将目标容器组和第一配置信息调度至本地端的目标计算节点,其中,第一配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问本地存储系统。也就是说,若目标计算节点部署在本地端,不需要修改第一配置信息,可以直接将目标容器组和第一配置信息调度至本地端的目标计算节点。
[0074]
本技术实施例提供的容器编排方法,当容器组调度到云端时,可以修改容器组的
配置信息中的数据源标识,修改后的数据源标识使得容器组可以就近访问云端的缓存有本地存储系统的分布式缓存系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。进一步可选的,当容器组调度到本地端时,还可以支持容器组就近访问本地端的本地存储系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。
[0075]
在基于上述实施例提供的容器编排方法创建并调度容器组到本地端或云端之后,根据容器组中的配置信息访问本地端的本地存储系统或云端的分布式缓存系统。为此,本技术实施例还提供一种数据访问方法。
[0076]
图3为本技术实施例提供的一种数据访问方法的流程图。参见图3,该方法可以包括以下步骤:
[0077]
301、响应于数据访问事件被触发,获取目标容器组的配置信息。
[0078]
302、若配置信息中的数据源标识云端的分布式缓存系统,分布式缓存系统缓存有本地端的本地存储系统中的数据,则根据数据源标识,向分布式缓存系统发送数据访问请求。
[0079]
303、若配置信息中的数据源标识本地端的本地存储系统,则通过csi创建的客户端根据数据源标识,向本地存储系统发送数据访问请求。
[0080]
具体而言,在目标容器组完成调度之后,检测数据访问事件是否被触发,若数据访问事件被触发,说明目标容器组有数据访问需求。此时,目标容器组的配置信息。若配置信息中的数据源标识云端的分布式缓存系统,则需要区分目标容器组是部署在云端的服务器计算实例还是无服务器计算实例上。若目标容器组部署在云端的服务器计算实例,则通过csi创建的客户端根据数据源标识,向分布式缓存系统发送数据访问请求。若目标容器组部署在云端的无服务器计算实例,则通过目标容器组中的边车容器根据数据源标识,向分布式缓存系统发送数据访问请求。若配置信息中的数据源标识本地端的本地存储系统,则通过csi创建的客户端根据数据源标识,向本地存储系统发送数据访问请求。
[0081]
本技术实施例提供的技术方案,当容器组调度到云端时,容器组可以就近访问云端的缓存有本地存储系统的分布式缓存系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。进一步可选的,当容器组调度到本地端时,还可以支持容器组就近访问本地端的本地存储系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。
[0082]
为了更好地理解本技术实施例提供的技术方案,下面以k8s场景为例进行介绍。
[0083]
具体而言,容器编排装置可以包括:接口服务器(api server)、控制器(例如controller manager)、调度器(例如为scheduler)和自适应模块。接口服务器可以控制控制器、调度器和自适应模块等进行协调工作。其中,controller manager通过api server检测整个集群的状态,并确保集群处于预期的工作状态。自适应模块是任意具有根据调度结果自适应修改容器组的配置信息的功能模块。参见图4中的
①
和
②
所示,接口服务器接收用户发送的容器组创建指令并向控制器转发,容器组创建指令包括创建pod所需的原始配置信息,原始配置信息中注入标签datasource-policy:auto,以及在pod spec中添加与本地存储系统关联的存储卷的名称。参见图4中的
③
所示,控制器响应接收到的容器组创建指令,创建pod。在接口服务器的协助下,参见图4中的
④
所示,调度器监听到pod创建事件,确
定pod的调度结果。参见图4中的
⑤
所示,pod需要调度至云端的服务器计算实例,调度器在pod的配置信息中增加标签csi-target:serverful instance,并触发自适应模块更新pod spec。参见图4中的
⑥
所示,自适应模块删除pod spec中的与本地存储系统关联的存储卷的名称,以及在pod spec中增加与分布式缓存系统关联的存储卷的名称,以更新pod spec。参见图4中的
⑦
所示,调度器将pod以及更新后的配置信息调度至云端的服务器计算实例。参见图4中的
⑧
所示,pod需要调度至云端的无服务器计算实例,调度器在pod的配置信息中增加标签sidecartarget:serverless instance,并触发自适应模块更新pod spec。参见图4中的
⑨
所示,自适应模块删除pod spec中的与本地存储系统关联的存储卷的名称,以及在pod spec中增加边车容器的容器配置信息,以更新pod spec。参见图4中的
⑩
所示,调度器将pod以及更新后的配置信息调度至云端的无服务器计算实例。参见图4中的所示,pod需要调度至本地端,调度器将pod以及原始配置信息调度至本地端。
[0084]
在数据访问阶段,若容器组部署在云端的服务器计算实例,则通过csi创建的客户端根据pod spec中的与分布式缓存系统关联的存储卷的名称,向分布式缓存系统发送数据访问请求。若容器组部署在云端的无服务器计算实例,则通过目标容器组中的边车容器根据pod spec中的与分布式缓存系统关联的存储卷的名称,向分布式缓存系统发送数据访问请求。若容器组部署在本地端,则通过csi创建的客户端根据pod spec中与本地存储系统关联的存储卷的名称,向本地存储系统发送数据访问请求。
[0085]
图5为本技术实施例提供的一种容器编排装置的结构示意图。参见图5,该装置可以包括:
[0086]
获取模块51,用于获取创建目标容器组所需的第一配置信息,第一配置信息中的数据源标识用于标识部署在本地端的本地存储系统。
[0087]
创建模块52,用于根据第一配置信息创建目标容器组。
[0088]
确定模块53,用于确定目标容器组需要调度至的目标计算节点;
[0089]
更新模块54,用于若目标计算节点部署在云端,则更新第一配置信息中的数据源标识,得到第二配置信息,其中,第二配置信息中的数据源标识用于标识云端的分布式缓存系统,分布式缓存系统缓存有本地存储系统中的数据;
[0090]
调度模块55,用于将目标容器组和第二配置信息调度至云端的目标计算节点,其中,第二配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问分布式缓存系统。
[0091]
进一步可选的,更新模块54还用于判断第一配置信息中的数据源自适应标签是否指示启动数据源自适应功能;若判断结果为是,则执行若目标计算节点部署在云端,则更新第一配置信息中的数据源标识的步骤。
[0092]
进一步可选的,更新模块54还用于:若判断结果为否,则将目标容器组和第一配置信息调度至云端的目标计算节点,其中,第一配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问本地存储系统。
[0093]
进一步可选的,更新模块54具体用于:若目标计算节点部署在云端,在第一配置信息中增加调度结果标签,调度结果标签指示目标容器组需要调度至云端;响应于第一配置信息中存在调度结果标签,更新增加调度结果标签后的第一配置信息中的数据源标识,得到第二配置信息。
[0094]
进一步可选的,更新模块54具体用于:若目标计算节点是部署在云端的服务器计算实例,则将第一配置信息中的数据源标识更新为标识分布式缓存系统的数据源标识,得到第二配置信息;若目标计算节点是部署在云端的无服务器计算实例,则删除第一配置信息中的数据源标识,以及在删除后的第一配置信息中添加边车容器的容器配置信息,得到第二配置信息,容器配置信息中的数据源标识用于标识分布式缓存系统。
[0095]
进一步可选的,创建模块52还用于:根据容器配置信息在目标容器组中创建边车容器。
[0096]
进一步可选的,调度模块55,还用于若目标计算节点部署在本地端,则将目标容器组和第一配置信息调度至本地端的目标计算节点,其中,第一配置信息中的数据源标识用于在数据访问阶段以使目标容器组访问本地存储系统。
[0097]
图5所示的装置可以执行图2所示实施例的方法,其实现原理和技术效果不再赘述。对于上述实施例中的图5所示装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0098]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备a;又比如,步骤301和302的执行主体可以为设备a,步骤303的执行主体可以为设备b;等等。
[0099]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0100]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0101]
图6为本技术实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备包括:存储器61和处理器62;
[0102]
存储器61,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0103]
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-accessmemory,sram),电可擦除可编程只读存储器(electrically erasable programmable read only memory,eeprom),可擦除可编程只读存储器(erasable programmable read only memory,eprom),可编程只读存储器(programmable read-only memory,prom),只读存储器(read-only memory,rom),磁存储器,快闪存储器,磁盘或光盘。
[0104]
处理器62,与存储器61耦合,用于执行存储器61中的计算机程序,以用于:容器编
排方法或数据访问方法中的步骤。
[0105]
进一步,如图6所示,该电子设备还包括:通信组件63、显示器64、电源组件65、音频组件66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。另外,图6中虚线框内的组件为可选组件,而非必选组件,具体可视电子设备的产品形态而定。本实施例的电子设备可以实现为台式电脑、笔记本电脑、智能手机或iot(物联网,internet of things)设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的电子设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图6中虚线框内的组件;若本实施例的电子设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图6中虚线框内的组件。
[0106]
关于处理器执行各动作的详细实施过程可参见前述方法实施例或设备实施例中的相关描述,在此不再赘述。
[0107]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
[0108]
相应地,本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
[0109]
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi(wireless fidelity,无线保真)、2g(2generation,2代)、3g(3generation,3代)、4g(4generation,4代)/lte(long term evolution,长期演进)、5g(5generation,5代)等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(near field communication,nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(radio frequency identification,rfid)技术,红外数据协会(the infrared data association,irda)技术,超宽带(ultra wide band,uwb)技术,蓝牙(bluetooth,bt)技术和其他技术来实现。
[0110]
上述显示器包括屏幕,其屏幕可以包括液晶显示器(liquid crystal display,lcd)和触摸面板(touch panel,tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
[0111]
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0112]
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
[0113]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0114]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0115]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0116]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0117]
在一个典型的配置中,计算设备包括一个或多个处理器(central processing unit,cpu)、输入/输出接口、网络接口和内存。
[0118]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(read only memory,rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0119]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变化内存(phase change ram,pram)、静态随机存取存储器(static random-access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(digital versatile disc,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0120]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的
过程、方法、商品或者设备中还存在另外的相同要素。
[0121]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种容器编排方法,其特征在于,包括:获取创建目标容器组所需的第一配置信息,所述第一配置信息中的数据源标识用于标识部署在本地端的本地存储系统;根据所述第一配置信息创建所述目标容器组,以及确定所述目标容器组需要调度至的目标计算节点;若所述目标计算节点部署在云端,则更新所述第一配置信息中的数据源标识,得到第二配置信息,其中,所述第二配置信息中的数据源标识用于标识所述云端的分布式缓存系统,所述分布式缓存系统缓存有所述本地存储系统中的数据;将所述目标容器组和所述第二配置信息调度至所述云端的所述目标计算节点,其中,所述第二配置信息中的数据源标识用于在数据访问阶段以使所述目标容器组访问所述分布式缓存系统。2.根据权利要求1所述的方法,其特征在于,若所述目标计算节点部署在云端,则更新所述第一配置信息中的数据源标识之前,包括:判断所述第一配置信息中的数据源自适应标签是否指示启动数据源自适应功能;若判断结果为是,则执行若所述目标计算节点部署在云端,则更新所述第一配置信息中的数据源标识的步骤。3.根据权利要求2所述的方法,其特征在于,还包括:若判断结果为否,则将所述目标容器组和所述第一配置信息调度至所述云端的所述目标计算节点,其中,所述第一配置信息中的数据源标识用于在数据访问阶段以使所述目标容器组访问所述本地存储系统。4.根据权利要求1所述的方法,其特征在于,若所述目标计算节点部署在云端,则更新所述第一配置信息中的数据源标识,得到第二配置信息,包括:若所述目标计算节点部署在云端,在所述第一配置信息中增加调度结果标签,所述调度结果标签指示所述目标容器组需要调度至所述云端;响应于所述第一配置信息中存在所述调度结果标签,更新增加所述调度结果标签后的所述第一配置信息中的数据源标识,得到第二配置信息。5.根据权利要求1所述的方法,其特征在于,若所述目标计算节点部署在云端,则更新所述第一配置信息中的数据源标识,得到第二配置信息,包括:若所述目标计算节点是部署在所述云端的服务器计算实例,则将所述第一配置信息中的数据源标识更新为标识所述分布式缓存系统的数据源标识,得到所述第二配置信息;若所述目标计算节点是部署在云端的无服务器计算实例,则删除所述第一配置信息中的数据源标识,以及在删除后的所述第一配置信息中添加边车容器的容器配置信息,得到所述第二配置信息,所述容器配置信息中的数据源标识用于标识所述分布式缓存系统。6.根据权利要求5所述的方法,其特征在于,在将所述目标容器组和所述第二配置信息调度至所述云端的所述目标计算节点之前,还包括:根据所述容器配置信息在所述目标容器组中创建所述边车容器。7.根据权利要求1所述的方法,其特征在于,还包括:若所述目标计算节点部署在所述本地端,则将所述目标容器组和所述第一配置信息调度至所述本地端的所述目标计算节点,其中,所述第一配置信息中的数据源标识用于在数
据访问阶段以使所述目标容器组访问所述本地存储系统。8.一种数据访问方法,其特征在于,包括:响应于数据访问事件被触发,获取目标容器组的配置信息;若所述配置信息中的数据源标识云端的分布式缓存系统,所述分布式缓存系统缓存有本地端的本地存储系统中的数据,则根据所述数据源标识,向所述分布式缓存系统发送数据访问请求。9.根据权利要求8所述的方法,其特征在于,根据所述数据源标识,向所述分布式缓存系统发送数据访问请求,包括:若所述目标容器组部署在所述云端的服务器计算实例,则通过容器存储接口csi创建的客户端根据所述数据源标识,向所述分布式缓存系统发送数据访问请求;若所述目标容器组部署在云端的无服务器计算实例,则通过所述目标容器组中的边车容器根据所述数据源标识,向所述分布式缓存系统发送数据访问请求。10.根据权利要求8所述的方法,其特征在于,还包括:若所述配置信息中的数据源标识本地端的本地存储系统,则通过csi创建的客户端根据所述数据源标识,向所述本地存储系统发送数据访问请求。11.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-10任一项所述方法中的步骤。12.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-10任一项所述方法中的步骤。
技术总结
本申请实施例提供一种容器编排与数据访问方法、电子设备及存储介质,在本申请实施例中,容器组调度到云端时,可以修改容器组的配置信息中的数据源标识,修改后的数据源标识使得容器组可以就近访问云端的缓存有本地存储系统的分布式缓存系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。进一步可选的,当容器组调度到本地端时,还可以支持容器组就近访问本地端的本地存储系统,极大地降低了访问时延,减少了带宽资源浪费,保证了容器组的整体性能。保证了容器组的整体性能。保证了容器组的整体性能。
技术研发人员:车漾 徐之浩
受保护的技术使用者:阿里云计算有限公司
技术研发日:2023.06.09
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
