CN115509761A - 一种应用编排方法及存储介质 - Google Patents

一种应用编排方法及存储介质 Download PDF

Info

Publication number
CN115509761A
CN115509761A CN202211266025.7A CN202211266025A CN115509761A CN 115509761 A CN115509761 A CN 115509761A CN 202211266025 A CN202211266025 A CN 202211266025A CN 115509761 A CN115509761 A CN 115509761A
Authority
CN
China
Prior art keywords
application
deployment
template
templates
arrangement
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
CN202211266025.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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202211266025.7A priority Critical patent/CN115509761A/zh
Publication of CN115509761A publication Critical patent/CN115509761A/zh
Pending legal-status Critical Current

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种应用编排方法及存储介质,用户可以登录云平台,获得能够表征所请求编排应用的交付过程及其所遵循的应用策略的编排信息,由此统一构建满足应用编排请求的多个应用模板,在云平台上对其进行统一部署操作,得到包含不同应用模板之间的依赖关系以及各自的部署对象的应用部署方案,据此直接下发应用模板到边缘集群,实现云边之间复杂应用的原子性执行,无需用户到边缘设备本地进行应用部署,直接在云平台集中管控应用部署流程,降低了管理成本,提高了应用交付效率。

Description

一种应用编排方法及存储介质
技术领域
本申请主要涉及边缘计算应用领域,更具体地说是涉及一种应用编排方法及存储介质。
背景技术
在边缘计算场景中,应用编排的发展趋势正在朝向实现高度一致的、跨云、跨环境的应用交付而不断迈进。然而,由于应用交付方案通常是依据用户的实际需求进行定制,且在应用交付过程中,需要技术人员到边缘计算系统中各设备所在地完成应用的部署,交付逻辑复杂,导致应用编排工作量很大,部署成本高,影响应用交付效率,甚至会因需求复杂难以落地使用。
发明内容
为了解决上述技术问题,本申请提供了以下技术方案:
一方面,本申请提出了一种应用编排方法,应用于云平台,所述方法包括:
获得针对应用编排请求的编排信息,创建对应的应用模板;所述编排信息能表征所请求编排应用的交付过程,以及所述交付过程所遵循的应用策略;
检测对所创建的多个所述应用模板的部署操作,获得对应的应用部署方案;所述应用部署方案包括多个所述应用模板之间的依赖关系,以及每个所述应用模板的部署对象;所述部署对象包括至少一个边缘集群;
依据所述应用部署方案,向所述边缘集群发送对应部署的所述应用模板;
获得所创建的多个所述应用模板各自所依赖的应用资源,向所述边缘集群发送对应部署的所述应用模板所依赖的应用资源。
可选的,所述获得针对应用编排请求的编排信息,包括:
获得应用编排请求,输出应用模板编排界面;所述应用模板编排界面能显示不同类型的候选编排对象;所述候选编排对象的类型包括候选应用策略和候选工作流,所述候选工作流能表征应用交付过程,所述候选应用策略能指导实现所述应用交付过程;
响应对所述候选编排对象的输入操作,得到符合所述应用编排请求的编排对象;
依据所得到的所述编排对象,获得满足所述应用编排请求的编排信息。
可选的,所述检测对所创建的多个所述应用模板的部署操作,获得对应的应用部署方案,包括
获得应用部署规划请求,输出应用部署规划界面;所述应用部署规划界面能显示所创建的多个所述应用模板以及连接所述云平台的多个边缘集群;
响应对所显示的多个所述应用模板的执行顺序部署操作,确定多个所述应用模板之间的依赖关系;
响应针对所部署的每个所述应用模板的部署对象选择操作,确定所选择的至少一个所述边缘集群为该应用模板的部署对象;
响应应用部署方案创建操作,依据确定的多个所述应用模板之间的依赖关系以及各自的所述部署对象,创建对应的应用部署方案。
可选的,所述方法还包括:
按照预设检测规则,对所述应用部署方案涉及到的多个所述应用模板进行合法性检测;
确定存在不合法应用模板,输出针对所述应用部署方案对应的异常提示信息,以指示更新所述应用部署方案涉及到的所述不合法应用模板。
可选的,所述按照预设检测规则,对所述应用部署方案涉及到的多个所述应用模板进行合法性检测,包括:
检测所述应用部署方案涉及到的各所述应用模板的部署对象是否存在于边缘计算系统中;和/或,
检测所述应用部署方案涉及到的各所述应用模板的部署对象的集群类型,与该应用模板依赖的所述编排信息中的应用类型是否匹配;和/或,
检测所述应用部署方案涉及到的各所述应用模板依赖的所述编排信息是否合法。
可选的,所述方法还包括:
获得各所述边缘集群对所接收到的所述应用模板的应用部署状态;
依据所述应用部署状态,同步更新所述应用部署方案的执行状态;
输出所述应用部署方案同步更新后的执行状态。
又一方面,本申请还提出了一种应用编排方法,应用于边缘集群,所述方法包括:
获得应用模板以及所述应用模板依赖的应用资源;其中,所述应用模板是云平台依据针对应用编排请求的编排信息创建所述编排信息能表征所请求编排应用的交付过程,以及所述交付过程所遵循的应用策略;所述应用资源是所述云平台依据所述应用模板的编排信息获得;;
依据所述应用模板和所述应用资源,在所述边缘集群包含的边缘设备中进行应用部署。
可选的,所述依据所述应用模板和所述应用资源,在所述边缘集群包含的边缘设备中进行应用部署,包括:
解析所述应用模板,得到所请求编排应用所依赖的工作流;
依据所述应用资源,执行所述工作流包含的各工作步骤,实现所述请求编排应用的部署。
可选的,所述方法还包括:
监听所述应用模板所依赖的工作流中各工作步骤的步骤执行状态;
依据所述步骤执行状态,获得所述边缘集群对所述应用模板的应用部署状态;
将所述应用部署状态发送至云平台。
又一方面,本申请还提出了一种计算机可读存储介质,其上存储计算机程序,所述计算机程序被处理器执行,实现如上述的应用编排方法。
由此可见,本申请提供了一种应用编排方法及存储介质,用户可以登录云平台,获得能够表征所请求编排应用的交付过程及其所遵循的应用策略的编排信息,由此统一构建满足应用编排请求的多个应用模板,在云平台上对其进行统一部署操作,得到包含不同应用模板之间的依赖关系以及各自的部署对象的应用部署方案,据此直接下发应用模板到边缘集群,实现云边之间复杂应用的原子性执行,无需用户到边缘设备本地进行应用部署,直接在云平台集中管控应用部署流程,降低了管理成本,提高了应用交付效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为适用于本申请提出的应用编排方法的一可选应用环境下的系统结构示意图;
图2为适用于本申请提出的应用编排方法的又一可选应用环境下的系统结构示意图;
图3为本申请提出的应用编排方法的一可选示例的流程示意图;
图4为本申请提出的应用编排方法的又一可选示例的流程示意图;
图5为本申请提出的应用编排方法的又一可选示例的流程示意图;
图6为本申请提出的应用编排方法的又一可选示例的流程示意图;
图7为本申请提出的应用编排方法的又一可选示例的流程示意图;
图8为本申请提出的应用编排装置的一可选示例的结构示意图;
图9为本申请提出的应用编排装置的又一可选示例的结构示意图;
图10为本申请提出的应用编排装置的又一可选示例的结构示意图;
图11为适用于本申请提出的应用编排方法的计算机设备的一可选示例的硬件结构示意图。
具体实施方式
针对背景技术部分的描述内容可知,在云边协同应用编排的跨云、跨环境(如多边缘集群环境)的应用交付过程中,一次应用部署通常包括多个步骤,每一个步骤还可能包含多个子步骤,多个步骤或子步骤可能需要部署不同设备,如运行在云端或某一个或多个边端等,对此往往需要技术人员到各设备本地部署对应的应用,并考虑如应用安全配置策略、应用运行状况检查策略等不同方面的应用部署策略,极大增加了应用部署工作量。更何况边端数量众多,边缘集群种类和边缘能力不同,技术人员无法分别在边缘运行应用的某一个步骤,更加无法实现步骤之间的上下文交互。
为了改善上述问题,本申请在云端提供应用层的软件交付模型,技术人员可以直接在云端统一定义应用模板(即应用部署模板)、应用工作流步骤,还可以定义应用交付过程中所遵循的应用策略,如在云端对边缘集群分组,多边缘部署的差异化配置、资源回收策略等;在某些应用部署流程比较复杂时,可以在云端定义边端执行应用部署的指定子部署任务或子工作流等,得到相应的应用部署方案,这样,无需了解复杂的云边交互细节,可以直接按照该应用部署方案,将在云端定义的应用模板及其所依赖的应用资源,直接下发至对应的边缘设备,实现云边之间复杂应用的原子性执行,可以在多集群环境中执行复杂的批量应用。可见,本申请提出的这种云边协同的应用编排方法,在云端集中管控应用部署流程,构建云边统一应用运行模型,支持边缘自主运行,兼容云边协同工作流流程,极大降低了部署成本,在满足应用交付和管理需求的基础上,提高了应用编排效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,为适用于本申请提出的应用编排方法的一可选应用环境下的系统结构示意图,在该应用环境下,该系统可以包括但并不局限于:云平台100以及能够与云平台100通信连接的一个或多个边缘集群200,其中:
云平台100可以是边缘计算平台,用于边缘设备管理、边缘应用管理以及边缘应用下发等统一管理。结合上文对本申请技术方案的相关描述,云平台100可以提供应用层的应用交付模型,支持应用组件、组件特性、应用策略、应用工作流步骤等自定义部署,构建云端和不同边端设备各自部署所需的应用模板。
基于此,技术人员可以使用电子设备登录云平台100,确定针对用户提出的应用需求生成的应用编排请求后,可以通过可视化界面,集中编排满足用户需求的多个应用模板,以及包含这多个应用模板的执行顺序、在边缘计算系统中的部署对象(如至少一个边缘集群200)等部署信息的应用部署方案,之后,云平台可以直接按照该应用部署方案,将这多个应用模板下发至对应的边缘集群200,与此同时,云平台也会将各应用模板运行所依赖的各应用资源发送至对应的边缘集群200,无需技术人员到各边缘设备部署对应应用,提高了应用部署效率,缩短应用交付过程所花费的时间,提高用户体验。
为了实现云平台100所执行的应用编排方法,该云平台100可以包括一个或多个计算机,如至少一个通用计算机、专用服务器、计算机服务器、刀片式服务器、服务器集群或其他适当的布置和/或组合,通过与技术人员使用的电子设备进行通信,实现本申请提出的应用编排方法,实现过程可以参照下文实施例对应部分的描述。可选的,云平台100可以包括但并不局限于k8s(Kubernetes,一种可移植、可扩展的开源平台,具有基于容器技术的分布式架构)、k3s(其中轻量级的Kubernetes)、KubeEdge等开源平台,支持多种边缘技术场景,本申请对支持不同开源平台对应的系统架构不做详述。
边缘集群200可以包括至少一个边缘设备,该边缘设备可以是向企业或服务提供商核心网络提供入口点的设备,如路由器、路由交换机、集成接入设备(Integrated AccessDevice,IAD)、多路复用器,以及各种城域网(Metropolitan Area Network,MAN)和广域网(Wide Area Network,WAN)接入设备等,可以依据边缘计算场景的实际需求确定应用部署所需的边缘设备类型。因此,该边缘集群200可以包括但并不局限于k8s集群、k3s集群、KubeEdge集群等。
在实际应用中,如图2所示,云平台100和边缘集群200之间可以采用消息发布订阅方式进行通信交互,可见,上述系统架构还可以包括消息中间件300,如NATS(一种开源、轻量级、高性能的分布式消息中间件)服务器,采用基于主题的消息传递方式,实现云平台100与各边缘集群200之间的通信,本申请对实现这种消息发布订阅的通信方式的工作原理不做详述。
基于此,在本申请实施例中,云平台100执行本申请提出的应用编排方法,创建满足应用编排请求的应用部署方案后,可以据此确定不同边缘集群的分发信息,如待部署应用的应用模板及其依赖的应用资源等,发布分发信息至消息中间件(如NATS服务器),以使该消息中间件将所接收到的分发信息,发送至对应的订阅者(即一个或多个边缘集群中的边缘设备),以使边缘设备基于自身的应用引擎和工作流引擎,实现应用部署。
可选的,对于执行应用部署操作的边缘集群中的边缘设备,在执行应用工作流的工作步骤执行过程中,可以同步监测工作步骤执行情况,得到对应的应用部署状态,在该场景下,该边缘设备可以作为消息发布者,将应用部署状态这一发布信息发送至消息中间件,再由该消息中间件将来自各边缘集群的发布信息,发送至该场景下的云平台这一消息订阅者,由云平台对接受到的各应用部署状态进行分析,确定所创建的对应应用部署方案的执行状态,从而实现多集群环境下各边缘应用或复杂应用相关自应用的工作状态的实时监控,实现过程本申请不做详述。
需要说明,对于云平台100与各边缘集群200之间的通信方式,包括但并不局限于上文描述的消息发布订阅方式,根据不同通信环境灵活调整,如通过API服务器实现云平台100与各边缘集群200之间的数据和信息传递等,本申请不做一一举例详述。
另外,图1和图2所示的系统结构并不构成对本申请实施例中适用于本申请提出的应用编排方法的应用环境的限定,在不同应用环境下,其系统还可以包括比图1或图2所示的更多的设备,如能够提供应用资源的第三方应用平台等,本申请在此不做一一列举。
参照图3,为本申请提出的应用编排方法的一可选示例的流程示意图,该方法可以适用于云平台,针对用户提出的任一应用编排需求,技术人员可以使用如手机、笔记本电脑、台式电脑等电子设备登录云平台,基于可视化界面实现应用编排,如图3所示,该方法可以包括:
步骤S31,获得针对应用编排请求的编排信息,创建对应的应用模板;
在实际应用中,用户可以使用电子设备登录云平台的操作界面,点击该操作界面上显示的“编排应用”功能按钮,获得对应的应用编排请求,进入相应的应用模板编排界面,从而按照用户需求在该应用模板编排界面执行不同输入操作,获得针对该应用编排请求的编排信息,但并不局限于本实施例描述的编排信息获得方法。
结合上文对本申请技术方案的相关描述,上述编排信息能表征所请求编排应用的交付过程,以及该交付过程所遵循的应用策略,本申请对编排信息的内容不做限制,可以依据实际需求进行灵活定义调整。可选的,其可以包括但并不局限于应用类型(即可适用的边缘集群类型,如k8s、k3s和/或KubeEdge等),用于实现所请求编排应用所支持的服务的组件以及组件特性,实现所请求编排应用在云边环境下的交付过程的应用工作流WorkFlow等,可见,对于不同用户需求所定义的编排信息内容可以不同,据此构建的应用模板不同。
可选的,在本申请实际应用中,云平台获得针对应用编排请求的编排信息后,如用户在云平台的可视化界面上定义用于云边应用部署所需的各编排信息后,可以将其发送至云平台的应用模板引擎进行实例化,得到对应的应用模板,关于应用模板引擎的工作原理本申请不做详述。
步骤S32,检测对所创建的多个应用模板的部署操作,获得对应的应用部署方案;
本申请按照上文描述的方法,创建满足本次应用编排需求的多个应用模板后,需要进一步确定这多个应用模板的执行顺序,以及每个应用模板可以运行在云平台或指定的某一个或多个边缘集群等部署要求,以得到针对所创建的这多个应用模板的应用部署方案。因此,本申请可以进入应用部署规划界面,以执行针对不同应用模板的执行顺序的部署操作,以及部署对象的选择操作,获得对应的至少可以包括多个应用模板之间的依赖关系,以及每个应用模板的部署对象的应用部署方案,但并不局限于本实施例描述的部署实现方法。
其中,对于所创建的各应用模板,可能需要运行在不同的边缘集群,可以依据实际需求,从云平台通信连接的多个边缘集群中,选择一个或多个边缘集群,确定为对应的某个应用模板的部署对象,本申请对需要运行所创建的应用模板的部署对象内容不做限制,可视情况而定。
步骤S33,依据该应用部署方案,向边缘集群发送对应部署的应用模板;
如上述分析,本申请是直接登录云平台,针对应用编排请求,统一定义各边缘集群需要运行的应用模板,以及不同应用模板之间依赖关系等,得到对应的应用部署方案,之后,针对该应用编排请求的应用部署过程中,云平台可以直接按照该应用部署方案,将所构建的各应用模板下发至对应的部署对象,即至少一个边缘集群中,无需用户到边缘集群的边缘设备本地进行应用部署,本申请提出的这种云端集中管控应用部署流程的方式,极大降低了应用部署成本,且无需了解复杂的云边交互细节,即可实现复杂应用部署流程,提高了应用部署效率。
步骤S34,获得所创建的多个应用模板各自所依赖的应用资源,向边缘集群发送对应部署的应用模板所依赖的应用资源。
应该理解,边缘集群运行被统一部署的应用模板,需要执行该应用模板所依赖的各应用资源,如一个应用模板所具有的各组件定义的待交付服务,如容器镜像、Helm(一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理本地和远程的Chart仓库等)Chart等资源,本申请对不同应用模板所依赖的应用资源内容不做限制,可依据对应应用模板内容确定,本申请不做一一举例详述。
在云平台按照所创建的应用部署方案,将统一创建的多个应用模板下发至对应边缘集群过程中,还可以将每个应用模板所依赖的应用资源发送至对应的边缘集群,以保证作为一部署对象的边缘集群可以正常运行来自云平台的应用模板,实现应用部署。
其中,上述各应用资源可以是云平台自身所具有的资源,也可以是云平台依据各应用模板内容,从对应的第三方应用平台获取的资源,本申请对各应用资源的来源和内容不做限制,可视情况而定。
参照图4,为本申请提出的应用编排方法的又一可选示例的流程示意图,本实施例可以对上文提出的应用编排方法的一可选细化实现方式进行描述,如图4所示,该方法可以包括:
步骤S41,获得应用编排请求,输出应用模板编排界面;
结合上文对本申请提出的应用模板编排方式的相关描述,本申请可以在云平台上统一定义不同边缘集群所需运行的应用模板,因此,用户使用电子设备通过网页方式或专用客户端等登录云平台后,触发应用编排功能后,可以获得对应的应用编排请求,输出用于编排各应用模板的应用模板编排界面,且在该应用编排界面上能显示不同类型的候选编排对象,以供用户直接选择当前要创建的应用模板所需的编排对象,本申请对应用模板编排界面的布局方式及其包含的候选编排对象的类别等不做限制,可以依据实际需求进行动态调整。
可选的,结合上文对编排信息的相关描述,上述候选编排对象的类型可以包括但并不局限于:候选应用策略Policy和候选工作流Workflow,该候选工作流Workflow能表征应用交付过程,可以由多个工作步骤构成,如人工审核、数据传递、通知等步骤。用户可以依据应用编排需求,动态调整所显示的候选工作流包含的各工作步骤,如增加或删除某一个或多个工作步骤,或修改至少一个工作步骤等,以更新所显示的候选工作流,得到所需的应用工作流。
上述候选应用策略Policy能指导实现应用交付过程,用户可以依据应用部署实际需求,定义本次部署应用所要遵循的应用策略,即定义所请求编排应用交互付过程的策略,如多边缘部署的差异化配置、资源回收策略等,本申请对云平台所提供的各候选应用策略的内容不做详述。
本申请实际应用中,在需要配置所需应用策略时,可以进入应用策略配置界面,依据实际需求从所显示的各候选应用策略中,选择至少一个候选应用策略作为当前所要创建的应用模板部署时所要遵循的应用策略。若应用策略配置界面所显示的各候选应用策略都不符合需求,可以在该界面中自定义应用策略,关于应用策略的自定义配置实现过程本申请不做详述。
步骤S42,响应对候选编排对象的输入操作,得到符合应用编排请求的编排对象;
如上述分析,对于不同类型的候选编排对象,可以采用不同的输入操作方式,得到对应类型的编排对象,包括但并不局限于上文描述的应用策略和应用工作流的获得方式。应该理解的是,上述应用模板编排界面所能显示的候选编排对象的类型还可以包括候选应用组件Component、候选组件特性Trait以及候选应用类型Type等,用户可以采用如上述的输入或选择等编辑方式,获得对应类型的编排对象。
其中,候选应用类型Type可以是应用模板的作用域,包括但并不局限于上文描述的k8s、k3s、KubeEdge三种应用类型,可以表示所定义的应用模板支持的集群类型,这样,在多集群场景下,在应用模板编排阶段可以选择一种或多种候选应用类型为所请求编排应用的应用类型。
上述候选应用组件Component可以是一个微服务单元,包含一个用于频繁迭代的服务,以及所依赖的中间件集合。用户通过选择候选应用组件或自定义应用组件,来确定一个应用模板所包含的待交付制品。候选组件特性Trait可以是可插拔、模块化的应用特性,可以包括但并不局限于应用副本数调整、数据持久化、设置DNS解析等,针对所定义的每个应用组件,可以选择或编辑其所具有的组件特性,将一个或多个候选组件特性与待部署的应用组件绑定。
步骤S43,依据所得到的编排对象,获得满足应用编排请求的编排信息;
步骤S44,依据该编排信息,创建对应的应用模板;
按照上文描述方法,用户可以在云平台上统一定义所请求编排应用所需的多个应用模板ApplicationTepmlate应用,得到的对应编排信息,此时该编排信息可以包括但并不局限于上文描述的应用类型、应用组件、组件特性、应用策略以及应用工作流等编排对象内容,之后,可以提交至云平台的应用模板引擎进行实例化处理,得到对应的应用模板。
示例性的,以定义名称为server与client两个应用模板为例进行说明。本次应用部署所依赖的应用模板server可以为:
Figure BDA0003893254810000111
Figure BDA0003893254810000121
本次部署应用的应用模板client可以为:
Figure BDA0003893254810000122
由此可见,本申请在云平台上统一编排创建的各应用模板,可以包括但并不局限于上文描述的多种编排对象,上文应用模板server和client的内容并不局限于示例内容,可依据实际需求进行灵活调整。
步骤S45,获得应用部署规划请求,输出应用部署规划界面;
本申请按照上文描述的方法创建多个应用模板apptemplates之后,可以进一步在云平台上确定这些应用模板的执行顺序,以及运行每个应用模板的各边缘集群等部署计划plan,如可以触发当前界面所显示的编排应用部署方案的功能按钮(即规划应用部署方案的部署入口entrypointy,但并不局限于这种进入方式),获得应用部署规划请求,从而输出应用部署规划界面,在该应用部署规划界面上能显示所创建的多个应用模板以及连接云平台的多个边缘集群等,当然还可以显示用于构成应用部署方案的其他内容,本申请在此不做一一举例详述。
需要说明,由于规划的应用部署方案plan可能是多个,为了区分不同的应用部署方案,在规划每一个应用部署方案时,可以在部署入口填写本次需要部署的应用部署方案plan的方案标识,如应用部署方案名称name。
步骤S46,响应对所显示的多个应用模板的执行顺序部署操作,确定多个应用模板之间的依赖关系;
本申请实施例中,在部署应用部署方案时,可以指定本次规划的应用部署方案所涉及到的应用模板apptemplates,并通过确定这多个应用模板之间的依赖关系,获得该应用部署方案所涉及到的各应用模板的执行顺序。可选的,该依赖关系或执行顺序可以由有向无环图dag表示,用户可以操作多个应用模板各自在有向无环图中的先后顺序,确定不同应用模板之间的依赖关系,即确定多个应用模板的执行顺序,实现过程不做详述。
示例性的,可以由Depends定义所表示依赖的对象,如应用模板B依赖应用模板A,需要在应用模板A完成部署后再部署应用模板B,对此的的部署方案可以为:
Figure BDA0003893254810000131
步骤S47,响应针对所部署的每个应用模板的部署对象选择操作,确定所选择的至少一个边缘集群为该应用模板的部署对象;
步骤S48,响应应用部署方案创建操作,依据确定的多个应用模板之间的依赖关系以及各自的部署对象,创建对应的应用部署方案;
如上述分析,对于所创建的每个应用模板,可以指定其作用域,如指定的某个边缘集群nodes,或至少一个由多个边缘集群nodes组成的边缘集群组groups等,可以依据实际应用需求确定各应用模板的部署对象,即至少一个边缘集群,可以由边缘集群/边缘集群组的id、name等集群标识表示。需要说明,该部署对象的选择操作,可以在选择确定应用模板之间的依赖关系时执行,并不局限于本实施例描述的步骤执行顺序,且对于所创建的应用部署方案包括但并不局限于本实施例描述的依赖关系和部署对象,可以依据实际需求进行灵活调整。
按照上述方法,确定构成应用部署方案的各应用部署信息后,可以将其发送至云平台的应用引擎进行实例化处理,得到包含或表征这些应用部署信息的应用部署方案,示例性的,如下文所示的一种应用部署方案,可以包括但并不局限于以下内容:
Figure BDA0003893254810000141
Figure BDA0003893254810000151
由上文示例的应用部署方案可知,在应用application中可以通过outputs(某应用模板的输出端)和inputs(另一个应用模板的输入端)来指定要传输的数据。outputs可以由声明函数from和parameterKey(参数键)组成,该from可以声明对应的输入input从哪个输出output中取值,parameterKey可以为一个表达式,可以将input取得的值赋给对应的字段。outputs可以由名称name和valueFrom组成,name声明对应output的名称,在input中将通过from引用output。
步骤S49,依据该应用部署方案,向边缘集群发送对应部署的应用模板;
步骤S410,获得所创建的多个应用模板各自所依赖的应用资源,向边缘集群发送对应部署的应用模板所依赖的应用资源。
关于步骤S49和步骤S410的实现过程可以参照上下文对应部分的描述,本申请实施例在此不做详述。
综上,本申请实施例中,用户可以登录云平台,采用可视化的应用编排方式,统一构建满足应用编排请求的多个应用模板,以及针对这多个应用模板的应用部署方案,降低了用户应用编排的难度和门槛,让非专业的人员也能够快速高效的部署应用,且无需到边缘设备本地进行应用部署,直接在云平台集中管控应用部署流程,降低了管理成本;云平台可以依据所构建的应用部署方案,直接下发应用模板到边缘集群,实现云边之间复杂应用的原子性执行,在多集群环境中可以执行复杂的批量应用,大大提高了应用交付效率。
参照图5,为本申请提出的应用编排方法的又一可选示例的流程示意图,为了提高应用部署可靠性,可以在上文描述的应用编排方法的基础上,对所构建的应用部署方案进行合法性检测,和/或实时收集多集群环境下各边缘应用或复杂应用的工作状态,因此,如图5所示,该方法可以包括:
步骤S51,获得针对应用编排请求的编排信息,创建对应的应用模板;
步骤S52,检测对所创建的多个应用模板的部署操作,获得对应的应用部署方案;
关于步骤S51和步骤S52的实现过程,可以参照上文实施例对应部分的描述,本实施例在此不做详述。
步骤S53,按照预设检测规则,对应用部署方案涉及到的多个应用模板进行合法性检测;
本申请实施例中,用户将上述创建的应用部署方案appdeployplan提交至云平台的应用引擎进行实例化处理过程中,可以先对该应用部署方案进行合法性检测,以避免继续执行不合法应用部署方案,导致所部署应用出错。本申请对该合法性检测实现方法不做限制,结合上文对应用部署方案appdeployplan的构建过程及其涉及到的应用模板apptemplates的创建过程的相关描述,该合法性检测过程可以包括但并不局限于以下实现方式:
检测应用部署方案涉及到的各应用模板的部署对象是否存在于边缘计算系统中,即检测appdeployplan定义中apptemplates所有应用包含的groups、nodes包含的节点是否存在于系统中;和/或,用于创建应用模板所需的编排信息还可以包括针对所请求编排应用的应用类型,这种情况下,还可以检测应用部署方案涉及到的各应用模板的部署对象的集群类型,与该应用模板依赖的编排信息中的应用类型是否匹配,即检测appdeployplan定义apptemplates所有应用包含的groups、nodes的集群类型是否与其依赖的ApplicationTepmlate定义的type相匹配;和/或,检测应用部署方案涉及到的各应用模板依赖的所述编排信息是否合法,即检测appdeployplan定义中所有包含apptemplates是否已合法定义。
基于此,在按照如上文描述的实现方式进行合法性检测,确定预设检测规则所包含的实现方式的检测结果都是合法,即检测涉及到的多个应用模板都合法的情况下,说明对相应的应用部署方案合法;反之,若有一个上述实现方式的检测结果为不合法,说明该应用部署方案不合法。
步骤S54,确定存在不合法应用模板,输出针对该应用部署方案对应的异常提示信息,以指示更新应用部署方案涉及到的不合法应用模板;
按照上文描述的合法性检测方法,确定存在检测不合格的应用模板,可以在对应的应用部署方案的检测状态中添加对应的非法的错误提示,即上述针对合法应用模板的异常提示信息,以指示用户据此更新对应的不合法应用模板,得到新的应用部署方案后再按照上述方法进行合法性检测,关于不合法应用模板的更新实现方法,可以参照上文描述的应用模板创建方法,本申请实施例不做详述。
步骤S55,确定多个应用模板都合法,依据该应用部署方案,向边缘集群发送对应部署的应用模板;
步骤S56,获得所创建的多个应用模板各自所依赖的应用资源,向边缘集群发送对应部署的应用模板所依赖的应用资源;
关于步骤S55和步骤S56的实现过程,可以参照上文实施例对应部分的描述,本实施例不做详述。
步骤S57,获得各边缘集群对所接收到的应用模板的应用部署状态;
步骤S58,依据该应用部署状态,同步更新所述应用部署方案的执行状态;
步骤S59,输出应用部署方案同步更新后的执行状态。
应该理解的是,边缘集群接收到云平台下发的应用模板和应用资源后,可以将该应用模板中涉及到部署对象的内容剔除,对应用模板的其他内容对象进行解析,得到对应的应用资源,提交至边端的应用引擎实例中,触发指定应用的创建过程,该应用引擎可以将接收到的应用模板包含的内容对象解析为应用工作流对象,发送至工作流引擎执行,实现应用部署。
由于一个应用部署方案往往涉及到多个应用模板,每个应用模板可以分布在不同的边端集群执行,通过综合所有应用模板的实时执行状态,可以确定应用部署方案的实时执行状态,如一个应用部署方案由n个应用模板组成,每个应用模板部署完成,该应用部署方案更新的状态百分比可以为1/n*100/%,对于每个边缘集群执行应用模板的应用部署状态,以及由此得到的应用部署方案的执行状态,可以实时更新并输出,以供用户监控各边缘的应用部署进度。
参照图6,为本申请提出的应用编排方法的又一可选示例的流程示意图,该方法可以适用于边缘集群,参照上文从云平台侧描述的应用编排方法,下面将从边端说明应用编排方法,如图6所示,该方法可以包括:
步骤S61,获得应用模板以及所述应用模板依赖的应用资源;
结合上文登录云平台所执行的应用编排方法的相关描述可知,应用模板可以是云平台依据针对应用编排请求的编排信息创建,该编排信息能表征所请求编排应用的交付过程,以及该交付过程所遵循的应用策略;所述应用资源是云平台依据所述应用模板的编排信息获得,实现过程本申请实施例在此不做详述。
步骤S62,解析该应用模板,得到所请求编排应用所依赖的工作流;
步骤S63,依据该应用资源,执行工作流包含的各工作步骤,实现请求编排应用的部署;
对于边端的任一边缘集群中的边缘设备,可以依据所接收到的应用模板和应用资源,在边缘集群包含的边缘设备中进行应用部署。参照图7所示的流程示意图,云平台统一编排应用模板和应用部署方案,经过合法性检测后,应用引擎可以监听应用部署方案的资源,按照该应用部署方案,生成对应的控制器核心逻辑,据此发布应用请求提交至云管理模块,还可以解析该应用部署方案,触发该云管理模块执行控制器核心逻辑,将对应的应用模板同步至边缘集群,同时将应用模板所依赖的应用资源同步至对应的边缘集群。
对于云平台发布的如上述信息,可以采用消息发布订阅方式,发送至边缘集群,由各边缘设备所拥有的应用引擎解析所接收到的应用模板,将得到的工作引擎WorkFlow发送至工作流引擎,执行构成该工作流引擎的工作步骤,包括执行嵌套复杂工作流,本申请对工作流引擎如何执行云平台侧统一定义的应用工作流的实现过程不做详述。
步骤S64,监听该应用模板所依赖的工作流中各工作步骤的步骤执行状态;
步骤S65,依据该步骤执行状态,获得边缘集群对应用模板的应用部署状态;
步骤S66,将该应用部署状态发送至云平台。
对于边缘的每个边缘设备执行工作流(即所要部署的边缘应用所依赖的工作流)过程中,可以由应用引擎实时采集运行状态,即监听边缘设备的工作流引擎的状态更新应用状态,即步骤执行状态,其中,在执行该工作流的每个工作步骤step前,可以触发容器初始化操作init container,该工作步骤执行后可以自动触发wait container,通过检测对应的参数,确定该工作步骤是否执行完。
基于此,应用引擎监听到执行工作流的第一工作步骤step的init container时,标记应用开始执行,监听到该工作每个工作步骤step的wait container的执行末尾,收集本工作步骤的执行结果,更新应用目标的执行进度百分比,如一个应用模板由一个workflow组成,分n个step执行,每个step完成,该应用模板完成1/n*100/%。
按照上文描述的状态检测方法,按照第一个application(应用,即应用模板实例)对应的工作流,执行第一个工作步骤step的init container时,可以通过云边通道(即云端与边端之间的通信通道/数据传输通道),触发云平台上的应用引擎创建一个appdeployplan对象,即应用部署方案状态对象,用于记录应用部署方案的执行状态,可以在工作流的每个step状态实时更新后,同时上报至云端的应用引擎,更新云端appdeployplan的status状态信息,即实时更新对应的应用部署状态,供用户使用,但并不局限于本实施例描述的状态更新方法。
参照图8,为本申请提出的应用编排装置的一可选示例的结构示意图,该装置可以从云平台侧进行描述,如图8所示,该装置可以包括:
应用模板创建模块81,用于获得针对应用编排请求的编排信息,创建对应的应用模板;所述编排信息能表征所请求编排应用的交付过程,以及所述交付过程所遵循的应用策略;
应用部署方案获得模块82,用于检测对所创建的多个所述应用模板的部署操作,获得对应的应用部署方案;所述应用部署方案包括多个所述应用模板之间的依赖关系,以及每个所述应用模板的部署对象;所述部署对象包括至少一个边缘集群;
应用模板发送模块83,用于依据所述应用部署方案,向所述边缘集群发送对应部署的所述应用模板;
应用资源发送模块84,用于获得所创建的多个所述应用模板各自所依赖的应用资源,向所述边缘集群发送对应部署的所述应用模板所依赖的应用资源。
可选的,上述应用模板创建模块81可以包括:
应用模板编排界面输出单元,用于获得应用编排请求,输出应用模板编排界面;所述应用模板编排界面能显示不同类型的候选编排对象;所述候选编排对象的类型包括候选应用策略和候选工作流,所述候选工作流能表征应用交付过程,所述候选应用策略能指导实现所述应用交付过程;
编排对象得到单元,用于响应对所述候选编排对象的输入操作,得到符合所述应用编排请求的编排对象;
编排信息获得单元,用于依据所得到的所述编排对象,获得满足所述应用编排请求的编排信息。
可选的,上述应用部署方案获得模块82可以包括:
应用部署规划界面输出单元,用于获得应用部署规划请求,输出应用部署规划界面;所述应用部署规划界面能显示所创建的多个所述应用模板以及连接所述云平台的多个边缘集群;
依赖关系确定单元,用于响应对所显示的多个所述应用模板的执行顺序部署操作,确定多个所述应用模板之间的依赖关系;
部署对象确定单元,用于响应针对所部署的每个所述应用模板的部署对象选择操作,确定所选择的至少一个所述边缘集群为该应用模板的部署对象;
应用部署方案创建单元,用于响应应用部署方案创建操作,依据确定的多个所述应用模板之间的依赖关系以及各自的所述部署对象,创建对应的应用部署方案。
在又一些实施例中,如图9所示,上述装置还可以包括:
合法性检测模块85,用于按照预设检测规则,对所述应用部署方案涉及到的多个所述应用模板进行合法性检测;
异常提示信息输出模块86,用于确定存在不合法应用模板,输出针对所述应用部署方案对应的异常提示信息,以指示更新所述应用部署方案涉及到的所述不合法应用模板。
可选的,合法性检测模块85可以包括:
第一检测单元,用于检测所述应用部署方案涉及到的各所述应用模板的部署对象是否存在于边缘计算系统中;和/或,
第二检测单元,用于检测所述应用部署方案涉及到的各所述应用模板的部署对象的集群类型,与该应用模板依赖的所述编排信息中的应用类型是否匹配;和/或,
第三检测单元,用于检测所述应用部署方案涉及到的各所述应用模板依赖的所述编排信息是否合法。
在又一些实施例中,如图9所示,上述装置还可以包括:
应用部署状态获得模块87,用于获得各所述边缘集群对所接收到的所述应用模板的应用部署状态;
执行状态更新模块88,用于依据所述应用部署状态,同步更新所述应用部署方案的执行状态;
执行状态输出模块89,用于输出所述应用部署方案同步更新后的执行状态。
参照图10,为本申请提出的应用编排装置的又一可选示例的结构示意图,该装置可以从边缘集群侧进行描述,如图10所述,该装置可以包括:
信息获得模块101,用于获得应用模板以及所述应用模板依赖的应用资源;其中,所述应用模板是云平台依据针对应用编排请求的编排信息创建,所述编排信息能表征所请求编排应用的交付过程,以及所述交付过程所遵循的应用策略;所述应用资源是所述云平台依据所述应用模板的编排信息获得;
应用部署模块102,用于依据所述应用模板和所述应用资源,在所述边缘集群包含的边缘设备中进行应用部署。
可选的,该应用部署模块102可以包括:
工作流得到单元,用于解析所述应用模板,得到所请求编排应用所依赖的工作流;
执行单元,用于依据所述应用资源,执行所述工作流包含的各工作步骤,实现所述请求编排应用的部署。
在又一些实施例中,如图10所示,上述装置还可以包括:
步骤执行状态监听模块103,用于监听所述应用模板所依赖的工作流中各工作步骤的步骤执行状态;
应用部署状态获得模块104,用于依据所述步骤执行状态,获得所述边缘集群对所述应用模板的应用部署状态;
应用部署状态发送模块105,用于将所述应用部署状态发送至云平台。
需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
本申请还提供了一种计算机可读存储介质,其上可以存储计算机程序,该计算机程序可以被处理器调用并加载,以实现上述实施例描述的应用编排方法的各个步骤,实现过程本申请实施例在此不做赘述。
参照图11,为适用于本申请提出的应用编排方法的计算机设备的一可选示例的硬件结构示意图,该计算机设备可以是服务器或边缘设备或电子设备,位于云端或边端,实现上文描述的对应侧执行的应用编排方法。如图11所示,该计算机设备可以包括:至少一个存储器111和至少一个处理器112,其中:
存储器111可以用于存储实现上述对应侧方法实施例描述的应用编排方法的程序;处理器112可以加载并执行存储器存储的该程序,以实现上述相应侧方法实施例描述的应用编排方法的各个步骤,具体实现过程可以参照上述实施例相应部分的描述,不再赘述。
在实际应用中,存储器111和处理器112可以连接通信总线,通过该通信总线实现相互之间,以及与计算机设备的其他结构组成之间的数据交互,具体可以根据实际需求确定,本申请不做详述。
本申请实施例中,存储器111可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器112,可以为中央处理器(CentralProcessing Unit,CPU)、特定应用集成电路(application-specificintegrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
应该理解的是,图11所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图11所示的更多的部件,或者组合某些部件,如数据库、各种输入组件、输出组件、传感器等,本申请在此不做一一列举。
最后,需要说明的是,关于上述各实施例中,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请涉及到的术语诸如“第一”、“第二”等仅用于描述目的,用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
另外,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备、系统而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种应用编排方法,应用于云平台,所述方法包括:
获得针对应用编排请求的编排信息,创建对应的应用模板;所述编排信息能表征所请求编排应用的交付过程,以及所述交付过程所遵循的应用策略;
检测对所创建的多个所述应用模板的部署操作,获得对应的应用部署方案;所述应用部署方案包括多个所述应用模板之间的依赖关系,以及每个所述应用模板的部署对象;所述部署对象包括至少一个边缘集群;
依据所述应用部署方案,向所述边缘集群发送对应部署的所述应用模板;
获得所创建的多个所述应用模板各自所依赖的应用资源,向所述边缘集群发送对应部署的所述应用模板所依赖的应用资源。
2.根据权利要求1所述的方法,所述获得针对应用编排请求的编排信息,包括:
获得应用编排请求,输出应用模板编排界面;所述应用模板编排界面能显示不同类型的候选编排对象;所述候选编排对象的类型包括候选应用策略和候选工作流,所述候选工作流能表征应用交付过程,所述候选应用策略能指导实现所述应用交付过程;
响应对所述候选编排对象的输入操作,得到符合所述应用编排请求的编排对象;
依据所得到的所述编排对象,获得满足所述应用编排请求的编排信息。
3.根据权利要求1所述的方法,所述检测对所创建的多个所述应用模板的部署操作,获得对应的应用部署方案,包括
获得应用部署规划请求,输出应用部署规划界面;所述应用部署规划界面能显示所创建的多个所述应用模板以及连接所述云平台的多个边缘集群;
响应对所显示的多个所述应用模板的执行顺序部署操作,确定多个所述应用模板之间的依赖关系;
响应针对所部署的每个所述应用模板的部署对象选择操作,确定所选择的至少一个所述边缘集群为该应用模板的部署对象;
响应应用部署方案创建操作,依据确定的多个所述应用模板之间的依赖关系以及各自的所述部署对象,创建对应的应用部署方案。
4.根据权利要求1-3任一项所述的方法,所述方法还包括:
按照预设检测规则,对所述应用部署方案涉及到的多个所述应用模板进行合法性检测;
确定存在不合法应用模板,输出针对所述应用部署方案对应的异常提示信息,以指示更新所述应用部署方案涉及到的所述不合法应用模板。
5.根据权利要求4所述的方法,所述按照预设检测规则,对所述应用部署方案涉及到的多个所述应用模板进行合法性检测,包括:
检测所述应用部署方案涉及到的各所述应用模板的部署对象是否存在于边缘计算系统中;和/或,
检测所述应用部署方案涉及到的各所述应用模板的部署对象的集群类型,与该应用模板依赖的所述编排信息中的应用类型是否匹配;和/或,
检测所述应用部署方案涉及到的各所述应用模板依赖的所述编排信息是否合法。
6.根据权利要求1-3任一项所述的方法,所述方法还包括:
获得各所述边缘集群对所接收到的所述应用模板的应用部署状态;
依据所述应用部署状态,同步更新所述应用部署方案的执行状态;
输出所述应用部署方案同步更新后的执行状态。
7.一种应用编排方法,应用于边缘集群,所述方法包括:
获得应用模板以及所述应用模板依赖的应用资源;其中,所述应用模板是云平台依据针对应用编排请求的编排信息创建,所述编排信息能表征所请求编排应用的交付过程,以及所述交付过程所遵循的应用策略;所述应用资源是所述云平台依据所述应用模板的编排信息获得;
依据所述应用模板和所述应用资源,在所述边缘集群包含的边缘设备中进行应用部署。
8.根据权利要求7所述的方法,所述依据所述应用模板和所述应用资源,在所述边缘集群包含的边缘设备中进行应用部署,包括:
解析所述应用模板,得到所请求编排应用所依赖的工作流;
依据所述应用资源,执行所述工作流包含的各工作步骤,实现所述请求编排应用的部署。
9.根据权利要求7或8所述的方法,所述方法还包括:
监听所述应用模板所依赖的工作流中各工作步骤的步骤执行状态;
依据所述步骤执行状态,获得所述边缘集群对所述应用模板的应用部署状态;
将所述应用部署状态发送至云平台。
10.一种计算机可读存储介质,其上存储计算机程序,所述计算机程序被处理器执行,实现如权利要求1-9任一项所述的应用编排方法。
CN202211266025.7A 2022-10-17 2022-10-17 一种应用编排方法及存储介质 Pending CN115509761A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211266025.7A CN115509761A (zh) 2022-10-17 2022-10-17 一种应用编排方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211266025.7A CN115509761A (zh) 2022-10-17 2022-10-17 一种应用编排方法及存储介质

Publications (1)

Publication Number Publication Date
CN115509761A true CN115509761A (zh) 2022-12-23

Family

ID=84509563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211266025.7A Pending CN115509761A (zh) 2022-10-17 2022-10-17 一种应用编排方法及存储介质

Country Status (1)

Country Link
CN (1) CN115509761A (zh)

Similar Documents

Publication Publication Date Title
US10824948B2 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
US11327749B2 (en) System and method for generating documentation for microservice based applications
EP3511824A1 (en) Method and system of providing artifacts in a cloud computing environment
US9548886B2 (en) Help desk ticket tracking integration with root cause analysis
US9276803B2 (en) Role based translation of data
US11487546B2 (en) Change management of services deployed on datacenters configured in cloud platforms
US10284634B2 (en) Closed-loop infrastructure orchestration templates
US11394801B2 (en) Resiliency control engine for network service mesh systems
US10091123B2 (en) System and user interface for coordinating distributed workflow between multiple computing systems
US11349958B1 (en) Deployment of software releases on datacenters configured in cloud platforms
US11392361B2 (en) Software release orchestration for continuous delivery of features in a cloud platform based data center
US20240220222A1 (en) Orchestration of datacenter creation on a cloud platform
US11973850B2 (en) System and method for automatic deployment of a cloud environment
US11403145B1 (en) Enforcing system configuration freeze of services deployed via continuous delivery on datacenters configured in cloud platforms
US20120072916A1 (en) Future system that can participate in systems management activities until an actual system is on-line
US11030015B2 (en) Hardware and software resource optimization
EP3624027A1 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
US20210011947A1 (en) Graphical rendering of automata status
CN116149824A (zh) 任务重跑的处理方法、装置、设备及存储介质
CN115509761A (zh) 一种应用编排方法及存储介质
US11240107B1 (en) Validation and governance of a cloud computing platform based datacenter
US20240256297A1 (en) Orchestration of datacenter destruction on a cloud platform
US20240004698A1 (en) Distributed process engine in a distributed computing environment
US11985051B1 (en) Dynamically visualizing service mesh topologies with event-based messaging
US20240036929A1 (en) Orchestration of operations on a cloud platform based on multiple version maps of services

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