基于PaaS平台进行容器迁移的方法、系统、设备和存储介质技术方案

技术编号:21343395 阅读:20 留言:0更新日期:2019-06-13 22:25
本申请提供一种基于PaaS平台进行容器迁移的方法、系统、设备和存储介质,涉及云计算技术领域。其中基于PaaS平台进行容器迁移的方法包括:数据模型获取步骤,获得源容器集群的待迁移数据表,和通过PaaS平台在目标容器集群发布容器的数据模型;元数据迁移步骤,实现应用流量入口层的元数据迁移;容器迁移步骤,实现容器的迁移;容器健康检查步骤,实现容器的健康检查;以及容器接入流量步骤,实现容器接入流量。本申请能够自动化迁移容器,对运行于容器上的应用基本无影响,无需人工参与,无需额外机器资源,只需给出待迁移数据表,就可完成元数据和容器的自动迁移和容器流量的自动接入。

Container migration methods, systems, devices and storage media based on PaaS platform

This application provides a method, system, device and storage medium for container migration based on PaaS platform, and relates to the field of cloud computing technology. The methods of container migration based on PaaS platform include: data model acquisition step, data table to be migrated from source container cluster, data model to be published from target container cluster through PaaS platform; metadata migration step to realize metadata migration of application traffic entry layer; container migration step to realize container migration; container health inspection step to realize container migration; The health inspection of the container and the steps of the container access flow are introduced to realize the container access flow. This application can automatically migrate containers, and has little effect on applications running on containers. It does not need manual participation and additional machine resources. It only needs to provide data tables to be migrated to complete the automatic migration of metadata and containers and the automatic access of container flow.

【技术实现步骤摘要】
基于PaaS平台进行容器迁移的方法、系统、设备和存储介质
本申请涉及云计算
,具体地说,涉及一种基于PaaS平台进行容器迁移的方法、系统、设备和存储介质。
技术介绍
随着云计算的发展,容器云平台逐渐成为业界标准,容器云平台具有持续集成和弹性伸缩的特点。Kubernetes(简称K8S)是近几年火热的开源系统,K8S作为容器编排系统用来自动部署、维护和伸缩容器,具有可拓展和自修复的特点。随着K8S的兴盛,越来越多曾使用Mesos的公司选择转型K8S,这样就会面临如何将大量的Mesos应用透明迁移到K8S的问题。也就是说,随着K8S的日益兴起,技术栈从Mesos迁至K8S的需求逐渐浮出水面。这一需求造成运行在Mesos上的大量应用需要透明迁移至K8S,以节省同时维护Mesos和K8S两套技术栈的人力和物力。为了新技术的顺利落地,迁移应满足以下条件:无需用户参与,保持容器IP和部分元信息不变,尽量减少对应用的影响;大量应用的迁移涉及面很广,必然会很繁琐和费时,应做到批量且无需人工值守;从可用性的角度出发,应用的迁移应是灰度的,处于灰度迁移状态的应用,其发布和扩容不应该受到迁移的影响,扩容出来的新容器应尽量部署在K8S上;从资源池的角度来说,迁移不应增加额外机器资源。需要说明的是,在上述
技术介绍
部分申请的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本申请提供一种基于PaaS平台进行容器迁移的方法、系统、设备和存储介质,实现容器云平台自动化迁移Mesos应用到K8S,风险低、无需额外机器资源、对应用基本无影响、无需人工参与。根据本申请的一个方面,提供一种基于PaaS平台进行容器迁移的方法,包括:数据模型获取步骤,获得源容器集群的待迁移数据表,和通过PaaS平台在目标容器集群发布容器的数据模型;元数据迁移步骤,将应用流量入口层与所述目标容器集群的发布扩容接口建立关联,按所述数据模型对所述应用流量入口层的元数据进行重组计算、更新至所述待迁移数据表、并标记为所述源容器集群;容器迁移步骤,从经重组计算的元数据中复制与待迁移容器的IP关联的数据,按所述数据模型对复制的数据进行重组计算、更新至所述待迁移数据表、并标记为所述目标容器集群,并将所述待迁移容器的IP标记为所述目标容器集群;将所述待迁移容器拉出所述源容器集群,在所述目标容器集群中创建pod,并为所述pod分配所述待迁移容器的IP;容器健康检查步骤,对所述待迁移容器进行健康检查;以及容器接入流量步骤,将通过健康检查的待迁移容器拉入所述目标容器集群。优选地,所述容器接入流量步骤还包括:若超时时间内待迁移容器的健康检查未通过,则将所述待迁移容器的流量接入任务赋予流量接入控制器,由所述流量接入控制器执行所述待迁移容器的流量接入任务。优选地,所述流量接入控制器执行:监听所述源容器集群中待迁移容器的变化,将监听到的流量接入任务加入事件队列;循环地从所述事件队列中取出关键词,根据所述关键词获得对应的待迁移容器;将对应的待迁移容器拉入所述目标容器集群。优选地,所述元数据迁移步骤中,将应用流量入口层与所述目标容器集群的发布扩容接口建立关联的步骤包括:备份所述应用流量入口层的元数据;在PaaS层将所述应用流量入口层的发布扩容方式设置为所述目标容器集群的发布扩容方式,使所述应用流量入口层的发布扩容操作调用所述目标容器集群的发布扩容接口。优选地,所述元数据迁移步骤中,按所述数据模型对所述应用流量入口层的元数据进行重组计算前,还包括:从PaaS层和网络层获得所述应用流量入口层的容器配置数据、发布数据和网络数据,作为所述应用流量入口层的元数据。优选地,所述容器迁移步骤中,从经重组计算的元数据中复制与待迁移容器的IP关联的数据前,还包括:备份与待迁移容器的IP关联的数据。优选地,所述容器迁移步骤中,将所述待迁移容器拉出所述源容器集群前,还包括:按所述数据模型对所述待迁移数据表进行减1运算,并更新所述待迁移数据表中被影响到的数据。优选地,通过Stackstorm管理所述数据模型获取步骤、所述元数据迁移步骤、所述容器迁移步骤、所述容器健康检查步骤和所述容器接入流量步骤的工作流。优选地,当任意步骤失败,进行回滚操作,并发出告警信息。优选地,所述源容器集群为Mesos,所述目标容器集群为Kubernetes。根据本申请的另一个方面,提供一种基于PaaS平台进行容器迁移的系统,包括:数据模型获取模块,用于获得源容器集群的待迁移数据表,和通过PaaS平台在目标容器集群发布容器的数据模型;元数据迁移模块,用于将应用流量入口层与所述目标容器集群的发布扩容接口建立关联,按所述数据模型对所述应用流量入口层的元数据进行重组计算、更新至所述待迁移数据表、并标记为所述源容器集群;容器迁移模块,用于从经重组计算的元数据中复制与待迁移容器的IP关联的数据,按所述数据模型对复制的数据进行重组计算、更新至所述待迁移数据表、并标记为所述目标容器集群,并将所述待迁移容器的IP标记为所述目标容器集群;将所述待迁移容器拉出所述源容器集群,在所述目标容器集群中创建pod,并为所述pod分配所述待迁移容器的IP;容器健康检查模块,用于对所述待迁移容器进行健康检查;以及容器接入流量模块,用于将通过健康检查的待迁移容器拉入所述目标容器集群。优选地,上述的系统还包括:流量接入控制器,用于将超时时间内未通过健康检查的待迁移容器拉入所述目标容器集群。优选地,通过Stackstorm管理所述数据模块获取模块,所述元数据迁移模块、所述容器迁移模块、所述容器健康检查模块和所述容器接入流量模块之间的工作流。根据本申请的另一个方面,提供一种基于PaaS平台进行容器迁移的设备,包括:处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的基于PaaS平台进行容器迁移的方法的步骤。根据本申请的另一个方面,提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述的基于PaaS平台进行容器迁移的方法的步骤。本申请的有益效果在于:本申请实现自动化迁移容器,对运行于容器上的应用基本无影响,无需人工参与,无需额外机器资源,只需给出待迁移数据表,就可完成元数据和容器的自动迁移和容器流量的自动接入;本申请拆解迁移过程为多个checkpoint,利用Stackstorm实现自动化工作流、异常情况的自动处理、失败情况的自动告警,借助流量接入控制器实现容器流量的自动接入,无需值守。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本申请实施例中一种基于PaaS平台进行容器迁移的方法的步骤示意图;图2示出本申请实施例中一种基于PaaS平台进行容器迁移的方法的工作流示意图;图3示出本申请实施例中一种基于PaaS平台进行容器迁移的方法的架本文档来自技高网...

【技术保护点】
1.一种基于PaaS平台进行容器迁移的方法,其特征在于,包括:数据模型获取步骤,获得源容器集群的待迁移数据表,和通过PaaS平台在目标容器集群发布容器的数据模型;元数据迁移步骤,将应用流量入口层与所述目标容器集群的发布扩容接口建立关联,按所述数据模型对所述应用流量入口层的元数据进行重组计算、更新至所述待迁移数据表、并标记为所述源容器集群;容器迁移步骤,从经重组计算的元数据中复制与待迁移容器的IP关联的数据,按所述数据模型对复制的数据进行重组计算、更新至所述待迁移数据表、并标记为所述目标容器集群,并将所述待迁移容器的IP标记为所述目标容器集群;将所述待迁移容器拉出所述源容器集群,在所述目标容器集群中创建pod,并为所述pod分配所述待迁移容器的IP;容器健康检查步骤,对所述待迁移容器进行健康检查;以及容器接入流量步骤,将通过健康检查的待迁移容器拉入所述目标容器集群。

【技术特征摘要】
1.一种基于PaaS平台进行容器迁移的方法,其特征在于,包括:数据模型获取步骤,获得源容器集群的待迁移数据表,和通过PaaS平台在目标容器集群发布容器的数据模型;元数据迁移步骤,将应用流量入口层与所述目标容器集群的发布扩容接口建立关联,按所述数据模型对所述应用流量入口层的元数据进行重组计算、更新至所述待迁移数据表、并标记为所述源容器集群;容器迁移步骤,从经重组计算的元数据中复制与待迁移容器的IP关联的数据,按所述数据模型对复制的数据进行重组计算、更新至所述待迁移数据表、并标记为所述目标容器集群,并将所述待迁移容器的IP标记为所述目标容器集群;将所述待迁移容器拉出所述源容器集群,在所述目标容器集群中创建pod,并为所述pod分配所述待迁移容器的IP;容器健康检查步骤,对所述待迁移容器进行健康检查;以及容器接入流量步骤,将通过健康检查的待迁移容器拉入所述目标容器集群。2.如权利要求1所述的方法,其特征在于,所述容器接入流量步骤还包括:若超时时间内待迁移容器的健康检查未通过,则将所述待迁移容器的流量接入任务赋予流量接入控制器,由所述流量接入控制器执行所述待迁移容器的流量接入任务。3.如权利要求2所述的方法,其特征在于,所述流量接入控制器执行:监听所述源容器集群中待迁移容器的变化,将监听到的流量接入任务加入事件队列;循环地从所述事件队列中取出关键词,根据所述关键词获得对应的待迁移容器;将对应的待迁移容器拉入所述目标容器集群。4.如权利要求1所述的方法,其特征在于,所述元数据迁移步骤中,将应用流量入口层与所述目标容器集群的发布扩容接口建立关联的步骤包括:备份所述应用流量入口层的元数据;在PaaS层将所述应用流量入口层的发布扩容方式设置为所述目标容器集群的发布扩容方式,使所述应用流量入口层的发布扩容操作调用所述目标容器集群的发布扩容接口。5.如权利要求1所述的方法,其特征在于,所述元数据迁移步骤中,按所述数据模型对所述应用流量入口层的元数据进行重组计算前,还包括:从PaaS层和网络层获得所述应用流量入口层的容器配置数据、发布数据和网络数据,作为所述应用流量入口层的元数据。6.如权利要求1所述的方法,其特征在于,所述容器迁移步骤中,从经重组计算的元数据中复制与待迁移容器的IP关联的数据前,还包括:备份与待迁移容器的IP关联的数据。7.如权利要求1所述的方法,其特征在于,所述容器迁移步骤...

【专利技术属性】
技术研发人员:李静雪
申请(专利权)人:携程旅游信息技术上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1