CN112398933A - 云原生应用发布方法、系统、设备及存储介质 - Google Patents
云原生应用发布方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112398933A CN112398933A CN202011221286.8A CN202011221286A CN112398933A CN 112398933 A CN112398933 A CN 112398933A CN 202011221286 A CN202011221286 A CN 202011221286A CN 112398933 A CN112398933 A CN 112398933A
- Authority
- CN
- China
- Prior art keywords
- application
- component
- publishing
- engine component
- release
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种云原生应用发布方法、系统、设备及存储介质,该方法包括:用户交互组件接收到用户的应用发布请求,触发工作流引擎组件;所述工作流引擎组件执行发布工作流,调用发布引擎组件接口;所述发布引擎组件执行本次应用发布,所述发布引擎组件配置为集成于Kubernetes的控制节点中;事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件。本发明通过用户交互组件、工作流引擎组件、发布引擎组件和事件中心组件四个组件互相配合,共同完成应用的无损发布和更新,解决了基于Kubernetes的容器云环境下应用发布的可观察、可控制和透明化问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种云原生应用发布方法、系统、设备及存储介质。
背景技术
随着云计算的发展以及容器技术的广泛普及,现在的应用越来越多的运行环境由之前的虚拟机转向容器。容器的不可变基础设施性给应用带来极大的稳定性与云原生特性。作为容器编排与调度的系统,Kubernetes作为一个开源的,用于管理云平台中多个主机上的容器化的应用,越来越多地应用于容器管理。应用基于容器化部署,然后借助Kubernetes的调度编排能力,使得应用的生命周期管理更为方便与高效。Kubernetes本身自带的一些工作负载(workload)满足了应用通过容器镜像的方式进行启动并且运行。
但是Kubernetes没有针对应用的描述,应用的整个发布过程控制力度很弱,并且没有很好的展示界面进行展示。如果应用更新,则需要更新容器镜像或者数量,交由Kubernetes滚动升级,但是整个过程会出现短暂服务不可用的情形,且中间过程展示不明显,发布过程不够透明。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种云原生应用发布方法、系统、设备及存储介质,解决基于Kubernetes的容器云环境下应用发布的可观察、可控制和透明化问题。
本发明实施例提供一种云原生应用发布方法,包括如下步骤:
用户交互组件接收到用户的应用发布请求,触发工作流引擎组件;
所述工作流引擎组件执行发布工作流,调用发布引擎组件接口;
所述发布引擎组件执行本次应用发布,所述发布引擎组件配置为集成于Kubernetes的控制节点中;
事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件。
在一些实施例中,所述触发工作流引擎组件,包括如下步骤:
所述用户交互组件通过Restfull接口调用的方式,触发工作流引擎组件。
在一些实施例中,所述工作流引擎组件执行发布工作流,调用发布Kubernetes的发布引擎组件接口之后,还包括如下步骤:
所述工作流引擎组件将执行的工作流事件发送到所述事件中心组件。
在一些实施例中,所述发布引擎组件执行本次应用发布之后,还包括如下步骤:
所述发布引擎组件将本次应用发布过程中的事件数据发送至所述事件中心组件。
在一些实施例中,所述事件中心组件接收本次应用发布的事件数据,包括所述事件中心组件从所述工作流引擎组件接收执行的工作流事件和从所述发布引擎组件接收本次应用发布过程中的事件数据。
在一些实施例中,所述发布引擎组件基于Kubernetes的Operator扩展实现,所述方法还包括所述事件中心组件从所述Kubernetes中除所述发布引擎组件之外的其他Operator接收事件数据。
在一些实施例中,所述事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件之后,还包括如下步骤:
所述用户交互组件根据本次应用发布的事件数据确定应用发布的状态和结果;
所述用户交互组件响应于用户的发布状态查看请求,显示所述应用发布的状态和结果。
本发明实施例还提供一种云原生应用发布系统,用于实现所述的云原生应用发布方法,所述系统包括:
用户交互组件,用于与用户进行交互,并在接收到用户的应用发布请求时,触发工作流引擎组件;
工作流引擎组件,用于执行发布工作流,调用发布引擎组件接口;
发布引擎组件,配置为集成于Kubernetes的控制节点中,所述发布引擎组件用于执行本次应用发布;
事件中心组件,用于接收本次应用发布的事件数据,并发送至所述用户交互组件。
在一些实施例中,所述工作流引擎组件还用于将执行的工作流事件发送到所述事件中心组件,所述发布引擎组件还用于将本次应用发布过程中的事件数据发送至所述事件中心组件;
所述事件中心组件配置为从所述工作流引擎组件接收执行的工作流事件和从所述发布引擎组件接收本次应用发布过程中的事件数据。
在一些实施例中,所述用户交互组件还用于根据本次应用发布的事件数据确定应用发布的状态和结果;以及响应于用户的发布状态查看请求,显示所述应用发布的状态和结果。
在一些实施例中,所述用户交互组件还用于显示应用列表,并接收用户在所述应用列表中对应用的选择以及接收用户对选择的应用的应用发布请求或发布状态查看请求。
在一些实施例中,所述工作流引擎组件还用于接收应用发布过程控制指令,并基于所述发布过程控制指令对所述发布引擎组件的应用发布过程进行控制。
本发明实施例还提供一种云原生应用发布设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的云原生应用发布方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的云原生应用发布方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明的云原生应用发布方法、系统、设备及存储介质具有如下有益效果:
本发明通过用户交互组件、工作流引擎组件、发布引擎组件和事件中心组件四个组件互相配合,共同完成应用的无损发布和更新,保证整个发布过程服务不中断,并且通过事件中心组件将接收到的发布过程中的事件数据发送给用户交互组件供用户查看,实现了发布过程的可观察和透明化,工作流引擎组件可以由用户控制发布流程,实现了可控制,适用于更广泛地应用于基于Kubernetes的云原生应用发布场景。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的云原生应用发布方法的流程图;
图2是本发明一实施例的云原生应用发布方法的具体流程示意图;
图3是本发明一实施例的云原生应用发布系统的结构示意图;
图4是本发明一实施例的云原生应用发布设备的结构示意图;
图5是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本发明实施例提供一种云原生应用发布方法。云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
如图1所示,所述云原生应用发布方法包括如下步骤:
S100:用户交互组件接收到用户的应用发布请求,触发工作流引擎组件;
S200:所述工作流引擎组件执行发布工作流,调用发布引擎组件接口;
S300:所述发布引擎组件执行本次应用发布,所述发布引擎组件配置为集成于Kubernetes的控制节点中;
S400:事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件。
本发明通过用户交互组件、工作流引擎组件、发布引擎组件和事件中心组件四个组件互相配合,共同完成应用的无损发布和更新,保证整个发布过程服务不中断,并且通过事件中心组件将接收到的发布过程中的事件数据发送给用户交互组件供用户查看,实现了发布过程的可观察和透明化,工作流引擎组件可以由用户控制发布流程,实现了可控制,适用于更广泛地应用于基于Kubernetes的云原生应用发布场景。
如图2所示,为本发明的云原生应用发布方法的具体应用流程图。其中,对应于步骤S100,首先a.用户发布应用,用户交互组件接收到用户的应用发布请求。在该实施例中,用户交互组件为Web服务组件,可以与用户进行交互,并且可以与工作流引擎组件以及事件中心组件对接。所述步骤S100中,触发工作流引擎组件,包括所述用户交互组件通过Restfull接口调用的方式,触发工作流引擎组件。Restfull是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。Restfull适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。然后执行b.触发工作流引擎执行发布工作流。
在该实施例中,所述步骤S200中,所述工作流引擎组件执行发布工作流,调用发布Kubernetes的发布引擎组件接口之后,还包括d.所述工作流引擎组件将执行的工作流事件发送到所述事件中心组件。所述工作流引擎组件负责对应用的发布过程进行管理,能够对用户提交的应用新版本镜像和规格进行驱动,保证整个过程的准确和完整,并且支持停止、暂停、继续以及回退的操作,保证应用发布过程的可控性。然后执行e.调用发布引擎接口。在该实施例中,发布引擎接口为集成于Kubernetes的控制节点中的发布Operator组件,发布Operator组件执行本次应用发布。所述发布Operator组件还能够对应用新版本生效后,实例数滚动发布、实例健康、实例注册等过程进行控制,保证发布过程无损。
Operator是一种Kubernetes的扩展形式,利用自定义资源对象(CustomResource)来管理应用和组件,允许用户以Kubernetes的声明式API风格来管理应用及服务。Operator定义了一组在Kubernetes集群中打包和部署复杂业务应用的方法,Operator主要是为解决特定应用或服务关于如何运行、部署及出现问题时如何处理提供的一种特定的自定义方式。
在该实施例中,所述步骤S300:发布引擎组件执行本次应用发布之后,还包括e.所述发布引擎组件将本次应用发布过程中的事件数据发送至所述事件中心组件。然后对应于所述步骤S400,执行e.所述事件中心组件对事件进行聚合发送至所述Web界面组件。
因此,所述步骤S400中,事件中心组件接收本次应用发布的事件数据,包括所述事件中心组件从所述工作流引擎组件接收执行的工作流事件和从所述发布引擎组件接收本次应用发布过程中的事件数据。进一步地,所述发布引擎组件基于Kubernetes的Operator扩展实现,所述方法还包括所述事件中心组件从所述Kubernetes中除所述发布引擎组件之外的其他Operator接收事件数据。所述事件中心组件能够对云原生应用发布系统自身的日志、底层发布Operator组件的事件、实例的编号、实例的健康检查结果等进行聚合展示,保证应用发布过程透明。
在该实施例中,所述步骤S400:事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件之后,还包括如下步骤:
所述用户交互组件根据本次应用发布的事件数据确定应用发布的状态和结果;
所述用户交互组件响应于用户的发布状态查看请求,显示所述应用发布的状态和结果。
因此,所述用户交互组件可以实现对应用发布的过程和结果的实时展示。所述事件中心引擎可以聚合所述工作流引擎和发布引擎的工作日志,通过所述用户交互组件进行友好展示。进一步地,所述用户交互组件还可以进行应用列表展示,展示可供选择和查看的应用,具体地,所述用户交互组件接收用户在所述应用列表中对应用的选择以及接收用户对选择的应用的应用发布请求或发布状态查看请求。因此,对于用户来说,所述云原生应用发布方法实现了有一个统一的界面进行操作、管理和查看所有应用的生命周期和版本、实例数的变化情况。
如图3所示,本发明实施例还提供一种云原生应用发布系统,用于实现所述的云原生应用发布方法,所述系统包括:
用户交互组件M100,用于与用户进行交互,并在接收到用户的应用发布请求时,触发工作流引擎组件,具体地,所述用户交互组件可以通过Restfull接口调用的方式,触发工作流引擎组件;
工作流引擎组件M200,用于执行发布工作流,调用发布引擎组件接口;
发布引擎组件M300,配置为集成于Kubernetes的控制节点中,所述发布引擎组件用于执行本次应用发布,具体地,被触发而本次新版本或者新数量的应用更新及发布;
事件中心组件M400,用于接收本次应用发布的事件数据,进行汇聚存储,并实时发送至所述用户交互组件。
本发明通过用户交互组件M100、工作流引擎组件M200、发布引擎组件M300和事件中心组件M400四个组件互相配合,共同完成应用的无损发布和更新,保证整个发布过程服务不中断,并且通过事件中心组件M400将接收到的发布过程中的事件数据发送给用户交互组件M100供用户查看,实现了发布过程的可观察和透明化,工作流引擎组件M200可以由用户控制发布流程,实现了可控制,适用于更广泛地应用于基于Kubernetes的云原生应用发布场景。
在该实施例中,所述用户交互组件M100为Web界面组件,负责应用列表展示、应用发布的过程管理和事件聚合展示。其负责与其他组件进行对接,在应用更新镜像版本或者实例数量的时候能够实时触发工作流引擎组件的驱动。
所述工作流引擎组件M200负责对应用的发布过程进行管理,能够对用户提交的应用新版本镜像和规格进行驱动,保证整个过程的准确和完整,并且支持停止、暂停、继续以及回退的操作,保证应用发布过程的可控性。
所述发布引擎组件M300为发布Operator组件,能够对应用新版本生效后,实例数滚动发布、实例健康、实例注册等过程进行控制,保证发布过程无损。
所述事件中心组件M400能够对云原生应用发布系统自身的日志、底层发布Operator组件的事件、实例的编号、实例的健康检查结果等进行聚合展示,保证应用发布过程透明化。
在该实施例中,所述工作流引擎组件M200还用于将执行的工作流事件发送到所述事件中心组件M400,所述发布引擎组件M300还用于将本次应用发布过程中的事件数据发送至所述事件中心组件M400;
所述事件中心组件M400配置为从所述工作流引擎组件M200接收执行的工作流事件和从所述发布引擎组件M300接收本次应用发布过程中的事件数据,所述事件中心组件M400还可以接收Kubernetes除了发布Operator接口之外的其他Operator的事件。
在该实施例中,所述用户交互组件M100还用于根据本次应用发布的事件数据确定应用发布的状态和结果;以及响应于用户的发布状态查看请求,显示所述应用发布的状态和结果。
在该实施例中,所述用户交互组件M100还用于显示应用列表,并接收用户在所述应用列表中对应用的选择以及接收用户对选择的应用的应用发布请求或发布状态查看请求。
在该实施例中,所述工作流引擎组件M200还用于接收应用发布过程控制指令,并基于所述发布过程控制指令对所述发布引擎组件M300的应用发布过程进行控制,例如对应用发布过程执行停止、暂停、继续和回退的操作,保证应用发布过程可控制。
因此,本发明解决了Kubernetes的容器云环境下应用发布的可观察、可控制和透明化等问题,让应用的发布无损,让服务持续可用。所述Web界面组件M100能够对应用发布的过程及结果实时展示,所述工作流引擎组件M200能够对用户提交的应用新版本镜像和规格进行驱动,保证整个过程的准确、完整,所述发布引擎组件M300作为Kubernetes的Operator扩展,集成到Kubernetes的控制节点中,对整个发布过程负责,所述事件中心引擎M400聚合工作流引擎与发布引擎的工作日志,通过所述Web界面组件M100对用户友好展示。
本发明实施例还提供一种云原生应用发布设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的云原生应用发布方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图4来描述根据本发明的这种实施方式的电子设备600。图4显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述云原生应用发布方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过采用本发明的云原生应用发布设备,在实现上述的云原生应用发布方法时,通过用户交互组件、工作流引擎组件、发布引擎组件和事件中心组件四个组件互相配合,共同完成应用的无损发布和更新,保证整个发布过程服务不中断,并且通过事件中心组件将接收到的发布过程中的事件数据发送给用户交互组件供用户查看,实现了发布过程的可观察和透明化,工作流引擎组件可以由用户控制发布流程,实现了可控制,适用于更广泛地应用于基于Kubernetes的云原生应用发布场景。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的云原生应用发布方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上执行时,所述程序代码用于使所述终端设备执行本说明书上述云原生应用发布方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上执行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
通过采用本发明的计算机存储介质,在实现上述的云原生应用发布方法时,通过用户交互组件、工作流引擎组件、发布引擎组件和事件中心组件四个组件互相配合,共同完成应用的无损发布和更新,保证整个发布过程服务不中断,并且通过事件中心组件将接收到的发布过程中的事件数据发送给用户交互组件供用户查看,实现了发布过程的可观察和透明化,工作流引擎组件可以由用户控制发布流程,实现了可控制,适用于更广泛地应用于基于Kubernetes的云原生应用发布场景。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种云原生应用发布方法,其特征在于,包括如下步骤:
用户交互组件接收到用户的应用发布请求,触发工作流引擎组件;
所述工作流引擎组件执行发布工作流,调用发布引擎组件接口;
所述发布引擎组件执行本次应用发布,所述发布引擎组件配置为集成于Kubernetes的控制节点中;
事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件。
2.根据权利要求1所述的云原生应用发布方法,其特征在于,所述触发工作流引擎组件,包括如下步骤:
所述用户交互组件通过Restfull接口调用的方式,触发工作流引擎组件。
3.根据权利要求1所述的云原生应用发布方法,其特征在于,所述工作流引擎组件执行发布工作流,调用发布Kubernetes的发布引擎组件接口之后,还包括如下步骤:
所述工作流引擎组件将执行的工作流事件发送到所述事件中心组件。
4.根据权利要求3所述的云原生应用发布方法,其特征在于,所述发布引擎组件执行本次应用发布之后,还包括如下步骤:
所述发布引擎组件将本次应用发布过程中的事件数据发送至所述事件中心组件。
5.根据权利要求4所述的云原生应用发布方法,其特征在于,所述事件中心组件接收本次应用发布的事件数据,包括所述事件中心组件从所述工作流引擎组件接收执行的工作流事件和从所述发布引擎组件接收本次应用发布过程中的事件数据。
6.根据权利要求5所述的云原生应用发布方法,其特征在于,所述发布引擎组件基于Kubernetes的Operator扩展实现,所述方法还包括所述事件中心组件从所述Kubernetes中除所述发布引擎组件之外的其他Operator接收事件数据。
7.根据权利要求1所述的云原生应用发布方法,其特征在于,所述事件中心组件接收本次应用发布的事件数据,并发送至所述用户交互组件之后,还包括如下步骤:
所述用户交互组件根据本次应用发布的事件数据确定应用发布的状态和结果;
所述用户交互组件响应于用户的发布状态查看请求,显示所述应用发布的状态和结果。
8.一种云原生应用发布系统,用于实现权利要求1至7中任一项所述的云原生应用发布方法,其特征在于,所述系统包括:
用户交互组件,用于与用户进行交互,并在接收到用户的应用发布请求时,触发工作流引擎组件;
工作流引擎组件,用于执行发布工作流,调用发布引擎组件接口;
发布引擎组件,配置为集成于Kubernetes的控制节点中,所述发布引擎组件用于执行本次应用发布;
事件中心组件,用于接收本次应用发布的事件数据,并发送至所述用户交互组件。
9.根据权利要求8所述的云原生应用发布系统,其特征在于,所述工作流引擎组件还用于将执行的工作流事件发送到所述事件中心组件,所述发布引擎组件还用于将本次应用发布过程中的事件数据发送至所述事件中心组件;
所述事件中心组件配置为从所述工作流引擎组件接收执行的工作流事件和从所述发布引擎组件接收本次应用发布过程中的事件数据。
10.根据权利要求8所述的云原生应用发布系统,其特征在于,所述用户交互组件还用于根据本次应用发布的事件数据确定应用发布的状态和结果;以及响应于用户的发布状态查看请求,显示所述应用发布的状态和结果。
11.根据权利要求10所述的云原生应用发布系统,其特征在于,所述用户交互组件还用于显示应用列表,并接收用户在所述应用列表中对应用的选择以及接收用户对选择的应用的应用发布请求或发布状态查看请求。
12.根据权利要求8所述的云原生应用发布系统,其特征在于,所述工作流引擎组件还用于接收应用发布过程控制指令,并基于所述发布过程控制指令对所述发布引擎组件的应用发布过程进行控制。
13.一种云原生应用发布设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任一项所述的云原生应用发布方法的步骤。
14.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至7中任一项所述的云原生应用发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011221286.8A CN112398933B (zh) | 2020-11-05 | 2020-11-05 | 云原生应用发布方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011221286.8A CN112398933B (zh) | 2020-11-05 | 2020-11-05 | 云原生应用发布方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398933A true CN112398933A (zh) | 2021-02-23 |
CN112398933B CN112398933B (zh) | 2023-05-23 |
Family
ID=74597462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011221286.8A Active CN112398933B (zh) | 2020-11-05 | 2020-11-05 | 云原生应用发布方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398933B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610368A (zh) * | 2022-03-28 | 2022-06-10 | 广域铭岛数字科技有限公司 | 一种平台工具链整合及维护方法、系统、设备和介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267958A (zh) * | 2014-09-29 | 2015-01-07 | 北京网秦天下科技有限公司 | 移动应用容器及其管理方法 |
CN105574135A (zh) * | 2015-12-14 | 2016-05-11 | 中电科华云信息技术有限公司 | 支持异构服务的通用接入方法及系统 |
CN107105009A (zh) * | 2017-03-22 | 2017-08-29 | 北京荣之联科技股份有限公司 | 基于Kubernetes系统对接工作流引擎的作业调度方法和装置 |
US20170257432A1 (en) * | 2011-02-09 | 2017-09-07 | Cliqr Technologies Inc. | Apparatus, systems and methods for container based service deployment |
CN107368365A (zh) * | 2017-07-25 | 2017-11-21 | 携程旅游信息技术(上海)有限公司 | 云平台自动运维方法、系统、设备及存储介质 |
CN108563451A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 一种Docker容器的构建和发布的方法、装置及系统 |
CN111027921A (zh) * | 2019-11-19 | 2020-04-17 | 山东中创软件商用中间件股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
US20200133651A1 (en) * | 2018-10-24 | 2020-04-30 | CA Software Österreich GmbH | Release automation service in software development tools |
CN111274001A (zh) * | 2020-02-13 | 2020-06-12 | 研祥智能科技股份有限公司 | 微服务管理平台 |
CN111399897A (zh) * | 2020-02-21 | 2020-07-10 | 北京值得买科技股份有限公司 | 基于kubernetes的应用发布方法以及系统 |
CN111427701A (zh) * | 2020-03-09 | 2020-07-17 | 中国建设银行股份有限公司 | 一种工作流引擎系统和业务处理方法 |
US20200241865A1 (en) * | 2019-01-29 | 2020-07-30 | Salesforce.Com, Inc. | Release orchestration for performing pre-release, version specific testing to validate application versions |
-
2020
- 2020-11-05 CN CN202011221286.8A patent/CN112398933B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170257432A1 (en) * | 2011-02-09 | 2017-09-07 | Cliqr Technologies Inc. | Apparatus, systems and methods for container based service deployment |
CN104267958A (zh) * | 2014-09-29 | 2015-01-07 | 北京网秦天下科技有限公司 | 移动应用容器及其管理方法 |
CN105574135A (zh) * | 2015-12-14 | 2016-05-11 | 中电科华云信息技术有限公司 | 支持异构服务的通用接入方法及系统 |
CN107105009A (zh) * | 2017-03-22 | 2017-08-29 | 北京荣之联科技股份有限公司 | 基于Kubernetes系统对接工作流引擎的作业调度方法和装置 |
CN107368365A (zh) * | 2017-07-25 | 2017-11-21 | 携程旅游信息技术(上海)有限公司 | 云平台自动运维方法、系统、设备及存储介质 |
CN108563451A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 一种Docker容器的构建和发布的方法、装置及系统 |
US20200133651A1 (en) * | 2018-10-24 | 2020-04-30 | CA Software Österreich GmbH | Release automation service in software development tools |
US20200241865A1 (en) * | 2019-01-29 | 2020-07-30 | Salesforce.Com, Inc. | Release orchestration for performing pre-release, version specific testing to validate application versions |
CN111027921A (zh) * | 2019-11-19 | 2020-04-17 | 山东中创软件商用中间件股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111274001A (zh) * | 2020-02-13 | 2020-06-12 | 研祥智能科技股份有限公司 | 微服务管理平台 |
CN111399897A (zh) * | 2020-02-21 | 2020-07-10 | 北京值得买科技股份有限公司 | 基于kubernetes的应用发布方法以及系统 |
CN111427701A (zh) * | 2020-03-09 | 2020-07-17 | 中国建设银行股份有限公司 | 一种工作流引擎系统和业务处理方法 |
Non-Patent Citations (4)
Title |
---|
NGMN: "\"190919 NGMN_Service-BasedArchitecturein5GCaseStudyandDeploymentRecommendations-v2.4\"", 3GPP INBOX\\LSS_FROM_EXTERNAL_BODIES * |
冯文超: "容器云平台网络资源配置管理系统的设计", 《工业仪表与自动化装置》 * |
沙胜华;李欣;郭大权;: "基于发布/订阅的消息队列在工作流引擎中的应用研究", 计算机与现代化 * |
王金萍;吕智涵;张小垒;房经宝;陈戈;: "一种免插件的网络三维图形发布引擎及其应用", 河南科学 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610368A (zh) * | 2022-03-28 | 2022-06-10 | 广域铭岛数字科技有限公司 | 一种平台工具链整合及维护方法、系统、设备和介质 |
CN114610368B (zh) * | 2022-03-28 | 2024-02-02 | 广域铭岛数字科技有限公司 | 一种平台工具链整合及维护方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112398933B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113110941B (zh) | 使用应用容器管理代码和依赖性数据的传递 | |
JP5936157B2 (ja) | 分散型バーチャル・マシンにおけるネイティブ・インタフェースのための隠された自動化データ・ミラーリングのためのシステム、方法、およびコンピュータ・プログラム(分散型バーチャル・マシンにおけるネイティブ・インタフェースのための隠された自動化データ・ミラーリング) | |
CN109565515B (zh) | 分布式资源管理系统中的动态租户结构调整的系统、设备和过程 | |
US9678740B2 (en) | Migration mechanism | |
US9754018B2 (en) | Rendering interpreter for visualizing data provided from restricted environment container | |
US9378066B2 (en) | Dynamic resizing of applications running on virtual machines | |
US10191733B2 (en) | Software change process orchestration in a runtime environment | |
CN103493010A (zh) | 交叉环境事件通知 | |
EP2875425A1 (en) | Providing access to a remote application via a web client | |
CN113934464A (zh) | Linux系统中启动安卓应用的方法、装置和电子设备 | |
KR20150080567A (ko) | 다중-플랫폼 모바일 및 다른 컴퓨팅 디바이스 및 방법 | |
US20180239681A1 (en) | Widget Provisioning of User Experience Analytics and User Interface / Application Management | |
CN104572293A (zh) | 基于bs结构的医学影像阅片系统的实现方法 | |
US20220407795A1 (en) | Centralized, scalable, resource monitoring system | |
US20150067761A1 (en) | Managing security and compliance of volatile systems | |
CN111527474A (zh) | 软件功能的动态交付 | |
CN111213127B (zh) | 用于直接分配的设备的虚拟化操作 | |
US20190332409A1 (en) | Identification and storage of logical to physical address associations for components in virtualized systems | |
CN114077367A (zh) | Linux系统中实现安卓应用快捷方式的方法和装置 | |
US20140059114A1 (en) | Application service providing system and method and server apparatus and client apparatus for application service | |
US20210185007A1 (en) | Integration of an orchestration services with a cloud automation services | |
US20200142975A1 (en) | Host-level persistent volume management for container clouds | |
CN114911518A (zh) | 云函数应用发布管理方法、系统、设备及存储介质 | |
CN112398933B (zh) | 云原生应用发布方法、系统、设备及存储介质 | |
US20130263126A1 (en) | System and method for increasing the capabilities of a mobile device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |