CN113094151A - 一种基于Helm的微服务应用部署系统及方法 - Google Patents
一种基于Helm的微服务应用部署系统及方法 Download PDFInfo
- Publication number
- CN113094151A CN113094151A CN202110442693.XA CN202110442693A CN113094151A CN 113094151 A CN113094151 A CN 113094151A CN 202110442693 A CN202110442693 A CN 202110442693A CN 113094151 A CN113094151 A CN 113094151A
- Authority
- CN
- China
- Prior art keywords
- file
- deployment
- micro
- information
- helm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 241000380131 Ammophila arenaria Species 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及微服务部署技术领域,公开了一种基于Helm的微服务应用部署系统及方法,本系统包括:微服务应用定义模块:用于配置并定义预设应用部署文件的目录结构信息;传输模块:用于将定义后的预设应用部署文件上传至后台服务器并进行存储;解析模块:用于按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块。本系统通过预配置资源文件对Kubernetes的微服务应用进行管理,通过定义一种微服务应用部署文件用于系统部署,并且增加Web管理界面,提升了微服务应用进行管理的交互性和便捷性。
Description
技术领域
本发明涉及微服务部署技术领域,尤其涉及一种基于Helm的微服务应用部署系统及方法。
背景技术
随着互联网业务的不断发展,随之而来的用户量增长、系统数量增多以及调用依赖关系更加复杂化,系统架构从单体时代迁移到了服务SOA时代。微服务即是SOA下的产物,这种架构提倡将应用程序划分成一组小的服务,每个服务独立地运行在自己的进程中,服务之间采用轻量级的通信机制互相沟通,每个服务都围绕着具体的业务进行构建。随着微服务的流行与发展,容器技术也相应得被重视起来。容器包含了完整的运行时环境:除了应用程序本身之外,这个应用所需的全部依赖、类库、其他二进制文件和配置文件等,都统一被打入了一个称为容器镜像的包中。通过将应用程序本身和其依赖容器化,抽象化了操作系统发行版本和其他基础环境造成的差异。
随着互联网技术的发展,微服务应用被大量使用中,其中支持容器化的Docker和管理容器化应用的Kubernetes平台大量被使用。微服务应用使用Docker技术,依赖容器化技术运行,而其运行状况由Kubernetes组件进行管理维护。但是由于微服务应用的运行依赖Docker,需要预先提供微服务应用的用于Docker的容器镜像,且Helm组件不提供操作界面,相关的部署操作需要输入命令执行,可读性很差,对操作人员的工作效率造成影响。
发明内容
针对上述现有技术的现状,本发明所要解决的技术问题在于提供一种基于Helm的微服务应用部署系统及方法,通过定义一种微服务应用部署文件用于系统部署,并且增加Web管理界面,提升了微服务应用进行管理的交互性和便捷性。
本发明一种基于Helm的微服务应用部署系统及方法,具体的包括以下技术方案:
一种基于Helm的微服务应用部署系统,包括:
微服务应用定义模块:用于配置并定义预设应用部署文件的目录结构信息;
传输模块:用于将定义后的预设应用部署文件上传至后台服务器并进行存储;
解析模块:用于按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块;
部署模块:用于获取解析后的预设应用部署文件,并将该预设应用部署文件进行部署得到部署微服务应用信息;
运行模块:用于将部署微服务应用信息部署到Kubernetes管理的Docker环境中运行;
存储模块:用于存储部署微服务应用信息并上传至后台服务器的信息存储数据库中。
进一步地,所述预设应用部署文件包括信息描述文件、Docker镜像文件和Helm资源描述文件。
进一步地,所述部署模块包括:获取单元:用于获取解析后的所述信息描述文件、所述Docker镜像文件和所述Helm资源描述文件;加载单元:用于将所述Docker镜像文件进行加载,并写入Docker组件的镜像数据库中;调用执行单元:用于调用Helm组件执行所述Helm资源描述文件。
进一步地,所述存储模块之后包括:
显示管理模块:用于获取后台服务器的信息存储数据库中的所述部署微服务应用信息,并将该部署微服务应用信息显示在用户端。
一种基于Helm的微服务应用部署方法,包括步骤:
S1:配置并定义预设应用部署文件的目录结构信息;
S2:将定义后的预设应用部署文件上传至后台服务器并进行存储;
S3:按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块;
S4:获取解析后的预设应用部署文件,并将该预设应用部署文件进行部署得到部署微服务应用信息;
S5:将部署微服务应用信息部署到Kubernetes管理的Docker环境中运行;
S6:存储部署微服务应用信息并上传至后台服务器的信息存储数据库中。
进一步地,所述步骤S4包括:
S41:获取解析后的所述信息描述文件、所述Docker镜像文件和所述Helm资源描述文件;
S42:将所述Docker镜像文件进行加载,并写入Docker组件的镜像数据库中;
S43:调用Helm组件执行所述Helm资源描述文件。
进一步地,所述步骤S6之后包括:S7:获取后台服务器的信息存储数据库中的所述部署微服务应用信息,并将该部署微服务应用信息显示在用户端。
本发明采用上述技术方案包括以下有益效果:
本发明通过预配置资源文件对Kubernetes的微服务应用进行管理,通过定义一种微服务应用部署文件用于系统部署,并且增加Web管理界面,提升了微服务应用进行管理的交互性和便捷性。
附图说明
图1为本发明实施例一提供的一种基于Helm的微服务应用部署系统的结构框图一;
图2为本发明实施例一提供的一种基于Helm的微服务应用部署系统的结构框图二;
图3为本发明实施例二提供的一种基于Helm的微服务应用部署方法流程图一;
图4为本发明实施例二提供的一种基于Helm的微服务应用部署方法流程图二;
图5为本发明实施例一提供的一种基于Helm的微服务应用部署系统的微服务应用部署文件的结构框图;
图6为本发明实施例一提供的一种基于Helm的微服务应用部署系统的结构框图三。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
实施例一
本实施例提供了一种基于Helm的微服务应用部署系统,如图1和图2所示,本系统包括:微服务应用定义模块:用于配置并定义预设应用部署文件的目录结构信息;传输模块:用于将定义后的预设应用部署文件上传至后台服务器并进行存储;解析模块:用于按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块;部署模块:用于获取解析后的预设应用部署文件,并将该预设应用部署文件进行部署得到部署微服务应用信息;运行模块:用于将部署微服务应用信息部署到Kubernetes管理的Docker环境中运行;存储模块:用于存储部署微服务应用信息并上传至后台服务器的信息存储数据库中。
具体的,所述微服务应用部署文件定义,在于定义了部署文件的目录结构以及目录中文件的用途,包括但不限于部署包的微服务应用相关信息描述文件、微服务的Docker镜像文件、Helm规定的资源描述文件。
具体的,根据微服务应用定义模块,对待部署的文件进行解析,解析后供部署模块用于部署微服务。
具体的,根据Helm组件,对解析后的资源文件进行执行,将微服务应用实际部署运行;信息存储数据库,用于记录部署的微服务应用信息。
其中,预设应用部署文件包括信息描述文件、Docker镜像文件和Helm资源描述文件。
参阅图5,预设应用部署文件中分为三个主要文件构成:应用描述文件、Helm资源文件、镜像文件目录存储应用的Docker镜像文件。部署文件定义中,应用描述文件用于描述部署文件所对应的微服务应用的信息,如微服务应用名称、微服务应用描述、微服务应用版本等信息。Helm资源文件,是按照Helm组件规范,对使用Kubernetes部署Docker容器化的微服务应用时,需要使用的资源进行定义描述,包括的信息如微服务应用在Kubernetes中的运行容器实例数、占用的网络端口值等信息。镜像文件目录中存储的Docker镜像文件,是微服务应用在Docker容器中运行的实例来源。
其中,部署模块包括:获取单元:用于获取解析后的信息描述文件、Docker镜像文件和Helm资源描述文件;加载单元:用于将Docker镜像文件进行加载,并写入Docker组件的镜像数据库中;调用执行单元:用于调用Helm组件执行Helm资源描述文件。
其中,存储模块之后包括:显示管理模块:用于获取后台服务器的信息存储数据库中的部署微服务应用信息,并将该部署微服务应用信息显示在用户端。
参阅图6,按照微服务应用部署文件定义,配置应用描述文件,并按照微服务应用设计使用资源的情况,按照Helm资源文件规范制作Helm资源文件,然后将微服务应用编译后制作为Docker镜像文件,将上述文件共同制作为微服务应用部署文件。
在Web管理界面上传上述微服务应用部署文件,系统将部署文件存放在系统的硬盘中。在Web界面中,选择已上传的上述部署文件,选择部署操作。
系统的解析模块,从系统硬盘中读取部上述部署文件,按照微服务应用部署文件定义,将部署文件中的应用描述文件、Helm资源文件、Docker镜像文件读取后,传入部署模块。
系统的部署模块,将解析后的信息描述文件、Docker镜像文件和Helm资源描述文件获取后,将Docker镜像文件加载,写入系统依赖的Docker组件的镜像仓库中,再调用Helm组件执行Helm资源文件,对应用描述文件中的微服务应用进行部署,成功后将其部署到Kubernetes管理的Docker环境中运行。
部署成功后,部署模块在信息存储数据库记录部署的微服务应用相关信息;Web管理界面中读取信息存储数据库记录的部署微服务应用信息,展示在界面上,用户可以对这些微服务执行更多的操作,如停用、卸载等。
本系统通过预配置资源文件对Kubernetes的微服务应用进行管理,通过定义一种微服务应用部署文件用于系统部署,并且增加Web管理界面,提升了微服务应用进行管理的交互性和便捷性。
实施例二
本实施例提供了一种基于Helm的微服务应用部署方法,如图3和图4所示,本方法包括步骤:S1:配置并定义预设应用部署文件的目录结构信息;S2:将定义后的预设应用部署文件上传至后台服务器并进行存储;S3:按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块;S4:获取解析后的预设应用部署文件,并将该预设应用部署文件进行部署得到部署微服务应用信息;S5:将部署微服务应用信息部署到Kubernetes管理的Docker环境中运行;S6:存储部署微服务应用信息并上传至后台服务器的信息存储数据库中。
具体的,部署文件定义中,应用描述文件用于描述部署文件所对应的微服务应用的信息,如微服务应用名称、微服务应用描述、微服务应用版本等信息。Helm资源文件,是按照Helm组件规范,对使用Kubernetes部署Docker容器化的微服务应用时,需要使用的资源进行定义描述,包括的信息如微服务应用在Kubernetes中的运行容器实例数、占用的网络端口值等信息。镜像文件目录中存储的Docker镜像文件,是微服务应用在Docker容器中运行的实例来源。
其中,步骤S4包括:S41:获取解析后的信息描述文件、Docker镜像文件和Helm资源描述文件;S42:将Docker镜像文件进行加载,并写入Docker组件的镜像数据库中;S43:调用Helm组件执行Helm资源描述文件。
其中,步骤S6之后包括:S7:获取后台服务器的信息存储数据库中的部署微服务应用信息,并将该部署微服务应用信息显示在用户端。
本方法通过预配置资源文件对Kubernetes的微服务应用进行管理,通过定义一种微服务应用部署文件用于系统部署,并且增加Web管理界面,提升了微服务应用进行管理的交互性和便捷性。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (7)
1.一种基于Helm的微服务应用部署系统,其特征在于,包括:
微服务应用定义模块:用于配置并定义预设应用部署文件的目录结构信息;
传输模块:用于将定义后的预设应用部署文件上传至后台服务器并进行存储;
解析模块:用于按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块;
部署模块:用于获取解析后的预设应用部署文件,并将该预设应用部署文件进行部署得到部署微服务应用信息;
运行模块:用于将部署微服务应用信息部署到Kubernetes管理的Docker环境中运行;
存储模块:用于存储部署微服务应用信息并上传至后台服务器的信息存储数据库中。
2.根据权利要求1所述的基于Helm的微服务应用部署系统,其特征在于,所述预设应用部署文件包括信息描述文件、Docker镜像文件和Helm资源描述文件。
3.根据权利要求2所述的基于Helm的微服务应用部署系统,其特征在于,所述部署模块包括:
获取单元:用于获取解析后的所述信息描述文件、所述Docker镜像文件和所述Helm资源描述文件;
加载单元:用于将所述Docker镜像文件进行加载,并写入Docker组件的镜像数据库中;
调用执行单元:用于调用Helm组件执行所述Helm资源描述文件。
4.根据权利要求1所述的基于Helm的微服务应用部署系统,其特征在于,所述存储模块之后包括:
显示管理模块:用于获取后台服务器的信息存储数据库中的所述部署微服务应用信息,并将该部署微服务应用信息显示在用户端。
5.一种基于Helm的微服务应用部署方法,其特征在于,包括步骤:
S1:配置并定义预设应用部署文件的目录结构信息;
S2:将定义后的预设应用部署文件上传至后台服务器并进行存储;
S3:按照预设要求提取并解析上传至后台服务器的预设应用部署文件,将解析后的预设应用部署文件上传至部署模块;
S4:获取解析后的预设应用部署文件,并将该预设应用部署文件进行部署得到部署微服务应用信息;
S5:将部署微服务应用信息部署到Kubernetes管理的Docker环境中运行;
S6:存储部署微服务应用信息并上传至后台服务器的信息存储数据库中。
6.根据权利要求5所述的基于Helm的微服务应用部署方法,其特征在于,所述步骤S4包括:
S41:获取解析后的所述信息描述文件、所述Docker镜像文件和所述Helm资源描述文件;
S42:将所述Docker镜像文件进行加载,并写入Docker组件的镜像数据库中;
S43:调用Helm组件执行所述Helm资源描述文件。
7.根据权利要求5所述的基于Helm的微服务应用部署方法,其特征在于,所述步骤S6之后包括:
S7:获取后台服务器的信息存储数据库中的所述部署微服务应用信息,并将该部署微服务应用信息显示在用户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442693.XA CN113094151A (zh) | 2021-04-23 | 2021-04-23 | 一种基于Helm的微服务应用部署系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442693.XA CN113094151A (zh) | 2021-04-23 | 2021-04-23 | 一种基于Helm的微服务应用部署系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113094151A true CN113094151A (zh) | 2021-07-09 |
Family
ID=76679815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110442693.XA Pending CN113094151A (zh) | 2021-04-23 | 2021-04-23 | 一种基于Helm的微服务应用部署系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094151A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981351A (zh) * | 2019-03-06 | 2019-07-05 | 浪潮通用软件有限公司 | 一种私有云部署方法 |
CN110502577A (zh) * | 2019-08-15 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种云管理平台部署容器应用的方法、设备和介质 |
CN111090437A (zh) * | 2019-11-19 | 2020-05-01 | 平安科技(深圳)有限公司 | 应用部署方法、装置及计算机可读存储介质 |
US20200228402A1 (en) * | 2019-01-15 | 2020-07-16 | Affirmed Networks, Inc. | Dynamic auto-configuration of multi-tenant paas components |
US20200349126A1 (en) * | 2019-04-30 | 2020-11-05 | JFrog. Ltd. | Data file partition and replication |
-
2021
- 2021-04-23 CN CN202110442693.XA patent/CN113094151A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200228402A1 (en) * | 2019-01-15 | 2020-07-16 | Affirmed Networks, Inc. | Dynamic auto-configuration of multi-tenant paas components |
CN109981351A (zh) * | 2019-03-06 | 2019-07-05 | 浪潮通用软件有限公司 | 一种私有云部署方法 |
US20200349126A1 (en) * | 2019-04-30 | 2020-11-05 | JFrog. Ltd. | Data file partition and replication |
CN110502577A (zh) * | 2019-08-15 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种云管理平台部署容器应用的方法、设备和介质 |
CN111090437A (zh) * | 2019-11-19 | 2020-05-01 | 平安科技(深圳)有限公司 | 应用部署方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7926030B1 (en) | Configurable software application | |
US8046779B2 (en) | Dynamic resolution of dependent components | |
CN106569783B (zh) | 一种执行任务脚本的方法和装置 | |
US20200409665A1 (en) | Systems and Methods for Seamlessly Integrating Multiple Products by Using a Common Visual Modeler | |
CN110912724A (zh) | 一种基于参数驱动的自动业务编排方法及装置 | |
CN111459539B (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
CN112311605B (zh) | 提供机器学习服务的云平台及方法 | |
CN116088818A (zh) | 将机器人过程自动化机器人动态绑定到资源的系统和方法 | |
CN114610334A (zh) | 产品可视化部署方法、装置、系统及存储介质 | |
US20110231837A1 (en) | Virtual application package reconstitution | |
EP2810179B1 (en) | Method and system for implementing a common data interface to web services | |
CN113094151A (zh) | 一种基于Helm的微服务应用部署系统及方法 | |
CN116893807A (zh) | 使用浏览器设计机器人流程自动化机器人的系统和方法 | |
CN114860401A (zh) | 异构云桌面调度系统、方法、服务系统、装置及介质 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN114816418A (zh) | 一种嵌入式操作系统的搭建方法、装置、设备和介质 | |
CN114064213B (zh) | 基于Kubernets容器环境的快速编排服务方法及系统 | |
US20220091908A1 (en) | Filter instantiation for process graphs of rpa workflows | |
Richards | Linux Thin Client Networks Design and Deployment | |
CN117971782A (zh) | 一种镜像管理方法及服务器 | |
TWI609272B (zh) | 終端裝置及其終端作業系統與雲端裝置及其雲端作業系統 | |
WO2023096504A1 (en) | Reconfigurable declarative generation of business data systems from a business ontology, instance data, annotations and taxonomy | |
CN114003343A (zh) | 云原生应用构建方法、装置及计算机设备 | |
CN115756739A (zh) | 容器应用部署方法及装置、存储介质、计算机设备 | |
CN116382719A (zh) | 插件处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210709 |
|
RJ01 | Rejection of invention patent application after publication |