[发明专利]一种应用程序安装方法、装置、设备和介质在审
申请号: | 202011561686.3 | 申请日: | 2020-12-25 |
公开(公告)号: | CN112596747A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 王煜;张浩;白雪珂;王杰斌;张皓;李瑞祥 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/71 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 赵小霞 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 安装 方法 装置 设备 介质 | ||
本发明公开了一种应用程序安装方法、装置、设备和介质,由于该方法中预先保存有每种配置资源、以及组件与配置资源之间的引用关系,从而在对每个目标组件进行组件定义时根据预先保存的每个目标组件引用的目标配置资源,对每个目标组件中的设定参数赋值完成组件定义,减少了生成配置资源的次数,减少了资源的浪费。
技术领域
本发明涉及微服务技术和容器技术领域,尤其涉及一种应用程序安装方法、装置、设备和介质。
背景技术
微服务技术作为一项新兴技术已成为当下最新的热门话题,其架构和概念已被广泛地应用于大型业务集群。
在传统的单体式架构的应用中,在开发、测试、交付、部署等都是针对单个组件,而在云时代,由于微服务技术和容器技术在敏捷性、可移植性等方面的巨大优势,使得微服务技术和容器技术应用更加频繁,但在微服务技术和容器技术中,将单体式的架构拆分成越来越多细小的服务,运行在各自的容器中,会导致出现每个容器之间的依赖管理、服务发现、资源管理、高可用等问题。
容器编排平台(Kubernetes)有非常丰富的原始应用程序接口(ApplicationProgramming Interface,API)来支持容器编排,但是对于用户来说,由于一个应用程序的编排包含多容器和服务的组合,如何管理它们之间的依赖关系、以及如何管理存储变得极其重要。
应用程序安装器(Helm)是一个命令行下的客户端工具,主要用于容器编排平台(Kubernetes)的应用程序的创建、打包、发布以及创建和管理本地和远程的应用程序仓库从而管理和打包应用程序,具体可以在安装应用的时候自定义应用程序的一些元数据(Metadata),以便于应用程序的分发;通过Helm打包和管理应用程序依赖关系、管理应用程序版本并发布应用程序到软件仓库;不用需要编写复杂的应用安装文件,可以以简单的方式在Kubernetes上查找、安装、升级、回滚、卸载应用程序。
现有技术中在使用Kubernetes的Helm进行应用程序的编排时,具体在安装应用程序时,通过生成配置资源来添加一些自定义变量,但由于在安装应用程序时需要定义多个组件来描述应用程序的不同安装需求,因此导致在定义每个组件均需要重新生成配置资源,而不同组件之间会使用相同的配置资源,即便使用的是相同的配置资源时仍要重新生成一次,从而导致了资源的浪费。
发明内容
本发明实施例提供了一种应用程序安装方法、装置、设备和介质,用以解决现有技术中资源浪费的问题。
本发明实施例提供了一种应用程序安装方法,所述方法包括:
针对每个目标组件,根据预先保存的每种配置资源、以及组件与配置资源之间的引用关系,确定该目标组件引用的目标配置资源;
根据每个目标组件引用的目标配置资源,对每个目标组件中的设定参数赋值完成组件定义,并控制应用程序开始安装。
进一步地,所述对每个目标组件中的设定参数赋值完成组件定义之后,所述控制应用程序开始安装之前,所述方法还包括:
针对每个目标组件,根据预先保存的组件之间的依赖关系顺序,确定该目标组件依赖的每个目标依赖组件以及依赖顺序;按照所述依赖顺序对所述每个目标依赖组件进行校验,确定所述每个目标依赖组件均同步成功,则控制该目标组件开始同步。
进一步地,所述控制应用程序开始安装之前,所述方法还包括:
针对应用程序的每种安装资源,判断该种安装资源是否存在;
若是,则根据预先保存的每种安装资源的资源描述信息,更新该种安装资源;
若否,则建立该种安装资源。
进一步地,所述更新该种安装资源之前,所述方法还包括:
判断该种安装资源的状态是否为使用状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011561686.3/2.html,转载请声明来源钻瓜专利网。