一种基于容器云的应用集成和发布方法及系统技术方案

技术编号:20840922 阅读:33 留言:0更新日期:2019-04-13 08:34
本发明专利技术公开了一种基于容器云的应用集成和发布的方法,包括如下步骤:S1、集成应用的应用包发布配置文件,S2、配置应用的应用包版本信息;S3、存储应用的应用包发布配置文件和应用包版本信息;S4、根据用户发送的应用发布API请求,获取应用的配置信息和版本信息;S5、根据应用的配置信息和版本信息,获取应用的镜像信息;S6、根据镜像信息,查找应用的镜像文件;若应用的镜像文件存在,则反馈镜像文件存在信息;若应用的镜像文件不存在,则触发应用管理人员制作应用的镜像文件,制作完成后,反馈镜像文件存在信息;S7、将应用发布至容器云平台;还提出基于容器云的应用集成和发布的系统,可极大的节省应用发布的时间,降低应用发布的出错率。

【技术实现步骤摘要】
一种基于容器云的应用集成和发布方法及系统
本专利技术涉及计算机数据处理
,特别是涉及一种基于容器云的应用集成和发布方法及系统。
技术介绍
容器为用户打开了一扇通往新世界的大门,真正进入容器的世界后,却发现新的生态系统如此庞大。在生产使用时,无论是个人还是企业,都会提出更复杂的需求。这时,我们需要众多跨主机的容器协同工作,需要支持各种类型的工作负载,企业级应用开发更是需要基于容器技术,实现支持多人协作的应用集成、应用发布平台。即使Docker只需一条命令便可启动一个容器,一旦试图将其推广到开发测试环境和生产环境中,麻烦便层出不穷,容器相关的网络、存储、集群、高可用等就是不得不面对的问题。从容器到容器云的进化便应运而生。容器云的本质是一个轻量级的容器虚拟化平台,以及一套标准的开发、构建、部署、运行的流程,并且可以集成各类工具,比如持续集成、数据库与缓存、大数据等,以及一些PaaS类的服务。容器云在计算资源调度上具备IaaS的灵活性,以及PaaS的便利,应用发布/更新、弹性伸缩、日志监控、滚动升级、持续集成/部署等系统级的PaaS服务已成为容器云的标配,并逐渐会往上层发展,比如部署数据库与缓存、大数据、安全监控等服务,以及集成各类SaaS服务。目前在开发测试环境和生产环境中基于容器云应用的传统发布模式如图1。当进行容器云的应用发布时,应用发布人员首先需编写该应用的发布脚本,其中脚本内容的格式为该容器云应用发布的格式规范,脚本的内容主要包括:应用名称、应用镜像名称、应用资源配置、应用环境变量和目录映射配置、应用健康检查配置以及应用启动命令和启动的应用容器个数等。当配置完应用发布脚本后,需对该脚本进行格式规范检查,以确认编写的脚本是否正确,检查完应用发布脚本后,在终端执行应用发布命令,此时容器云的计算节点将根据应用发布脚本中的镜像名称从镜像仓库中拉取对应镜像至本地计算节点上,同时根据应用发布脚本中的其他配置信息在本地计算节点上启动对应的应用容器,如图1所示,在容器云的计算资源池中启动了4个相同的应用容器。现有的基于容器云的应用集成和发布方法存在以下问题:(1)应用包发布配置文件是由应用发布人员编写并保存在容器云环境的本地,不易于管理,尤其是当应用进行不断的更新升级后,同一个应用将会有很多个版本及其对应的应用包发布配置文件,当版本过多时,应用版本管理将会异常复杂;(2)对于应用包发布配置文件的编写需由专业人员进行,而在企业应用或公有的容器云环境中,实际使用应用的人员对容器云本身并不熟悉,无法进行应用发布配置文件的编写,此时即使拥有充足的资源,也无法顺畅的通过容器充分的使用起来。
技术实现思路
为了弥补上述现有技术的不足,本专利技术提出一种基于容器云的应用集成和发布的方法及系统。本专利技术的技术问题通过以下的技术方案予以解决:一种基于容器云的应用集成和发布的方法,包括如下步骤:S1、根据应用的配置信息集成所述应用的应用包发布配置文件;S2、配置所述应用的应用包版本信息;S3、存储所述应用的应用包发布配置文件和应用包版本信息;S4、根据用户发送的应用发布API请求,获取所述应用的配置信息和版本信息;S5、根据所述应用的配置信息和版本信息,获取所述应用的镜像信息;S6、根据所述镜像信息,查找所述应用的镜像文件;若所述应用的镜像文件存在,则反馈镜像文件存在信息;若所述应用的镜像文件不存在,则触发应用管理人员制作所述应用的镜像文件,制作完成后,反馈镜像文件存在信息;S7、根据所述镜像文件存在信息,将所述应用发布至容器云平台。在一些优选地实施例中,在步骤S1中,所述应用包发布配置文件的集成方法包括如下步骤:T1、创建chart目录和所述chart目录下的文件及目录;其中,所述文件和目录包括Chart.yaml文件、LICENSE文件、README.md文件、requirements.yaml文件、values.yaml文件、charts目录、templates目录和templates/NOTES.txt文件;T2、配置所述Chart.yaml文件;其中,所述Chart.yaml文件的配置信息包括应用名称、应用描述、应用版本信息和应用维护人员信息;T3、配置所述requirements.yaml文件;其中,所述requirements.yaml文件的配置信息包括依赖应用的应用名称、依赖应用的应用版本、依赖应用的发布配置文件信息的完整URL;T4、配置所述templates目录中的模板文件;其中,所述模板文件遵循用于编写Go模板的标准约定,所述模板文件中添加了来自Spring库的60个附加模板函数以及专用函数specializedfunctions。在一些优选地实施例中,所述配置信息包括应用名称、应用镜像名称、应用资源配置、应用环境变量和目录映射配置、应用健康检查配置以及应用启动命令和启动的应用容器个数等。在一些优选地实施例中,在步骤S1中,所述应用包版本信息的构建,遵循SemVer2标准。本专利技术还提出一种基于容器云的应用集成和发布的系统,包括:应用包管理中心,用于根据应用的配置信息集成所述应用的应用包发布配置文件,配置所述应用的应用包版本信息,并存储所述应用的应用包发布配置文件和应用包版本信息;应用发布管理器,用于接收用户发送的应用发布API请求,根据所述应用发布API请求,从所述应用包管理中心获取所述应用的配置信息和应用包版本信息;镜像仓库,用于根据所述应用的配置信息和版本信息,从所述应用包管理中心获取所述应用的镜像信息;并根据所述镜像信息,查找所述应用的镜像文件;若所述应用的镜像文件存在,则反馈镜像文件存在信息至所述应用发布管理器;若所述应用的镜像文件不存在,则触发应用管理人员制作所述应用的镜像文件,制作完成后,反馈镜像文件存在信息至所述应用发布管理器;容器云平台,用于接收并运行所述应用发布管理器根据所述镜像文件存在信息发布的应用。在一些优选地实施例中,所述应用包管理中心包括:应用包配置管理单元,用于根据应用的配置信息集成所述应用的应用包发布配置文件;应用包版本管理单元,用于配置所述应用的应用包版本信息;应用包存储管理单元,用于存储所述应用的应用包发布配置文件和应用包版本信息。在一些优选地实施例中,所述配置信息包括应用名称、应用镜像名称、应用资源配置、应用环境变量和目录映射配置、应用健康检查配置以及应用启动命令和启动的应用容器个数。在一些优选地实施例中,所述应用包版本信息的构建,遵循SemVer2标准。本专利技术与现有技术对比的有益效果包括:在应用发布前,可将应用发布配置信息集成到容器云的应用包管理中心,当进行应用发布时,用户可在应用包管理中心查找需要的应用及其对应的版本并进行应用发布,可极大的节省应用发布的时间,降低应用发布的出错率;当应用的应用包经过几次更新迭代后,应用包管理中心可对应用的版本进行统一的管理;另外,对于通用的中间件应用,如mysql、redis、tomcat等,可直接将应用发布配置信息和版本信息集成到应用包管理中心,此后,在任何地方可拿到即用,无需再对应用发布做任何的信息配置,可极大的提高应用发布配置信息的可重用性,节省容器云平台的发布部署时间,同时降低应用发布的出错率。附图说明图1是基于容器云应用的传本文档来自技高网
...

【技术保护点】
1.一种基于容器云的应用集成和发布的方法,其特征在于,包括如下步骤:S1、根据应用的配置信息集成所述应用的应用包发布配置文件;S2、配置所述应用的应用包版本信息;S3、存储所述应用的应用包发布配置文件和应用包版本信息;S4、根据用户发送的应用发布API请求,获取所述应用的配置信息和版本信息;S5、根据所述应用的配置信息和版本信息,获取所述应用的镜像信息;S6、根据所述镜像信息,查找所述应用的镜像文件;若所述应用的镜像文件存在,则反馈镜像文件存在信息;若所述应用的镜像文件不存在,则触发应用管理人员制作所述应用的镜像文件,制作完成后,反馈镜像文件存在信息;S7、根据所述镜像文件存在信息,将所述应用发布至容器云平台。

【技术特征摘要】
1.一种基于容器云的应用集成和发布的方法,其特征在于,包括如下步骤:S1、根据应用的配置信息集成所述应用的应用包发布配置文件;S2、配置所述应用的应用包版本信息;S3、存储所述应用的应用包发布配置文件和应用包版本信息;S4、根据用户发送的应用发布API请求,获取所述应用的配置信息和版本信息;S5、根据所述应用的配置信息和版本信息,获取所述应用的镜像信息;S6、根据所述镜像信息,查找所述应用的镜像文件;若所述应用的镜像文件存在,则反馈镜像文件存在信息;若所述应用的镜像文件不存在,则触发应用管理人员制作所述应用的镜像文件,制作完成后,反馈镜像文件存在信息;S7、根据所述镜像文件存在信息,将所述应用发布至容器云平台。2.如权利要求1所述的基于容器云的应用集成和发布的方法,其特征在于,在步骤S1中,所述应用包发布配置文件的集成方法包括如下步骤:T1、创建chart目录和所述chart目录下的文件及目录;其中,所述文件和目录包括Chart.yaml文件、LICENSE文件、README.md文件、requirements.yaml文件、values.yaml文件、charts目录、templates目录和templates/NOTES.txt文件;T2、配置所述Chart.yaml文件;其中,所述Chart.yaml文件的配置信息包括应用名称、应用描述、应用版本信息和应用维护人员信息;T3、配置所述requirements.yaml文件;其中,所述requirements.yaml文件的配置信息包括依赖应用的应用名称、依赖应用的应用版本、依赖应用的发布配置文件信息的完整URL;T4、配置所述templates目录中的模板文件;其中,所述模板文件遵循用于编写Go模板的标准约定,所述模板文件中添加了来自Spring库的60个附加模板函数以及专用函数specializedfunctions。3.如权利要求1所述的基于容器云的应用集成和发布的方法,其...

【专利技术属性】
技术研发人员:王宇曹雪
申请(专利权)人:湖南舜康信息技术有限公司
类型:发明
国别省市:湖南,43

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

1