CN117290048A - 一种基于容器的工业app全生命周期管理方法 - Google Patents

一种基于容器的工业app全生命周期管理方法 Download PDF

Info

Publication number
CN117290048A
CN117290048A CN202211434772.7A CN202211434772A CN117290048A CN 117290048 A CN117290048 A CN 117290048A CN 202211434772 A CN202211434772 A CN 202211434772A CN 117290048 A CN117290048 A CN 117290048A
Authority
CN
China
Prior art keywords
application
deployment
task
mirror image
template
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
Application number
CN202211434772.7A
Other languages
English (en)
Inventor
王小波
陈小龙
宗磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Supercomputer Technology Co ltd
Original Assignee
Shanghai Supercomputer Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Supercomputer Technology Co ltd filed Critical Shanghai Supercomputer Technology Co ltd
Priority to CN202211434772.7A priority Critical patent/CN117290048A/zh
Publication of CN117290048A publication Critical patent/CN117290048A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种基于容器的工业APP全生命周期管理方法,包括:通过多系统配置模块进行多系统信息维护,并配置各应用的运行系统的环境信息,以用于进行应用程序包上传;通过APP配置模块提供应用发布时的接入信息配置;通过任务模块监听部署任务消息,在接收到部署任务消息时,根据部署任务消息生成应用部署任务;通过执行模块根据应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎根据部署文件进行部署。

Description

一种基于容器的工业APP全生命周期管理方法
技术领域
本申请涉及应用管理技术领域,尤其涉及一种基于容器的工业APP(application,应用程序)全生命周期管理方法。
背景技术
当前工业互联网业态下,各种各样工业类系统或应用如雨后春笋般的涌现出来,而工业应用部署情况变得更加复杂多样,存在着一个系统包含多个应用场景,无法独立发布,用户无法独立订阅和使用模块级应用的情况,这就导致无法方便地进行应用的全生命周期管理。
随着容器技术的快速发展成熟,工业应用的部署使用迎来了技术升级。容器技术是一种轻量化软件打包技术,工业应用与容器技术结合使得应用的部署和推广变得越来越方便。
但是不同容器编排系统在使用时存在着较大差异性,对于应用发布者来说,应用的部署以及后续生命周期依然存在着较高复杂性。
发明内容
为至少在一定程度上克服相关技术中不同容器编排系统在使用时存在着较大差异性,应用的部署以及后续生命周期依然存在着较高复杂性的问题,本申请提供一种基于容器的工业APP全生命周期管理方法。
本申请的方案如下:
一种基于容器的工业APP全生命周期管理方法,包括:
通过多系统配置模块进行多系统信息维护,并配置各应用的运行系统的环境信息,以用于进行应用程序包上传;
通过APP配置模块提供应用发布时的接入信息配置;
通过任务模块监听部署任务消息,在接收到部署任务消息时,根据所述部署任务消息生成应用部署任务;
通过执行模块根据所述应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据所述应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据所述应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎对所述部署文件进行部署。
优选地,所述部署任务消息中至少包括:应用代码、应用版本、域名、端口、部署方式、应用特征信息和程序包存放路径。
优选地,所述方法还包括:
在本地镜像库中不存在相应的镜像文件时,获取程序包存放路径;
根据程序包存放路径,拷贝应用程序包至镜像制作目录后并解压;
根据应用特征信息及预设的模块匹配规则,选择相应的应用模板并生成制作容器镜像的脚本文件;
将所述脚本文件移动至应用程序包解压后的文件目录;
在应用程序包解压后的文件目录下构建镜像文件;
上传构建的镜像至所述本地镜像库。
优选地,所述根据所述应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件,包括:
根据应用代码和应用版本在预先建立的本地镜像库中检查是否存在相应的镜像文件。
优选地,所述应用模板库中至少包括:WEB类模板和非WEB类模板;
所述根据所述应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配,包括:
根据应用特征信息在预先建立的应用模板库中选择相应的应用模板进行匹配;所述应用特征信息至少包括:开发语言、是否WEB应用和启动/停止方式。
优选地,所述根据所述应用部署任务确定镜像部署方式,包括:
若部署方式为集群方式则确定镜像部署方式为K8S部署方式;
若部署方式为非集群方式则确定镜像部署方式为Compose独立部署部署方式;
所述根据确定的部署方式查询对应部署模板,生成部署文件,包括:
根据确定的部署方式查询对应部署模板,根据域名、端口以及镜像文件的标签、生成部署文件。
优选地,所述多系统配置模块还用于进行应用升级;
所述方法还包括:
通过任务模块监听升级任务消息,在接收到升级任务消息时,根据所述升级任务消息生成应用升级任务;所述升级任务消息中的应用代码继承应用对应部署任务消息中的应用代码,且应用版本自动加1;
通过执行模块根据所述应用升级任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据所述应用升级任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据所述应用升级任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎完成部署。
优选地,所述多系统配置模块还用于进行应用扩容/缩容;
所述方法还包括:
通过任务模块监听扩容/缩容任务消息,在接收到扩容/缩容任务消息时,读取扩容/缩容任务消息中的应用代码、应用版本和容器副本信息,生成扩容/缩容任务;
通过执行模块调用K8S副本控制器,集群监控各节点资源信息,对扩容/缩容任务对应的节点进行扩容/缩容;检查确认应用部署在线副本数量,并通知返回部署成功。
优选地,所述多系统配置模块还用于进行应用销毁;
所述方法还包括:
通过任务模块监听销毁任务消息,在接收到销毁任务消息时,获取销毁任务消息中的应用代码和应用版本,生成销毁任务;
通过执行模块判断是否存在容器实例,若存在容器实例则启动销毁执行器,判断应用部署方式;若应用为集群部署方式,则通过应用代码和应用版本查找到集群部署文件,执行集群销毁操作。若应用为非集群部署方式,则通过应用代码和应用版本查找独立部署文件,远程登陆部署节点,执行容器销毁操作。
本申请提供的技术方案可以包括以下有益效果:本申请中的基于容器的工业APP全生命周期管理方法,包括:通过多系统配置模块进行多系统信息维护,并配置各应用的运行系统的环境信息,以用于进行应用程序包上传;通过APP配置模块提供应用发布时的接入信息配置;通过任务模块监听部署任务消息,在接收到部署任务消息时,根据部署任务消息生成应用部署任务;通过执行模块根据应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎根据部署文件进行部署。本申请中的技术方案,预先建立了应用模板库,并在应用模板库中上传、发布应用模板。采用本申请中的技术方案进行部署时,应用发布者只需通过选择应用模板库中的对应的应用模板,发起部署任务消息,后续流程系统可以自行完成,本申请中的技术方案简化了因不同容器编排系统在使用时存在的差异性带来的复杂操作,统一了基于不同应用模板运行环境的应用发布,使得应用部署变得简单、易操作。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个实施例提供的一种基于容器的工业APP全生命周期管理方法的流程示意图;
图2是本申请一个实施例提供的一种基于容器的工业APP全生命周期管理架构的示意框图;
图3是本申请另一个实施例提供的一种基于容器的工业APP全生命周期管理方法的流程示意图;
图4是本申请又一个实施例提供的一种基于容器的工业APP全生命周期管理方法的流程示意图;
图5是本申请又一个实施例提供的一种基于容器的工业APP全生命周期管理方法的流程示意图。
附图标记:用户模块-101;应用模板库-102;多系统配置-201;APP配置-202;任务模块-203;执行模块-204。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
实施例一
图1是本实施例一个实施例提供的一种基于容器的工业APP全生命周期管理方法的流程示意图,参照图1,一种基于容器的工业APP全生命周期管理方法,包括:
S11:通过多系统配置模块进行多系统信息维护,并配置各应用的运行系统的环境信息,以用于进行应用程序包上传;
S12:通过APP配置模块提供应用发布时的接入信息配置;
S13:通过任务模块监听部署任务消息,在接收到部署任务消息时,根据部署任务消息生成应用部署任务;
S14:通过执行模块根据应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎对部署文件进行部署。
需要说明的是,本实施例中的基于容器的工业APP全生命周期管理方法,应用于应用管理技术领域,具体可以应用于应用的部署、升级、扩容/缩容、销毁等全生命周期管理过程中。
需要说明的是,本实施例中的基于容器的工业APP全生命周期管理方法通过如图2所示的基于容器的工业APP全生命周期管理架构实施。参照图2,基于容器的工业APP全生命周期管理架构包括:用户模块101、应用模板库102、多系统配置模块201、APP配置模块202、任务模块203和执行模块204多个模块。
其中,用户模块101主要提供给系统APP发布运维人员进行用户访问账号及权限管理功能。
应用模板库102用于上传、发布应用模板,该模板由各技术专家以及系统专家进行初始化设置。主要包含了:容器应用基础镜像初始化配置,K8S编排模板库,Compose编排模板库等。
多系统配置模块201提供系统信息维护、应用程序包上传、应用下线销毁,应用扩容,应用升级等功能。还用于配置各应用的运行系统的环境信息,包括:名称、访问域名,应用特征码,端口,图标,系统版本,程序包存放路径以及API(Application ProgramInterface,应用程序界面)信息。
APP配置模块202提供APP发布时的接入信息配置,包括:APP特征代码,权限信息,信息后缀码等。
任务模块203用于监听部署任务消息,在接收到部署任务消息时,根据部署任务消息生成应用部署任务。任务模块203主要负责监听消息(如部署任务消息、升级任务消息、扩容/缩容任务消息和销毁任务消息),一旦接收到消息,自动生成任务。支持实时任务和定时任务。实时任务主要满足应用部署影响面小,实时性高的需求,类似系统扩容,应用复制等部署任务。定时任务主要满足应用部署影响面广,消耗资源大,历时久的需求,类似系统首次部署,应用版本升级等部署任务。
执行模块204,用于根据应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据应用部署任务在应用模板库中选择相应的应用模板进行匹配;根据应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎完成部署。
需要说明的是,部署任务消息中至少包括:应用代码、应用版本、域名、端口、部署方式、应用特征信息和程序包存放路径。根据部署任务消息生成的应用部署任务也包括应用代码、应用版本、域名、端口、部署方式、应用特征信息和程序包存放路径等信息。
需要说明的是,参照图3,在本地镜像库中不存在相应的镜像文件时,还需要进行镜像制作,具体如下:
在本地镜像库中不存在相应的镜像文件时,获取程序包存放路径;
根据程序包存放路径,拷贝应用程序包至镜像制作目录后并解压;
根据应用特征信息及预设的模块匹配规则,选择相应的应用模板并生成制作容器镜像的脚本文件;
将脚本文件移动至应用程序包解压后的文件目录;
在应用程序包解压后的文件目录下构建镜像文件;
上传构建的镜像至本地镜像库。
可以理解的是,如果本地镜像库中不存在对应的镜像,则进行镜像制作;存在则跳过镜像制作步骤。
在具体实践中,根据应用代码和应用版本在预先建立的本地镜像库中检查是否存在相应的镜像文件。
需要说明的是,应用模板库中至少包括:WEB类模板和非WEB类模板;
根据应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配,包括:
根据应用特征信息在预先建立的应用模板库中选择相应的应用模板进行匹配;应用特征信息至少包括:开发语言、是否WEB应用和启动/停止方式。
制作中心会根据用户输入的应用特征信息,包括:开发语言,是否WEB应用,启动/停止方式等,从应用模板库中选择相对应的模板进行匹配。应用模板库中的模板分为WEB类和非WEB类两类:
WEB类,支持的开发语言有PHP、Java、Python等;支持的框架有LNMP、SpringBoot、SpringMVC和Django+Uwsgi等。
非WEB类则支持由JAVA、C和Python等语言编写的应用。
可以理解的是,应用模板库是一个开放的、不断丰富的集合,随着接入的资源环境和应用技术越来越多,模板库也会越来越丰富。通常应用模板是基于一套特定的技术框架,由应用开发人员与系统技术人员共同确定的,模板中包括但不限于应用自身技术特征运行环境配置以及其他必要的接口协议。
在具体实践中,根据所涉及的技术范围,使用了以下特征码标识模板匹配规则:
WEB_TOMCAT_8标识支持Tomcat8运行环境;
WEB_NGINX_1.22标识支持Nginx1.22运行环境;WEB_DJANGO_UWSGI标识
支持Python、Django+uwsgi运行环境;
APP_JAVA_8标识支持JAVA8运行环境;
APP_PYTHON_3标识支持Python3运行环境;
OS_CentOS_7标识支持Centos7运行环境。
需要说明的是,参照图3,根据应用部署任务确定镜像部署方式,包括:
若部署方式为集群方式则确定镜像部署方式为K8S部署方式;
若部署方式为非集群方式则确定镜像部署方式为Compose独立部署部署方式。
进一步的,根据确定的部署方式查询对应部署模板,生成部署文件,包括:
根据确定的部署方式查询对应部署模板,根据域名、端口以及镜像文件的标签、生成部署文件。
可以理解的是,如果部署方式为集群方式,则查询K8S部署模板,根据域名、端口等信息生成部署文件,执行K8S部署引擎完成集群部署。
如果部署方式为非集群方式,则进行Compose独立部署,查询Compose部署模板,根据域名、端口及镜像文件的标签等信息生成部署文件,执行Compose部署引擎完成部署。
可以理解的是,本实施例中的基于容器的工业APP方法,包括:监听部署任务消息,在接收到部署任务消息时,根据部署任务消息生成应用部署任务;根据应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎完成部署。本实施例中的技术方案,预先建立了应用模板库,并在应用模板库中上传、发布应用模板。采用本实施例中的技术方案进行部署时,应用发布者只需通过选择应用模板库中的对应的应用模板,发起部署任务消息,后续流程系统可以自行完成,本实施例中的技术方案简化了因不同容器编排系统在使用时存在的差异性带来的复杂操作,统一了基于不同应用模板运行环境的应用发布,使得应用部署变得简单、易操作。
实施例二
需要说明的是,多系统配置模块还用于进行应用升级;
方法还包括:
通过任务模块监听升级任务消息,在接收到升级任务消息时,根据升级任务消息生成应用升级任务;升级任务消息中的应用代码继承应用对应部署任务消息中的应用代码,且应用版本自动加1;
通过执行模块根据应用升级任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据应用升级任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据应用升级任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎完成部署。
可以理解的是,本实施例中的技术方案为应用升级流程,应用升级流程与部署流程基本相同,具体步骤不再赘述。区别在于应用代码继承应用原代码,不能修改;且应用版本信息会自动增加1。
实施例三
需要说明的是,多系统配置模块还用于进行应用扩容/缩容;
参照图4,方法还包括:
S21:通过任务模块监听扩容/缩容任务消息,在接收到扩容/缩容任务消息时,读取扩容/缩容任务消息中的应用代码、应用版本和容器副本信息,生成扩容/缩容任务;
S22:通过执行模块调用K8S副本控制器,集群监控各节点资源信息,对扩容/缩容任务对应的节点进行扩容/缩容;检查确认应用部署在线副本数量,并通知返回部署成功。
可以理解的是,应用的扩容/缩容只支持集群方式部署的应用进行,所以本实施例中在接收到扩容/缩容任务消息时,读取扩容/缩容任务消息中的应用代码、应用版本和容器副本信息,调用K8S副本控制器,集群监控各节点资源信息,对扩容/缩容任务对应的节点进行扩容/缩容。最后,检查确认应用部署在线副本数量,并通知返回部署成功。
实施例四
需要说明的是,多系统配置模块还用于进行应用销毁;
参照图5,方法还包括:
S31:通过任务模块监听销毁任务消息,在接收到销毁任务消息时,获取销毁任务消息中的应用代码和应用版本,生成销毁任务;
S32:通过执行模块判断是否存在容器实例,若存在容器实例则启动销毁执行器,判断应用部署方式;若应用为集群部署方式,则通过应用代码和应用版本查找到集群部署文件,执行集群销毁操作;若应用为非集群部署方式,则通过应用代码和应用版本查找独立部署文件,远程登陆部署节点,执行容器销毁操作。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种基于容器的工业APP全生命周期管理方法,其特征在于,包括:
通过多系统配置模块进行多系统信息维护,并配置各应用的运行系统的环境信息,以用于进行应用程序包上传;
通过APP配置模块提供应用发布时的接入信息配置;
通过任务模块监听部署任务消息,在接收到部署任务消息时,根据所述部署任务消息生成应用部署任务;
通过执行模块根据所述应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据所述应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据所述应用部署任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎对所述部署文件进行部署。
2.根据权利要求1所述的方法,其特征在于,所述部署任务消息中至少包括:应用代码、应用版本、域名、端口、部署方式、应用特征信息和程序包存放路径。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在本地镜像库中不存在相应的镜像文件时,获取程序包存放路径;
根据程序包存放路径,拷贝应用程序包至镜像制作目录后并解压;
根据应用特征信息及预设的模块匹配规则,选择相应的应用模板并生成制作容器镜像的脚本文件;
将所述脚本文件移动至应用程序包解压后的文件目录;
在应用程序包解压后的文件目录下构建镜像文件;
上传构建的镜像至所述本地镜像库。
4.根据权利要求2所述的方法,其特征在于,所述根据所述应用部署任务在预先建立的本地镜像库中检查是否存在相应的镜像文件,包括:
根据应用代码和应用版本在预先建立的本地镜像库中检查是否存在相应的镜像文件。
5.根据权利要求2所述的方法,其特征在于,所述应用模板库中至少包括:WEB类模板和非WEB类模板;
所述根据所述应用部署任务在预先建立的应用模板库中选择相应的应用模板进行匹配,包括:
根据应用特征信息在预先建立的应用模板库中选择相应的应用模板进行匹配;所述应用特征信息至少包括:开发语言、是否WEB应用和启动/停止方式。
6.根据权利要求2所述的方法,其特征在于,所述根据所述应用部署任务确定镜像部署方式,包括:
若部署方式为集群方式则确定镜像部署方式为K8S部署方式;
若部署方式为非集群方式则确定镜像部署方式为Compose独立部署部署方式;
所述根据确定的部署方式查询对应部署模板,生成部署文件,包括:
根据确定的部署方式查询对应部署模板,根据域名、端口以及镜像文件的标签、生成部署文件。
7.根据权利要求2所述的方法,其特征在于,所述多系统配置模块还用于进行应用升级;
所述方法还包括:
通过任务模块监听升级任务消息,在接收到升级任务消息时,根据所述升级任务消息生成应用升级任务;所述升级任务消息中的应用代码继承应用对应部署任务消息中的应用代码,且应用版本自动加1;
通过执行模块根据所述应用升级任务在预先建立的本地镜像库中检查是否存在相应的镜像文件;在本地镜像库中存在相应的镜像文件时,根据所述应用升级任务在预先建立的应用模板库中选择相应的应用模板进行匹配;根据所述应用升级任务确定镜像部署方式;根据确定的部署方式查询对应部署模板,生成部署文件,执行部署引擎完成部署。
8.根据权利要求2所述的方法,其特征在于,所述多系统配置模块还用于进行应用扩容/缩容;
所述方法还包括:
通过任务模块监听扩容/缩容任务消息,在接收到扩容/缩容任务消息时,读取扩容/缩容任务消息中的应用代码、应用版本和容器副本信息,生成扩容/缩容任务;
通过执行模块调用K8S副本控制器,集群监控各节点资源信息,对扩容/缩容任务对应的节点进行扩容/缩容;检查确认应用部署在线副本数量,并通知返回部署成功。
9.根据权利要求2所述的方法,其特征在于,所述多系统配置模块还用于进行应用销毁;
所述方法还包括:
通过任务模块监听销毁任务消息,在接收到销毁任务消息时,获取销毁任务消息中的应用代码和应用版本,生成销毁任务;
通过执行模块判断是否存在容器实例,若存在容器实例则启动销毁执行器,判断应用部署方式;若应用为集群部署方式,则通过应用代码和应用版本查找到集群部署文件,执行集群销毁操作。若应用为非集群部署方式,则通过应用代码和应用版本查找独立部署文件,远程登陆部署节点,执行容器销毁操作。
CN202211434772.7A 2022-11-16 2022-11-16 一种基于容器的工业app全生命周期管理方法 Pending CN117290048A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211434772.7A CN117290048A (zh) 2022-11-16 2022-11-16 一种基于容器的工业app全生命周期管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211434772.7A CN117290048A (zh) 2022-11-16 2022-11-16 一种基于容器的工业app全生命周期管理方法

Publications (1)

Publication Number Publication Date
CN117290048A true CN117290048A (zh) 2023-12-26

Family

ID=89250588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211434772.7A Pending CN117290048A (zh) 2022-11-16 2022-11-16 一种基于容器的工业app全生命周期管理方法

Country Status (1)

Country Link
CN (1) CN117290048A (zh)

Similar Documents

Publication Publication Date Title
WO2017071494A1 (zh) 一种应用部署方法和装置
CN108829409B (zh) 一种分布式系统快速部署方法及系统
US9811360B2 (en) Dynamic determination of application server runtime classloading
US8495352B2 (en) System and method for instantiation of distributed applications from disk snapshots
CN107766130B (zh) 虚拟机向容器迁移的方法和装置
US10817284B2 (en) Melding of mediation flow service component architecture (SCA) components
US20210142159A1 (en) Microservice management using machine learning
CN111124596A (zh) 基于容器的发布管理方法及其系统
JPWO2017033441A1 (ja) システム構築支援システム、方法および記憶媒体
Railić et al. Architecting continuous integration and continuous deployment for microservice architecture
US20090300609A1 (en) Combining system blueprints, functional layer, and software bits in parallel development of machines
CN117707543A (zh) 一种应用安装包制作和安装方法、计算设备及存储介质
CN113010180A (zh) 一种固件生成方法、系统、设备以及介质
CN107391197A (zh) 一种Linux操作系统的安装方法及装置
CN117290048A (zh) 一种基于容器的工业app全生命周期管理方法
AU2016378425A1 (en) Application program running method and apparatus
CN115857999A (zh) 基于vue的系统架构改造获得微前端系统架构的方法及系统
CN108958745A (zh) 一种在云平台部署Spark集群的装置和方法
US11562105B2 (en) System and method for module engineering with sequence libraries
TW201828078A (zh) 應用部署方法和裝置
WO2007144891A1 (en) A method for the distribution of software processes to a plurality of computers
CN115794312A (zh) 基于关注点分离的容器自动化构建部署方法
CN116225464B (zh) 一种平台的快速部署方法
CN118012446A (zh) 软件版本自动集成部署方法及系统
Zadka Testing

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