适用于离线环境的一键部署方法、系统及存储介质技术方案

技术编号:33541461 阅读:46 留言:0更新日期:2022-05-21 09:50
本申请提供适用于离线环境的一键部署方法、系统及存储介质,RM平台制作医疗机构产品关联的一或多个应用部署包的元数据并引入输出变量;RM平台对医疗机构产品关联的一或多个应用部署包进行版本管理;RM平台决策部署顺序以生成部署工作流,并在将所述部署工作流进行序列化后注入所述元数据中形成元数据文件,将所述医疗机构产品关联的应用部署包及所述元数据文件打包成项目包;SM平台上传所述项目包,并执行部署工作流以进行一键部署至K8S集群中。本发明专利技术将完整产品功能体系涉及到的所有应用部署包,跨应用边界自动编排部署到k8s集群中,有效减少医院现场实施人员出错率,提升部署效率,很好地适应于医院现场高质量、高效率、低成本交付的部署方案。低成本交付的部署方案。低成本交付的部署方案。

【技术实现步骤摘要】
适用于离线环境的一键部署方法、系统及存储介质


[0001]本申请涉及离线部署
,特别是涉及适用于离线环境的一键部署方法、系统及存储介质。

技术介绍

[0002]在微服务架构下,一个应用会被拆分为若干个独立的微服务,每个微服务可被单独构建并部署,讲究分而治之,高度自治。这种以每个微服务为颗粒度的部署模型,在ToC(To Customer)场景下是一个很常规且很标准的流程,但在ToB(To Business)场景下,由于现场环境复杂,使得部署一个应用变得非常繁琐,且容易出错。
[0003]因此,为了应对ToB场景,目前本领域主要采用以每个应用为颗粒度的部署模型,将应用内部的各微服务一并打包在一起,并且内部处理好各微服务间的依赖关系及配置,最后统一一次性部署,简化部署流程。但随着公司业务的不断扩张,应用变得越来越多,各应用之间的关系也变得错综复杂,此时暴露的问题,与之前以每个微服务为颗粒度进行模型部署所遇到的问题极为类似,这使得部署公司的某一套产品解决方案变得繁琐复杂,因为一套解决方案涉及到一系列的应用需要部署。
[0004]所以,将一套完整的产品功能体系涉及到的所有应用部署包,能够跨应用边界自动编排部署到k8s集群中,系统内部可以自动处理应用的依赖部署顺序,并能够自动填充各种应用依赖配置项的方案很有必要。这种方案旨在为产品高质量、高效率、低成本交付提供一套适应医院现场环境的一键部署方案。

技术实现思路

[0005]鉴于以上所述现有技术的缺点,本申请的目的在于提供适用于离线环境的一键部署方法、系统及存储介质,用于解决现有技术中的部署方案不适用于医院离线环境的技术问题。
[0006]为实现上述目的及其他相关目的,本申请的第一方面提供一种适用于离线环境的一键部署方法,包括:RM平台制作医疗机构产品关联的一或多个应用部署包的元数据并引入输出变量;RM平台对所述医疗机构产品关联的一或多个应用部署包进行版本管理;RM平台决策部署顺序以生成部署工作流,并在将所述部署工作流进行序列化后注入所述元数据中形成元数据文件,将所述医疗机构产品关联的应用部署包及所述元数据文件打包成项目包;SM平台上传所述项目包,并执行部署工作流以进行一键部署至K8S集群中。
[0007]于本申请的第一方面的一些实施例中,所述引入输出变量的过程包括:通过使用所述RM平台的部署包制作构建功能,声明所述应用部署包中的模板服务所需输出的参数配置键,且所述参数配置键(key)具有全局唯一性及不可改动性;在构建部署包时,将除了RM平台自行统一管理之外的参数配置键注入到所述元数据中,供SM平台解析使用。
[0008]于本申请的第一方面的一些实施例中,对于只能在实施现场确定的现场配置,由SM平台统一声明所述现场配置,且所述现场配置具有全局唯一性及不可改动性;RM平台通
过拉取这些现场配置将其同步到RM平台进行管理,以便输入配置根据需要引用这些现场配置;对于不依赖应用边界配置的输入配置,将配置的值定义为适应现场的默认值。
[0009]于本申请的第一方面的一些实施例中,所述RM平台对所述医疗机构产品关联的应用部署包进行版本管理,其包括:明确该医疗机构产品的依赖项及其依赖项的版本范围,再进行版本发布的动作;若所述医疗机构产品的依赖项为特定版本,则声明指定的版本号依赖;若所述医疗机构产品的依赖项为某个版本范围,则声明其依赖的版本为某个版本区间。
[0010]于本申请的第一方面的一些实施例中,所述RM平台对所述医疗机构产品关联的应用部署包进行版本管理,还包括:根据所述医疗机构产品的依赖关系生成对应的产品拓扑结构及部署顺序,并据此生成对应的有向无环图,供SM平台解析该元数据后按所述部署顺序编排该有向无环图中各节点上的应用,以完成整个项目的交付落地。
[0011]于本申请的第一方面的一些实施例中,RM平台基于医疗机构产品所声明的依赖关系来决策部署顺序,其过程包括:RM平台根据医院项目所需部署的产品范围,分析产品范围内各种产品的依赖,对零依赖的产品最先部署,随后按照依赖链顺序逐项部署,直至依赖链末端,生成依赖关系图,形成部署工作流。
[0012]于本申请的第一方面的一些实施例中,RM平台基于人工干预调节来决策部署顺序,其过程包括:RM平台先根据依赖关系生成部署工作流,随后响应于用户操作而相应地动态调整部署工作流的部署顺序。
[0013]需说明的是,RM平台通过设置部署前置动作、部署后置动作、及是否可手工确认部署动作,动态调整部署行为,部署工作流顺序,在RM平台一旦确认即不可更改。
[0014]于本申请的第一方面的一些实施例中,SM平台执行部署工作流以进行一键部署至K8S集群中,其过程包括:在完成项目包的上传后,基于所述项目包中的元数据文件生成对应的项目部署工作流实例,将所述项目部署工作流实例的初始状态设定为待启动;执行各项前置检测并引导用户进入该项目包的一键部署工作流有向无环图页面;将所述项目部署工作流实例的的状态更改为执行中,并按照所述有向无环图执行各应用节点的部署编排工作;在执行所述有向无环图中的每项应用节点时生成对应的应用节点实例,且将所述应用节点实例关联于所述项目部署工作流实例;在所有的应用节点都完成执行,且符合项目部署工作流实例的执行成功条件时,将所述项目部署工作流实例的的状态更改为执行成功。
[0015]为实现上述目的及其他相关目的,本申请的第二方面提供一种应用部署包的打包系统,包括:元数据制作模块,用于制作医疗机构产品关联的一或多个应用部署包的元数据并引入输出变量;版本管理模块,用于对所述医疗机构产品关联的一或多个应用部署包进行版本管理;项目包打包模块,用于决策部署顺序以生成部署工作流,并在将所述部署工作流进行序列化后注入所述元数据中形成元数据文件,将所述医疗机构产品关联的应用部署包及所述元数据文件打包成项目包。
[0016]为实现上述目的及其他相关目的,本申请的第三方面提供一种应用部署包的部署系统,包括:上传模块,用于上传项目包;部署模块,用于执行部署工作流以进行一键部署至K8S集群中;其中,所述部署工作流由RM平台决策部署顺序后生成;所述项目包由RM平台将医疗机构产品关联的应用部署包及元数据文件打包而成。
[0017]为实现上述目的及其他相关目的,本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述适用于离线环境的
一键部署方法。
[0018]如上所述,本申请的适用于离线环境的一键部署方法、系统及存储介质,具有以下有益效果:本专利技术将完整产品功能体系涉及到的所有应用部署包,跨应用边界自动编排部署到k8s集群中,本专利技术能够有效的减少医院现场实施人员的出错率,提升部署效率,因此很好地适应于医院现场高质量、高效率、低成本交付的部署方案。
附图说明
[0019]图1显示为本申请一实施例中一种适用于离线环境的一键部署方法的流程示意图。
[0020]图2显示为本申请一实施例中有向无环图的结构示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用于离线环境的一键部署方法,其特征在于,包括:RM平台制作医疗机构产品关联的一或多个应用部署包的元数据并引入输出变量;对于有依赖关系的应用,被依赖方引入所述输出变量供依赖方引用,以在被依赖方部署完成后使其终端应用节点自动填充至所述依赖方的配置变量中;RM平台对所述医疗机构产品关联的一或多个应用部署包进行版本管理;RM平台决策部署顺序以生成部署工作流,并在将所述部署工作流进行序列化后注入所述元数据中形成元数据文件,将所述医疗机构产品关联的应用部署包及所述元数据文件打包成项目包;SM平台上传所述项目包,并执行部署工作流以进行一键部署至K8S集群中。2.根据权利要求1所述适用于离线环境的一键部署方法,其特征在于,所述引入输出变量的过程包括:通过使用所述RM平台的部署包制作构建功能,声明所述应用部署包中的模板服务所需输出的参数配置键,且所述参数配置键(key)具有全局唯一性及不可改动性;在构建部署包时,将除了RM平台自行统一管理之外的参数配置键注入到所述元数据中,供SM平台解析使用。3.根据权利要求2所述适用于离线环境的一键部署方法,其特征在于:对于只能在实施现场确定的现场配置,由SM平台统一声明所述现场配置,且所述现场配置具有全局唯一性及不可改动性;RM平台通过拉取这些现场配置将其同步到RM平台进行管理,以便输入配置根据需要引用这些现场配置;对于不依赖应用边界配置的输入配置,将配置的值定义为适应现场的默认值。4.根据权利要求1所述适用于离线环境的一键部署方法,其特征在于,所述RM平台对所述医疗机构产品关联的应用部署包进行版本管理,其包括:明确该医疗机构产品的依赖项及其依赖项的版本范围,再进行版本发布的动作;若所述医疗机构产品的依赖项为特定版本,则声明指定的版本号依赖;若所述医疗机构产品的依赖项为某个版本范围,则声明其依赖的版本为某个版本区间。5.根据权利要求1所述适用于离线环境的一键部署方法,其特征在于,所述RM平台对所述医疗机构产品关联的应用部署包进行版本管理,还包括:根据所述医疗机构产品的依赖关系生成对应的产品拓扑结构及部署顺序,并据此生成对应的有向无环图,供SM平台解析该元数据后按所述部署顺序编排该有向无环图中各节点上的应用,以完成整个项目的交付落地。6.根据权利要求1所述适用于离线环境的一键部...

【专利技术属性】
技术研发人员:张少典马汉东陈红莉朱珉薛颜波
申请(专利权)人:上海森亿医疗科技有限公司
类型:发明
国别省市:

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

1