异构容器集群迁移方法和控制器与流程

文档序号:14120118阅读:345来源:国知局
异构容器集群迁移方法和控制器与流程

本发明涉及云计算领域中的容器领域,特别涉及一种异构容器集群迁移方法和控制器。



背景技术:

随着容器技术的快速发展,在容器云环境中部署的应用系统越来越多,出于服务变更、容灾备份、成本效率、技术发展等因素的考虑,不少应用存在跨容器集群迁移的需求。

目前主流的容器集群平台有mesos、swarm和kubernetes三种,这三种集群都提供容器化应用的编排、部署、运行、调度和监控等类似功能,但由于三大容器集群模型存在显著差异,例如三大模型的文件格式不同、对象结构不同、参数名称不同,使得应用跨异构容器集群迁移相当困难。

现有的异构容器集群迁移方法需要按目标容器集群模型的格式重新编写容器集群模型文件,将源容器集群模型的对象、属性和参数逐一手工转换成目标容器集群模型,迁移门槛高、效率低、易出错。



技术实现要素:

鉴于以上技术问题,本发明提供了一种基于统一容器集群模型的异构容器集群迁移方法和控制器,通过引入统一容器集群模型,简化了容器托管应用在异构容器集群间的迁移。

根据本发明的一个方面,提供一种异构容器集群迁移方法,包括:

将源容器集群模型文件转换成统一容器集群模型文件;

将所述统一容器集群模型文件转换成目标集群模型文件,其中源容器集群模型和目标集群模型属于不同的主流容器集群模型。

在本发明的一个实施例中,所述方法还包括:

将应用的所需容器镜像从源集群环境同步到目标集群环境的容器镜像仓库中;

调用目标容器集群管理器接口,基于目标集群模型文件在目标集群环境中部署运行应用容器集群。

在本发明的一个实施例中,所述将源容器集群模型文件转换成统一容器集群模型文件包括:

解析源容器集群模型文件;

根据源集群模型的映射规则,将源容器集群模型文件转换成统一容器集群模型文件;

将所述统一容器集群模型文件导入统一容器集群模型库。

在本发明的一个实施例中,所述将所述统一容器集群模型文件转换成目标集群模型文件包括:

从统一容器集群模型库中提取所述统一容器集群模型文件;

根据目标集群模型的映射规则,将所述统一容器集群模型文件转换成目标集群模型文件;

通过转换模板引导用户填写缺失信息,其中所述缺失信息包括扩展对象和/或标准对象中的扩展属性。

在本发明的一个实施例中,统一容器集群模型由标准对象和扩展对象构成,标准对象和扩展对象均由若干可扩展的属性和标签构成。

在本发明的一个实施例中,统一容器集群模型支持一对一、一对多和多对一,三种模型对象映射规则。

在本发明的一个实施例中,标准对象的转换通过模型对象映射规则自动完成;扩展对象或标准对象中的扩展属性的转换通过转换模板向导指引完成。

根据本发明的另一方面,提供一种异构容器集群迁移控制器,包括第一转换模块和第二转换模块,其中:

第一转换模块,用于将源容器集群模型文件转换成统一容器集群模型文件;

第二转换模块,用于将所述统一容器集群模型文件转换成目标集群模型文件,其中源容器集群模型和目标集群模型属于不同的主流容器集群模型。

在本发明的一个实施例中,所述异构容器集群迁移控制器还包括容器镜像同步模块和容器集群运行模块,其中:

容器镜像同步模块,用于将应用的所需容器镜像从源集群环境同步到目标集群环境的容器镜像仓库中;

容器集群运行模块,用于调用目标容器集群管理器接口,基于目标集群模型文件在目标集群环境中部署运行应用容器集群。

在本发明的一个实施例中,第一转换模块包括文件解析单元、第一转换单元和文件导入单元,其中:

文件解析单元,用于解析源容器集群模型文件;

第一转换单元,用于根据源集群模型的映射规则,将源容器集群模型文件转换成统一容器集群模型文件;

文件导入单元,用于将所述统一容器集群模型文件导入统一容器集群模型库。

在本发明的一个实施例中,第二转换模块包括文件提取单元、第二转换单元和缺失信息补充模块,其中:

文件提取单元,用于从统一容器集群模型库中提取所述统一容器集群模型文件;

第二转换单元,用于根据目标集群模型的映射规则,将所述统一容器集群模型文件转换成目标集群模型文件;

缺失信息补充模块,用于通过转换模板引导用户填写缺失信息,其中所述缺失信息包括扩展对象和/或标准对象中的扩展属性。

在本发明的一个实施例中,统一容器集群模型由标准对象和扩展对象构成,标准对象和扩展对象均由若干可扩展的属性和标签构成。

在本发明的一个实施例中,统一容器集群模型支持一对一、一对多和多对一,三种模型对象映射规则。

在本发明的一个实施例中,标准对象的转换通过模型对象映射规则自动完成;扩展对象或标准对象中的扩展属性的转换通过转换模板向导指引完成。

本发明通过引入统一容器集群模型,建立主流容器集群模型与统一容器集群模型的双向映射关系,简化了容器托管应用在异构容器集群间的迁移,提升了迁移效率,减少了出错可能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明统一容器集群模型与三大容器集群模型的映射关系图。

图2为本发明基于统一容器集群模型的异构容器集群迁移方法第一实施例的示意图。

图3为本发明基于统一容器集群模型的异构容器集群迁移方法第二实施例的流程示意图。

图4为本发明基于统一容器集群模型的异构容器集群迁移控制器执行本发明异构容器集群迁移方法第二实施例的示意图。

图5为本发明基于统一容器集群模型的异构容器集群迁移控制器第一实施例的示意图。

图6为本发明一个实施例中第一转换模块的示意图。

图7为本发明一个实施例中第二转换模块的示意图。

图8为本发明基于统一容器集群模型的异构容器集群迁移控制器第二实施例的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

在本发明基于统一容器集群模型的异构容器集群迁移处理器中预先设置有统一容器集群模型,并建立了主流容器集群模型与统一容器集群模型的双向映射关系。

在本发明的一个实施例中,本发明统一容器集群模型由标准对象和扩展对象构成,标准对象和扩展对象均由若干可扩展的属性和标签构成,其中:

标准对象定义了主流容器集群的共性对象,如镜像、容器、容器组、服务、应用、集群、主机、容器存储、共享存储、网络等。

标准对象由属性和标签(label)构成。属性由标准属性和扩展属性构成,属性支持的类型至少包括:数字、布尔、字符串、对象和数组。标签是一组由用户定义的键/值对,键和值均为字符串类型。

现有容器集群模型的非标准对象可以通过统一集群模型的扩展对象描述,扩展对象的所有属性和标签均可自由定义。

在本发明的一个实施例中,本发明统一容器集群模型与主流容器集群模型的对象映射规则主要有三种:

1、一对一映射:一个源模型对象映射成一个目标模型对象。

2、一对多映射:一个源模型对象映射成多个目标模型对象。一对多映射通常将源模型的一个对象映射为目标模型的一个主对象映射和多个子对象,在主对象的属性中引用子对象的id。

3、多对一映射:将多个现有模型对象映射成一个目标模型对象,将具备源模型中一组相同属性或标签的对象合并成目标模型的一个大对象。

在本发明的一个实施例中,主流容器集群模型与统一容器集群模型可双向转换,kubernetes、compose+swarm、marathon+mesos三大模型的文件可以统一容器集群模型格式导入到统一容器集群模型库,统一容器集群模型库中的模型也导出成三大容器集群模型的模型文件。如图1所示为本发明统一容器集群模型与三大容器集群模型的映射关系图。如表1所示为本发明统一容器集群模型与三大容器集群模型的主要元素的映射关系表。

表1

下面通过具体实施例对本发明基于统一容器集群模型的异构容器集群迁移方法和处理器进行说明。

图2为本发明基于统一容器集群模型的异构容器集群迁移方法第一实施例的示意图。优选的,本实施例可由本发明基于统一容器集群模型的异构容器集群迁移控制器执行。该方法包括以下步骤:

步骤21,异构容器集群迁移控制器将源容器集群模型文件转换成统一容器集群模型文件。

在本发明一个实施例中,在步骤21之前,所述方法还可以包括:预先设置有统一容器集群模型,并建立了主流容器集群模型与统一容器集群模型的双向映射关系。例如:预先建立如图1所述的本发明统一容器集群模型与三大容器集群模型的映射关系图、或如表1所述的本发明统一容器集群模型与三大容器集群模型的映射关系表。

在本发明的一个实施例中,步骤21可以包括:

步骤211,解析源容器集群模型文件。

步骤212,根据源集群模型的映射规则,将源容器集群模型文件转换成统一容器集群模型文件。

步骤213,将所述统一容器集群模型文件导入统一容器集群模型库。

步骤22,异构容器集群迁移控制器将所述统一容器集群模型文件转换成目标集群模型文件,其中源容器集群模型和目标集群模型属于不同的主流容器集群模型。

在本发明的一个实施例中,步骤22可以包括:

步骤221,从统一容器集群模型库中提取所述统一容器集群模型文件。

步骤222,根据目标集群模型的映射规则,将所述统一容器集群模型文件转换成目标集群模型文件。

步骤223,通过转换模板引导用户填写缺失信息,其中所述缺失信息包括扩展对象和/或标准对象中的扩展属性。

在本发明的一个实施例中,标准对象的转换通过模型对象映射规则自动完成;扩展对象或标准对象中的扩展属性的转换通过转换模板向导指引完成。

基于本发明上述实施例提供的异构容器集群迁移方法,针对当前容器托管应用跨异构容器集群迁移需人工转换不同集群的模型配置文件,存在效率低、易出错等技术问题,本发明上述实施例的方法通过引入统一容器集群模型,建立主流容器集群模型与统一容器集群模型的双向映射关系,简化了容器托管应用在异构容器集群间的迁移,提升了迁移效率,减少了出错可能。

图3为本发明基于统一容器集群模型的异构容器集群迁移方法第二实施例的流程示意图。优选的,本实施例可由本发明基于统一容器集群模型的异构容器集群迁移控制器执行。图3实施例的步骤31和步骤32分别与图2实施例的步骤21和步骤22相同或相似,这里不再详述。

图4为本发明基于统一容器集群模型的异构容器集群迁移控制器执行本发明异构容器集群迁移方法第二实施例的示意图。

如图3所示,本发明异构容器集群迁移方法第二实施例可以包括以下步骤:

步骤31,异构容器集群迁移控制器将源容器集群模型文件转换成统一容器集群模型文件。

步骤32,异构容器集群迁移控制器将所述统一容器集群模型文件转换成目标集群模型文件,其中源容器集群模型和目标集群模型属于不同的主流容器集群模型。

步骤33,将应用的所需容器镜像从源集群环境同步到目标集群环境的容器镜像仓库中。

步骤34,调用目标容器集群管理器接口,基于目标集群模型文件在目标集群环境中部署运行应用容器集群。

本发明上述实施例针对异构容器集群迁移存在的迁移效率低、易出错等技术问题,通过引入统一容器集群模型,建立统一容器集群模型与主流容器集群模型的双向映射关系,借助统一容器集群模型将源容器集群模型转换为目标容器集群模型,通过目标容器集群模型在目标容器集群环境中快速重建应用,从而简化了应用在异构容器集群环境间的迁移。

图5为本发明基于统一容器集群模型的异构容器集群迁移控制器第一实施例的示意图。如图5所示,所述异构容器集群迁移控制器可以包括第一转换模块51和第二转换模块52,其中:

第一转换模块51,用于将源容器集群模型文件转换成统一容器集群模型文件。

在本发明的一个实施例中,如图6所示,图5实施例的第一转换模块51可以包括文件解析单元511、第一转换单元512和文件导入单元513,其中:

文件解析单元511,用于解析源容器集群模型文件。

第一转换单元512,用于根据源集群模型的映射规则,将源容器集群模型文件转换成统一容器集群模型文件。

文件导入单元513,用于将所述统一容器集群模型文件导入统一容器集群模型库。

第二转换模块52,用于将所述统一容器集群模型文件转换成目标集群模型文件,其中源容器集群模型和目标集群模型属于不同的主流容器集群模型。

在本发明的一个实施例中,如图7所示,图5实施例的第二转换模块52可以包括文件提取单元521、第二转换单元522和缺失信息补充模块523,其中:

文件提取单元521,用于从统一容器集群模型库中提取所述统一容器集群模型文件;

第二转换单元522,用于根据目标集群模型的映射规则,将所述统一容器集群模型文件转换成目标集群模型文件;

缺失信息补充模块523,用于通过转换模板引导用户填写缺失信息,其中所述缺失信息包括扩展对象和/或标准对象中的扩展属性。

在本发明的一个实施例中,标准对象的转换通过模型对象映射规则自动完成;扩展对象或标准对象中的扩展属性的转换通过转换模板向导指引完成。

基于本发明上述实施例提供的异构容器集群迁移控制器,针对当前容器托管应用跨异构容器集群迁移需人工转换不同集群的模型配置文件,存在效率低、易出错等技术问题,本发明上述实施例通过引入统一容器集群模型,建立主流容器集群模型与统一容器集群模型的双向映射关系,简化了容器托管应用在异构容器集群间的迁移,提升了迁移效率,减少了出错可能。

图8为本发明基于统一容器集群模型的异构容器集群迁移控制器第二实施例的示意图。与图5所示实施例相比,在图8所示实施例中,所述异构容器集群迁移控制器还可以包括容器镜像同步模块53和容器集群运行模块54,其中:

容器镜像同步模块53,用于将应用的所需容器镜像从源集群环境同步到目标集群环境的容器镜像仓库中。

容器集群运行模块54,用于调用目标容器集群管理器接口,基于目标集群模型文件在目标集群环境中部署运行应用容器集群。

本发明上述实施例针对异构容器集群迁移存在的迁移效率低、易出错等技术问题,通过引入统一容器集群模型,建立统一容器集群模型与主流容器集群模型的双向映射关系,借助统一容器集群模型将源容器集群模型转换为目标容器集群模型,通过目标容器集群模型在目标容器集群环境中快速重建应用,从而简化了应用在异构容器集群环境间的迁移。

在本发明一个实施例中,如图8所示,所述异构容器集群迁移控制器还可以统一容器集群模型设置模块55,其中:

统一容器集群模型设置模块55,用于预先设置有统一容器集群模型,并建立了主流容器集群模型与统一容器集群模型的双向映射关系。

例如:统一容器集群模型设置模块55可以用于预先建立如图1所述的本发明统一容器集群模型与三大容器集群模型的映射关系图、或如表1所述的本发明统一容器集群模型与三大容器集群模型的映射关系表。

本发明上述实施例相对现有技术而言,还具有如下优点和效果。

第一、降低了异构集群模型转换难度:通过主流容器集群模型与统一容器集群模型的双向映射简化主流容器集群模型间的转换。

第二、提升了异构容器集群迁移效率:通过共性的抽象模型实现源集群模型和目标集群模型的等价对象和属性的自动转换,通过迁移模板实现非等价对象批量转换。

第三、简化了容器应用集群构建部署:应用集群只需要用最熟悉的容器集群模型编写一次就能在主流的容器集群环境中部署。

在上面所描述的第一转换模块51、第二转换模块52、容器镜像同步模块53、容器集群运行模块54等功能单元可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(plc)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。

至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1