一种云原生应用的上线方法技术

技术编号:36691344 阅读:19 留言:0更新日期:2023-02-27 19:59
本发明专利技术涉及云服务部署技术领域,提供一种云原生应用的上线方法,包括:通过中间件管控服务向产品中心注册中间件实例服务信息;将云原生应用对应的安装文件上传至产品中心,填写中间件实例部署信息;通过产品中心根据中间件实例部署信息并行调用中间件管控服务执行中间件实例的孵化和配置;通过产品中心根据孵化和配置成功的中间件实例将安装文件安装至对应的命名空间,生成云原生应用。根据本发明专利技术示例性实施例的一种云原生应用的上线方法,可以降低云原生应用的上线难度,优化中间件实例资源的利用率,提升云原生应用上线的效率。提升云原生应用上线的效率。提升云原生应用上线的效率。

【技术实现步骤摘要】
一种云原生应用的上线方法


[0001]本专利技术涉及云服务部署
,尤其涉及一种云原生应用的上线方法。

技术介绍

[0002]在云原生应用上线的场景下,一个完整的、能对外提供服务的云原生应用包括云原生应用服务自身以及云原生应用服务所需要使用的各种中间件实例。中间件实例需要在云原生应用上线之前孵化完毕并能正常对外提供服务,特别的,有些中间件实例在孵化完毕后需要进行一些额外的配置才能正常为云原生应用提供服务。
[0003]在实际应用中,云原生应用所需要使用的中间件实例的一些信息在中间件实例正常对外提供服务之前是无法获得的。针对该问题,当前主要有两种解决方案,一种是将中间件实例封装到云原生应用之中,这种方案会提升云原生应用自身的耦合性,从而提升部署难度,降低可观测性,延长部署时间;第二种是分步骤地执行中间件实例的孵化、中间件实例的后续配置以及为云原生应用配置中间件实例信息执行上线,对于云原生应用上线来说,这种方案使得云原生应用不仅仅需要执行自身服务的部署,还需要执行定制化的中间件实例的部署以及配置,而且对于某些云原生应用来说,它可以使用已经被孵化出来的实例,通过人工去执行中间件实例的孵化和配置,或者为云原生应用配置其他可被共享的中间件实例,流程步骤复杂,降低了上线的效率以及提升了业务的复杂性。
[0004]因此,如何在云原生应用上线前,自动为其孵化依赖的中间件实例,以及提升中间件实例的利用率,成为亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,为了克服现有技术的不足,本专利技术提供一种云原生应用的上线方法。
[0006]一方面,本专利技术提供一种云原生应用的上线方法,包括:
[0007]步骤S1:通过中间件管控服务向产品中心注册中间件实例服务信息;
[0008]步骤S2:将云原生应用对应的安装文件上传至产品中心,填写中间件实例部署信息;
[0009]步骤S3:通过产品中心根据中间件实例部署信息并行调用中间件管控服务执行中间件实例的孵化和配置;
[0010]步骤S4:通过产品中心根据孵化和配置成功的中间件实例将安装文件安装至对应的命名空间,生成云原生应用。
[0011]进一步地,本专利技术云原生应用的上线方法的步骤S1,包括:通过中间件管控服务在启动时调用产品中心对外提供的接口,向产品中心注册中间件实例类型、中间件实例配置方式以及中间件实例孵化参数,并通过产品中心进行持久化存储和展示。
[0012]进一步地,本专利技术云原生应用的上线方法的步骤S2,包括:将云原生应用对应的安装文件上传至产品中心,在产品中心的页面上选择所述云原生应用对应的中间件实例类型,根据中间件实例类型填写中间件实例部署信息,所述中间件实例部署信息包括名称、亲
和性、共享属性、中间件实例孵化参数以及中间件实例配置参数。
[0013]进一步地,本专利技术云原生应用的上线方法的步骤S3,包括:
[0014]步骤S31:通过产品中心生成一条用于记录和展示当前云原生应用上线状态的上线任务并持久化存储;
[0015]步骤S32:通过产品中心为云原生应用创建对应的命名空间;
[0016]步骤S33:通过产品中心根据云原生应用的中间件实例部署信息,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的孵化;
[0017]步骤S34:通过产品中心根据中间件实例配置参数和中间件实例配置方式,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的配置。
[0018]进一步地,本专利技术云原生应用的上线方法的步骤S33中,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的孵化,包括:
[0019]根据中间件实例部署信息中的共享属性为中间件实例选择对应的孵化命名空间,当共享属性为共享实例时,将中间件管控服务所在的命名空间作为孵化中间件实例的命名空间;当共享属性为非共享实例,将云原生应用所在命名空间作为孵化中间件实例的命名空间;
[0020]检查孵化中间件实例的命名空间中是否已经存在所述中间件实例,如果不存在所述中间件实例,根据中间件实例部署信息中的名称、亲和性以及中间件实例孵化参数渲染中间件实例资源文件,执行中间件实例孵化;如果存在所述中间件实例,判断已经存在的中间件实例的中间件实例孵化参数是否与中间件实例部署信息中的中间件实例孵化参数一致,当不一致时,根据中间件实例部署信息中的中间件实例孵化参数对所述中间件实例执行升级。
[0021]进一步地,本专利技术云原生应用的上线方法的步骤S33中,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的孵化,还包括:
[0022]通过产品中心调用中间件管控服务检查中间件实例的孵化状态,当中间件实例的孵化超过预设时长,将上线任务的状态修改为中间件实例孵化失败,持久化存储后通过页面进行展示;
[0023]当中间件实例孵化成功后,产品中心调用中间件管控服务获得中间件实例的连接方式并持久化存储,当所有中间件实例孵化成功,将上线任务的状态修改为中间件实例孵化成功,持久化存储后通过页面进行展示。
[0024]进一步地,本专利技术云原生应用的上线方法的步骤S34中的中间件实例配置方式以json对象数组定义,数组中的每个json对象包括配置步骤编号、调用接口地址以及调用接口参数。
[0025]进一步地,本专利技术云原生应用的上线方法的步骤S34包括:当中间件实例孵化成功后,通过产品中心根据配置步骤编号和调用接口参数依次与中间件实例配置参数中对应的参数进行匹配,为调用接口参数赋值,携带赋值后的调用接口参数调用对应的调用接口地址执行中间件实例的配置。
[0026]进一步地,本专利技术云原生应用的上线方法的步骤S4,包括:通过产品中心根据中间件实例部署信息中的名称匹配持久化存储中的中间件实例的连接方式,将匹配的中间件实例的连接方式作为安装文件的安装参数,将安装文件安装至云原生应用对应的命名空间,
生成对应的云原生应用。
[0027]进一步地,本专利技术云原生应用的上线方法的步骤S4,还包括:通过产品中心循环检查云原生应用的运行状态,当达到预设时长后命名空间中的云原生应用未完全就绪,中断上线流程,将上线任务的状态修改为上线失败,持久化存储后通过页面进行展示;当命名空间中全部云原生应用的状态都为运行中,将上线任务的状态修改为上线成功,持久化存储后通过页面进行展示。
[0028]本专利技术云原生应用的上线方法,具有以下有益效果:
[0029]1.通过产品中心调用中间件管控服务自动的孵化中间件实例以及对孵化的中间件实例进行配置的方式,优化了云原生应用上线的流程,使得云原生应用部署只需要关注自身的安装文件以及流程,无需执行中间件实例的孵化以及配置。
[0030]2.产品中心通过中间件管控服务为云原生应用之间配置共享中间件实例,优化中间件实例资源的利用率。
[0031]3.可以提升云原生应用上线的效率。
附图说明
[0032]为了更清楚地说明本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云原生应用的上线方法,其特征在于,所述方法,包括:步骤S1:通过中间件管控服务向产品中心注册中间件实例服务信息;步骤S2:将云原生应用对应的安装文件上传至产品中心,填写中间件实例部署信息;步骤S3:通过产品中心根据中间件实例部署信息并行调用中间件管控服务执行中间件实例的孵化和配置;步骤S4:通过产品中心根据孵化和配置成功的中间件实例将安装文件安装至对应的命名空间,生成云原生应用。2.根据权利要求1所述的云原生应用的上线方法,其特征在于,步骤S1,包括:通过中间件管控服务在启动时调用产品中心对外提供的接口,向产品中心注册中间件实例类型、中间件实例配置方式以及中间件实例孵化参数,并通过产品中心进行持久化存储和展示。3.根据权利要求1所述的云原生应用的上线方法,其特征在于,步骤S2,包括:将云原生应用对应的安装文件上传至产品中心,在产品中心的页面上选择所述云原生应用对应的中间件实例类型,根据中间件实例类型填写中间件实例部署信息,所述中间件实例部署信息包括名称、亲和性、共享属性、中间件实例孵化参数以及中间件实例配置参数。4.根据权利要求1所述的云原生应用的上线方法,其特征在于,步骤S3,包括:步骤S31:通过产品中心生成一条用于记录和展示当前云原生应用上线状态的上线任务并持久化存储;步骤S32:通过产品中心为云原生应用创建对应的命名空间;步骤S33:通过产品中心根据云原生应用的中间件实例部署信息,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的孵化;步骤S34:通过产品中心根据中间件实例配置参数和中间件实例配置方式,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的配置。5.根据权利要求4所述的云原生应用的上线方法,其特征在于,步骤S33中,并行调用中间件实例类型对应的中间件管控服务执行中间件实例的孵化,包括:根据中间件实例部署信息中的共享属性为中间件实例选择对应的孵化命名空间,当共享属性为共享实例时,将中间件管控服务所在的命名空间作为孵化中间件实例的命名空间;当共享属性为非共享实例,将云原生应用所在命名空间作为孵化中间件实例的命名空间;检查孵化中间件实例的命名空间中是否已经存在所述中间件实例,如果不存在所述中间件实例,根据中间件实例部署...

【专利技术属性】
技术研发人员:姚远鸣焦文辉逯本帅李学峰
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

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

1