任务部署方法、服务平台、部署平台、设备和存储介质转让专利

申请号 : CN202211234458.4

文献号 : CN115309400B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝文杰

申请人 : 阿里巴巴(中国)有限公司

摘要 :

本发明实施例提供一种任务部署方法、服务平台、部署平台、设备和存储介质,该方法包括:PaaS平台响应于使用方触发的部署操作,加载包含通用部署信息的配置文件,同时还可以获取用于描述待部署任务的任务需求的自定义资源,并最终根据自定义资源和配置文件进行待部署任务的部署。上述方法中,借助资源自定义机制,使用方可以在关注任务需求的情况下,实现自定义资源的注册,开发方也可以在关注通用部署信息的情况下编写配置文件。也即是在自定义资源的注册和配置文件的编写过程中相关人员只需关注一方面信息而无需考虑其他信息,从而使得资源注册和配置文件的编写过程更为简洁,效率更高,进一步地,也提高了PaaS平台部署任务的效率。

权利要求 :

1.一种任务部署方法,其特征在于,应用于平台即服务PaaS平台,包括:响应于使用方在所述PaaS平台的操作界面上触发的部署操作,加载开发方编写的配置文件,包含通用部署信息的所述配置文件预先部署到所述PaaS平台中;

获取注册在容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;

根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,在所述容器编排系统中确定目标实例,所述目标实例提供的功能与待部署任务相同,所述目标实例为所述容器编排系统中的固有实例;

根据所述目标实例部署满足所述任务需求的待部署任务。

2.根据权利要求1所述的方法,其特征在于,所述获取注册在容器编排系统中的自定义资源,包括:响应于所述部署操作,控制所述容器编排工具调用所述自定义资源;

根据所述自定义资源调用过程中使用的第一接口调用关系,获取所述自定义资源。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:响应于所述自定义资源的调用,从所述容器编排系统中的数据存储组件中读取第一接口调用关系,其中,所述容器编排系统中的接口服务组件响应于所述自定义资源的调用,将所述第一接口调用关系写入所述数据存储组件。

4.根据权利要求2所述的方法,其特征在于,所述根据所述目标实例部署满足所述任务需求的待部署任务,包括:确定所述目标实例对应的第二接口调用关系;

根据所述目标实例、所述第二接口调用关系以及所述通用部署信息,部署所述待部署任务。

5.根据权利要求4所述的方法,其特征在于,所述根据所述目标实例、所述第二接口调用关系以及所述通用部署信息,部署所述待部署任务之后,所述方法还包括:确定所述目标实例的运行状态;

若所述目标实例中的任一实例发生故障,则控制所述任一实例重启或者重新创建与所述任一实例具有相同实例属性的备用实例。

6.根据权利要求1所述的方法,其特征在于,

所述自定义资源在所述使用方在所述操作界面触发的注册操作后,注册到所述容器编排系统中的接口服务组件中。

7.一种服务平台,其特征在于,包括:控制器和操作界面;

所述控制器,用于响应于使用方在所述操作界面上触发的部署操作,加载开发方编写的配置文件,包含通用部署信息的所述配置文件预先部署到PaaS平台中;

获取注册在容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;

根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,在所述容器编排系统中确定目标实例,所述目标实例提供的功能与待部署任务相同,所述目标实例为所述容器编排系统中的固有实例;

根据所述目标实例部署满足所述任务需求的待部署任务。

8.一种部署平台,其特征在于,包括:容器编排系统以及平台即服务PaaS平台,所述PaaS平台包括控制器和操作界面;

所述控制器,用于响应于使用方在所述操作界面上触发的部署操作,加载开发方编写的配置文件,包含通用部署信息的所述配置文件预先部署到所述PaaS平台中;

获取注册在所述容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;

根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,在所述容器编排系统中确定目标实例,所述目标实例提供的功能与待部署任务相同,所述目标实例为所述容器编排系统中的固有实例;

根据所述目标实例部署满足所述任务需求的待部署任务;

所述容器编排系统,用于响应于所述部署操作,运行所述自定义资源,以使所述PaaS平台获取所述自定义资源。

9.根据权利要求8所述的平台,其特征在于,所述控制器,用于响应于所述容器编排系统对所述自定义资源的调用,根据调用过程中所述自定义资源对应的第一接口调用关系,获取所述自定义资源;

根据所述自定义资源,在所述容器编排系统中确定满足所述任务需求所需的目标实例;

确定所述目标实例对应的第二接口调用关系;

根据所述目标实例、所述第二接口调用关系以及所述通用部署信息,部署所述待部署任务。

10.根据权利要求9所述的平台,其特征在于,所述容器编排系统包括接口服务组件和数据存储组件;

所述控制器,用于响应于所述部署操作,控制所述容器编排系统调用所述自定义资源;

从所述数据存储组件中读取所述第一接口调用关系;

所述接口服务组件,用于响应于所述自定义资源的调用,将所述第一接口调用关系写入所述数据存储组件中。

11.根据权利要求9所述的平台,其特征在于,所述控制器,还用于确定所述目标实例的运行状态;

若所述目标实例中的任一实例发生故障,则控制所述任一实例重启或者重新创建与所述任一实例具有相同实例属性的备用实例。

12.根据权利要求9所述的平台,其特征在于,所述容器编排系统包括:调度组件和执行组件;

所述调度组件,用于将所述目标实例分配到所述容器编排系统中的工作节点上;

所述执行组件,用于根据所述目标实例的负载,对待处理数据进行转发。

13.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1 6中任一~项所述的任务部署方法。

14.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1 6中任一项所述的任务部署方法。

~

说明书 :

任务部署方法、服务平台、部署平台、设备和存储介质

技术领域

[0001] 本发明涉及云计算技术领域,尤其涉及一种任务部署方法、服务平台、部署平台、设备和存储介质。

背景技术

[0002] PaaS是(Platform as a Service)的缩写,是指平台即服务。PaaS平台是云计算的重要组成部分,其用于为按照用户需求为用户进行相应的部署。在实际中,可以借助PaaS平台部署为用户部署5G核心网,可以借助PaaS平台为用户提供开发和部署环境,以借助PaaS平台实现云应用程序的开发和部署。上述的5G核心网和云应用程序都可以认为是PaaS平台所要执行的部署任务。
[0003] 基于上述描述,如何提高任务的部署效率就成为一个亟待解决的问题。

发明内容

[0004] 有鉴于此,本发明实施例提供一种任务部署方法、服务平台、部署平台、设备和存储介质,用以提高任务部署效率。
[0005] 第一方面,本发明实施例提供一种任务部署方法,包括:
[0006] 响应于使用方在所述PaaS平台的操作界面上触发的部署操作,加载开发方编写的配置文件;
[0007] 获取注册在容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;
[0008] 根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,部署满足所述任务需求的待部署任务。
[0009] 第二方面,本发明实施例提供一种服务平台,包括:控制器和操作界面;
[0010] 所述控制器,用于响应于使用方在所述操作界面上触发的部署操作,加载开发方编写的配置文件;
[0011] 获取注册在容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;
[0012] 根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,部署满足所述任务需求的待部署任务。
[0013] 第三方面,本发明实施例提供一种部署平台,包括:容器编排系统以及平台即服务PaaS平台,所述PaaS平台包括控制器和操作界面;
[0014] 所述控制器,用于响应于使用方在所述操作界面上触发的部署操作,加载开发方编写的配置文件;获取注册在所述容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,部署满足所述任务需求的待部署任务;
[0015] 所述容器编排系统,用于响应于所述部署操作,运行所述自定义资源,以使所述PaaS平台获取所述自定义资源。
[0016] 第四方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的任务方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
[0017] 第五方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的任务部署方法。
[0018] 本发明实施例提供的任务部署方法中,PaaS平台响应于使用方在PaaS平台提供的操作界面上触发的部署操作,加载开发方预先编写的配置文件。此配置文件包括用于实现任务部署且与任务需求无关的通用部署信息。同时响应于此部署操作,PaaS平台还可以进一步获取注册在容器编排系统中、用于描述待部署任务的任务需求的自定义资源。最终,根据自定义资源和配置文件实现待部署任务的部署,并且部署完成的任务是满足任务需求的。
[0019] 上述方法中,借助资源自定义机制,使用方可以在关注任务需求的情况下,在容器编排系统中注册用于描述任务需求的自定义资源。同时,开发方也可以在关注通用部署信息的情况下编写配置文件。也即是在自定义资源的注册和配置文件的编写过程中相关人员只需关注一方面信息而无需考虑其他信息,从而使得资源注册和配置文件的编写过程更为简洁,效率更高,进一步地,PaaS平台可以使用配置文件和自定义资源高效地任务部署。

附图说明

[0020] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1为本发明实施例提供的一种部署平台的结构示意图;
[0022] 图2为本发明实施例提供的另一种部署平台的结构示意图;
[0023] 图3为本发明实施例提供的5G核心网部署过程的示意图;
[0024] 图4为本发明实施例提供的一种任务部署方法的流程图;
[0025] 图5为图4所示实施例中步骤S103的一种具体实现方式的流程图;
[0026] 图6为本发明实施例提供的另一种任务部署方法的流程图;
[0027] 图7为本发明实施例提供的一种服务平台的结构示意图;
[0028] 图8为本发明实施例提供的云直播应用部署过程的示意图;
[0029] 图9为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

[0030] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
[0032] 应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0033] 取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
[0034] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
[0035] 在对下述各实施例进行描述之前,还可以对任务部署过程中涉及到的角色进行介绍:
[0036] 使用方,即用于对待部署任务提出任务需求的角色。
[0037] 开发方,即用于编写配置文件的角色,此配置文件包含实现任务部署所需的通用部署信息。
[0038] 可选地,待部署任务可以是背景技术中提及的5G核心网或者云应用程序等等。可选地,云应用程序能够为用户提供视频点播服务、视频直播服务、自动驾驶服务等等。其中,视频直播服务中的直播视频可以是体育赛事、远程医疗视频、远程教学视频等等。
[0039] 假设待部署任务为部署5GC核心网,则使用方提出的任务需求可以包括核心网的网络信息、环境信息等等,这些信息可以用于描述5G核心网的规格。更具体来说可以是5G核心网的容量、带宽、所能接入的终端设备的上限等等,比如待部署的5G核心网要求有20G内存,有10个CPU核,能够支持2000个终端设备接入。配置文件中的通用部署信息可以包括核心网的组件信息、组件之间的连接信息、资源信息等等。这些信息与任务需求无关,但用于保证部署具有上述规格的5G核心网所需的实例能够在容器编排系统中的正常运行。
[0040] 基于上述描述,下面再结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
[0041] 下述各实施例可以以部署5G核心网为例进行描述,即将5G核心网部署任务作为待部署任务。根据上述描述可知,此种任务的任务需求可以具体表现为5G核心网的规格。
[0042] 并且为了描述清晰,可以先从整个部署平台的角度描述任务部署的过程。则图1为本发明实施例提供的一种部署平台的结构示意图。该平台可以包括容器编排系统和PaaS平台。其中,PaaS平台具体还可以包括控制器和操作界面。可选地,容器编排系统具体可以是Kubernetes,简称K8s或者Docker Swarm等。
[0043] 部署平台的具体工作过程可以描述为:
[0044] 首先,在PaaS平台提供的操作界面上,使用方可以触发部署操作。可选地,此部署操作比如可以是点击操作界面上提供的按钮控件,给出语音指令等等。然后,PaaS平台中的控制器(也可以称为operator)响应于此部署操作,可以加载已经部署在PaaS平台中的、由开发方编写的配置文件。正如上述描述的,配置文件中包括与任务需求无关的通用部署信息。同时,响应于此部署操作,容器编排系统可以调用自定义资源(Custom Resource),并通过自定义资源的调用,使控制器获取到用于描述待部署任务的任务需求的自定义资源,即知晓待部署的5G核心网的规格。
[0045] 对于自定义资源的获取,可选地,响应于使用方触发的部署操作,PaaS平台中的控制器可以向容器编排系统发送控制消息,以使容器编排系统借助已经注册的自定义资源对应的第一接口调用关系实现自定义资源的调用。此时,控制器可以利用在自定义资源调用过程中使用到的、自定义资源对应的第一接口调用关系获取到自定义资源,也即是使控制器知晓使用方对需要部署的5G核心网的规格。其中,第一接口调用关系用于使自定义资源实现正常调用。
[0046] 对于第一接口调用关系的获取,当容器编排系统调用自定义资源在时,容器编排系统中的接口服务组件可以将第一接口调用关系写入容器编排系统中的数据存储组件,以便PaaS平台可以响应于自定义资源的调用,从容器编排系统中的数据存储组件读取此第一接口调用关系。其中,当容器编排系统为K8S时,上述的接口服务组件具体可以为API Service,数据存储组件具体可以为etcd。
[0047] 最终, PaaS平台中的控制器可以根据上述得到的自定义资源以及包含通用部署信息的配置文件实现5G核心网的部署。
[0048] 更具体来说,PaaS平台中的控制器可以根据自定义资源所描述的任务需求,在容器编排系统中确定目标实例,这些目标实例所能提供的功能与一个5G核心网相同,也即是由这些目标实例构成一个规格满足使用方提出的任务需求的5G核心网。接着,PaaS平台中的控制器可以再借助配置文件中的通用部署信息完成目标实例的后续部署,从而使目标实例能够正常运行在容器编排系统中,也即是完成满足任务需求的5G核心网的部署。
[0049] 当容器编排系统具体表现为K8S时,控制器确定出的目标实例具体可以是多个deployment、多个service等等。其中,根据待部署5G核心网的规格,不同的中deployment还可以包括不同数量的pod。多个deployment和多个service之间的协作工作可以提供5G核心网中的各种功能网元所具有的功能。
[0050] 本实施例中,PaaS平台中的控制器响应于使用方触发的部署操作,加载开发方预先编写的配置文件。同时响应于此部署操作,控制器进一步获取注册在容器编排系统中、用于描述待部署任务的任务需求的自定义资源。最终,控制器根据自定义资源和配置文件进行待部署任务的部署,并且部署的任务是满足任务需求的。
[0051] 上述方法中,借助资源自定义机制,使用方可以在关注任务需求的情况下,在容器编排系统中注册用于描述任务需求的自定义资源。同时,开发方也可以在关注通用部署信息的情况下编写配置文件。也即是在自定义资源的注册和配置文件的编写过程中相关人员只需关注一方面信息而无需考虑其他信息,从而使得资源注册和配置文件的编写过程更为简洁,效率更高,进一步地,PaaS平台也可以使用配置文件和自定义资源高效地任务部署。
[0052] 对于上述实施例具有的有益效果,还可以结合下面内容进行理解:
[0053] 根据上述实施例中的描述可知,在完成任务部署的过程中需要使用到两方面的信息即任务需求和通用部署信息,这两方面信息可以被统称为部署信息。而在实际中,此部署信息通常是写入在一个总配置文件中。此时,每当需要进行5G核心网部署时,使用方和开放方都需要分别从此总配置文件中筛选出各自所需的信息,从而进一步利用各自所需的信息完成目标实例的确定和目标实例的后续部署。
[0054] 但上述方式显然对使用方和开发方提出了更高的技术要求,即使用方和开发方需要了解总配置文件中包含的所有信息才能从总配置文件中筛选出各自所需要的信息,从而保证5G核心网能够成功部署。也即是信息筛选的正确性直接影响了5G核心网部署的成功率;信息筛选的速度影响5G核心网部署的成功率。则为了改善上述问题,便可以采用本发明上述实施例所示的方式。
[0055] 在上述实施例中,在任务部署之前,可以将总配置文件中包含的信息进行一次性划分,从而得到任务需求和通用部署信息。然后,开发方可以根据通用部署信息编写配置文件,并将配置文件预先部署到PaaS中。同时,使用方也可以根据任务需求,预先将描述任务需求的自定义资源注册到容器编排系中。此时,也即是完成了5G核心网部署的准备阶段。
[0056] 其中,配置文件的编写和自定义资源的注册实际上是两个独立的过程,二者之间并不具有严格的时序关系。其中,对于自定义资源的注册,可选地,使用方可以先在PaaS平台提供的操作界面上触发注册操作,以将自定义资源注册在容器编排系统中。可选地,注册操作可以是点击操作语音指令等等。
[0057] 之后,当使用方需要部署5G核心网时,PaaS平台中的控制可以按照上述实施例提供的方式执行5G核心网的部署阶段。也即是响应于部署操作,PaaS平台中的控制器可以直接加载预先编写好的配置文件,同时也通过预先注册的自定义资源知晓5G核心网的规格,从而最终实现5G核心网的部署。上述这种方式在提高部署效率的同时也降低了对开发方和使用方的技术要求。
[0058] 在图1所示实施例中,PaaS平台中的控制器在部署5G核心网的过程中需要根据自定义资源在容器编排系统中确定目标实例,以进一步根据配置文件实现5G核心网的配置。
[0059] 其中,可选地,确定出的目标实例具体可以包括容器编排系统中的固有实例,还可以包括为满足5G核心网的规格而创建的新实例。此种情况下,5G核心网的具体部署过程可以为:控制器可以在容器编排系统中选择一些固有实例,同时得到新创建的一些新实例,以由通过这两种方式得到的实例共同组成目标实例。并且对于创建的新实例,还需要使用与此新实例对应的第二接口调用关系将新实例注册到容器编排系统中,以完成新容器的创建。然后,再利用配置文件中的通用部署信息完成目标实例的后续部署,此时目标实例可以正常运行在容器编排系统中,也即是完成满足任务需求的5G核心网的部署。
[0060] 需要说明的有,上述新实例的创建和PaaS平台中控制器的搭建均可由第三方软件实现。可选地,当容器编排系统为K8S时,此第三方软件可以是Kube‑builder。
[0061] 图2为本发明实施例提供的另一种部署平台的结构示意图。在图1所示平台的基础上,部署平台中的容器编排系统还可以包括调度组件和执行组件。
[0062] 在实际中,目标实例的运行载体可以为容器编排系统中的工作节点,则在确定出目标实例后,还可以借助容器编排系统中的调度组件将目标实例分配到容器编排系统中相应的工作节点上,以保证目标实例的正常运行。此时也即是完成了5G核心网的部署,下面可以进入到核心网的使用阶段。在此阶段中,为了保证整个5G核心网的数据处理效率,可选地,还可以使用执行组件为发送至5G核心网中的待处理数据进行负载均衡处理,以将待处理数据转发至对应的实例中。即根据目标实例的负载状态,对待处理数据进行转发。
[0063] 可选地,当容器编排组件具体为K8S时,调度组件可以为Scheduler,执行组件可以为Kubelet或者Kube‑proxy。
[0064] 本实施例中,容器编排系统中的调度组件和执行组件分别应用于5G核心网部署阶段和使用阶段,两组件的使用能够保证5G核心网的高可用性。另外,本实施例中未详细描述的内容以及所能实现的技术效果也可以参见图1所示实施例中的相关描述,在此不再赘述。
[0065] 在按照上述各实施例提供的部署平台完成5G核心网的部署后,可以进入到核心网的使用阶段。可选地,控制器可以以声明式接口实现,则在此阶段中,PaaS平台中的控制器还可以实时监控目标实例的运行状态。若目标实例中的任一实例发生故障,表明当前不符合声明式接口的预期,即5G核心网的规格与任务需求不符,则控制器可以控制此故障的任一实例重启,以使5G核心网的规格是满足要求的。
[0066] 在实际中,可选地,还可以设置重启次数,若故障的任一实例可以重启失败的次数达到预设次数,控制器可以认为此任一实例无法修复,此时可以将此任一实例从容器编排系统中删除,同时控制器在容器编排系统中再重新确定一个备用实例,此备用实例的实例属性与之前故障的任一实例完全相同。这样同样可以保证5G核心网的规格是满足要求的。
[0067] 可选地,对于控制器对目标实例运行状态的监控,可以是直接监控也可以是间接监控,也可以两种方式结合。
[0068] 一种方式,容器编排系统直接可以监控固有实例和新实例的运行状态,并直接将此状态上报给PaaS平台中的控制器,也即是使控制器实现间接监控。
[0069] 另一种方式,控制器也可以直接监控固有实例和新实例的运行状态,也即是使控制器实现直接监控。
[0070] 又一种方式,容器编排系统直接可以监控固有实例的运行状态,控制器可以直接监控新实例的运行状态,控制器可以向容器编排系统获取固有实例的运行状态,从而得到目标实例的运行状态,也即是控制器同时使用直接监控的间接监控。
[0071] 根据上述各实施例可知,PaaS平台可以参与到5G核心网生命周期的多个阶段,比如准备阶段、部署阶段和使用阶段等等。上述各实施例中的内容也可以结合图3理解。
[0072] 以容器编排系统为K8S同时待部署任务为5G核心网为例,如图3所示,在准备阶段,开发方编写配置文件,使用方进行自定义资源的注册。使用方可以在PaaS平台提供的OM操作界面上触发自定义资源的注册操作,则响应与此注册操作,自定义资源被注册到K8S中。其中,描述5G核心网规格的自定义资源也可以以需求文件的形式加载到K8S中。同时使用方还可以在OM界面上输入自定义资源对应的第一接口调用关系,也即是输入接口参数,此接口参数是自定义资源被成功调用所需的参数,至此才算完成自定义资源的注册。
[0073] 在部署阶段,如图3所示,PaaS平台的控制器可以响应于使用方在操作界面上触发的部署操作,加载已经部署在PaaS平台中的、由开发方编写的配置文件。同时,响应于此部署操作,PaaS平台中的控制器可以向K8S发送控制消息,以使K8S借助已经注册的自定义资源对应的第一接口调用关系实现自定义资源的调用。当K8S调用自定义资源在时,K8S中的API Service可以将第一接口调用关系写入K8S中的etcd,以便PaaS平台可以响应于自定义资源的运行,从K8S中的etcd读取此第一接口调用关系,也即是使控制器知晓使用方对需要部署的5G核心网的规格。其中,第一接口调用关系用于使自定义资源实现正常调用。
[0074] 接着, PaaS平台中的控制器便可以根据上述获取到的自定义资源在K8S中选择目标实例中的固有实例,同时也得到目标实例中的新实例。控制器还可以进一步利用新实例对应的第二接口调用关系完将新实例注册到K8S中。控制器可以再利用配置文件中的通用部署信息完成所有目标实例的后续部署。控制器得到的目标实例具体可以包括5GC实例和5GC‑OM实例。其中,5GC实例用于实现5G核心网中各功能网元所提供的功能,5GC‑OM实例用于实现5G核心网的管控功能。
[0075] 最终,K8S中的Scheduler可以将用以构成5G核心网的目标实例分配到K8S中相应的工作节点上,以保证目标实例的正常运行,也即是完成满足任务需求的5G核心网的部署。
[0076] 可选地,在上述部署阶段使用的控制器和新实例均可以由kube‑builder来搭建和创建。
[0077] 在使用阶段,如图3所示,PaaS平台中控制器还可以通过不同的方式监控目标实例运行状态。对于出现故障的实例,则可以控制其进行重启,以保证5G核心网的高可用性。另外,当故障的实例重启失败的次数因达到预设次数而被认定为无法恢复时,控制器还可以将此实例从K8S中删除,同时控制器在K8S中再重新建立一个备用实例,同样可以保证5G核心网的规格是满足要求的。
[0078] 另外,在使用阶段,K8S中的Kubelet或者 Kube‑proxy还可以对发送至5G核心网中的待处理数据进行负载均衡处理,以将待处理数据转发至对应的实例中。即根据目标实例的负载状态,对待处理数据进行转发。
[0079] 在上述各实施例已经从整个部署平台角度描述任务部署过程的基础上,还可以从PaaS平台的角度进行任务部署过程的介绍。下面可以先对PaaS平台在5G核心网部署过程中的工作流程进行介绍。
[0080] 图4为本发明实施例提供的一种任务部署方法的流程图。本发明实施例提供的该任务部署方法可以由上述各实施例提供的部署平台中PaaS平台的控制器执行。如图4所示,该方法可以包括如下步骤:
[0081] S101,响应于使用方在PaaS平台的操作界面上触发的部署操作,加载开发方编写的配置文件。
[0082] S102,获取注册在容器编排系统中的自定义资源,自定义资源的注册由使用方触发。
[0083] 具体来说,在PaaS平台提供的操作界面上,使用方可以触发部署操作。然后,PaaS平台中的控制器响应于此部署操作,可以加载已经部署在PaaS平台中的、由开发方编写的配置文件。其中,配置文件中包括与任务需求无关的通用部署信息。同时,响应于此部署操作,容器编排系统可以调用此自定义资源,并通过自定义资源的调用,可以使控制器获取到用于描述待部署任务的任务需求的自定义资源,即知晓待部署的5G核心网的规格。
[0084] 对于自定义资源的获取,可选地,响应于使用方触发的部署操作,PaaS平台中的控制器可以向容器编排系统发送控制消息,以使容器编排系统借助已经注册的自定义资源对应的第一接口调用关系实现自定义资源的调用。此时,控制器可以利用在自定义资源调用过程中使用到的、自定义资源对应的第一接口调用关系获取到自定义资源,也即是使控制器知晓使用方对需要部署的5G核心网的规格。其中,第一接口调用关系用于使自定义资源实现正常调用。
[0085] 对于第一接口调用关系的获取,当容器编排系统调用自定义资源在时,容器编排系统中的接口服务组件可以将第一接口调用关系写入容器编排系统中的数据存储组件,以便PaaS平台可以响应于自定义资源的调用,从容器编排系统中的数据存储组件读取此第一接口调用关系。
[0086] S103,根据用于描述任务需求的自定义资源以及配置文件中的通用部署信息,部署满足任务需求的待部署任务。
[0087] 最终, PaaS平台中的控制器便可以根据上述得到的自定义资源以及包含通用部署信息的配置文件实现5G核心网的部署。
[0088] 更具体来说,PaaS平台中的控制器可以根据自定义资源所描述的任务需求,在容器编排系统中确定目标实例,这些目标实例所能提供的功能与一个5G核心网相同,也即是由这些目标实例构成一个5G核心网,并且此5G核心网的规格是满足使用方提出的任务需求的。接着,PaaS平台中的控制器可以再借助配置文件中的通用部署信息完成目标实例的后续部署,从而使目标实例能够正常运行在容器编排系统中,也即是完成满足任务需求的5G核心网的部署。
[0089] 另外,本实施例中未详细描述的内容还可以参见上述各实施例中的相关描述,在此不再赘述。
[0090] 本实施例中,PaaS平台响应于使用方在PaaS平台提供的操作界面上触发的部署操作,加载开发方预先编写的配置文件。此配置文件包括用于实现任务部署且与任务需求无关的通用部署信息。同时响应于此部署操作,PaaS平台还可以进一步获取注册在容器编排系统中、用于描述待部署任务的任务需求的自定义资源。最终,根据自定义资源和配置文件实现待部署任务的部署,并且部署完成的任务是满足任务需求的。
[0091] 上述方案中,借助资源自定义机制,使用方可以在关注任务需求的情况下,在容器编排系统中注册用于描述任务需求的自定义资源。同时,开发方也可以在关注通用部署信息的情况下编写配置文件。也即是在自定义资源的注册和配置文件的编写过程中相关人员只需关注一方面信息而无需考虑其他信息,从而使得资源注册和配置文件的编写过程更为简洁,效率更高,进一步地,PaaS平台也可以使用配置文件和自定义资源高效地任务部署。
[0092] 正如图4所示实施例中的描述,PaaS平台可以根据自定义资源和配置文件实现5G核心网的部署。则可选地,图5为本发明提供的另一种任务部署方法,也即是步骤S103一种可选地具体实现方式。如图5所示,该方法可以包括以下步骤:
[0093] S1031,根据自定义资源,在容器编排系统中确定满足任务需求所需的目标实例。
[0094] S1032,确定目标实例对应的第二接口调用关系。
[0095] S1033,根据目标实例、第二接口调用关系以及通用部署信息,部署待部署任务。
[0096] PaaS平台中的控制器可以根据获取到的自定义资源,在容器编排系统中确定目标实例。并且这些目标实例所能提供的功能与一个5G核心网相同,也即是由这些目标实例构成一个5G核心网,并且此5G核心网的规格是满足使用方提出的任务需求的。其中,可选地,确定出的目标实例具体可以包括容器编排系统中的固有实例,还可以包括为满足5G核心网的规格而创建的新实例。
[0097] 此种情况下,5G核心网的具体部署过程可以为:控制器可以在容器编排系统中选择目标实例中的固有实例,同时得到新创建的、目标实例中的新实例。并且对于创建的新实例,还需要使用与此新实例对应的第二接口调用关系将新实例注册到容器编排系统中。然后,再利用配置文件中的通用部署信息完成目标实例的后续部署,此时目标实例可以正常运行在容器编排系统中,也即是完成满足任务需求的5G核心网的部署。
[0098] 本实施例中,控制器可以通过不同方式得到用于形成一个满足任务需求的5G核心网所需的目标实例,从而进一步实现5G核心网的部署。另外,本实施例中未详细描述的内容以及所能实现的技术效果均可以参加上述各实施例中的相关描述,在此不再赘述。
[0099] 按照上述方式完成5G核心网的部署后,PaaS平台同样可以参与到5G核心网的使用阶段。则可选地,图6为本发明实施例提供的另一种任务部署方法的流程图,如图6所示,在步骤103之后,该方法可以包括如下步骤:
[0100] S201,确定目标实例的运行状态。
[0101] S202, 若目标实例中的任一实例发生故障,则控制任一实例重启或者重新创建与任一实例具有相同实例属性的备用实例。
[0102] 控制器可以以声明式接口实现,则完成5G核心网的部署后,PaaS平台中的控制器还可以实时监控目标实例的运行状态。若目标实例中的任一实例发生故障,表明当前不符合声明式接口的预期,即5G核心网的规格与任务需求不符,则控制器可以控制此故障的任一实例重启,以使5G核心网的规格是满足要求的。
[0103] 在实际中,可选地,还可以设置重启次数,若故障的任一实例可以重启失败的次数达到预设次数,控制器可以认为此任一实例无法修复,此时可以将此任一实例从容器编排系统中删除,同时控制器在容器编排系统中再重新确定一个备用实例,此备用实例的实例属性与之前故障的任一实例完全相同。这样同样可以保证5G核心网的规格是满足要求的。
[0104] 可选地,对于控制器对目标实例运行状态的监控,可以是直接监控也可以是间接监控,也可以两种方式结合。
[0105] 比如一种方式,目标实例的运行状态可以由容器编排系统监控,监控结果可以上报给PaaS平台中的控制器。另一种方式,控制器也可以直接监控目标实例的运行状态。又一种方式,容器编排系统和控制器分别监控固有实例和新实例的运行状态,控制器可以向容器编排系统获取监测结果,从而得到目标实例的运行状态,也即是控制器同时使用直接监控的间接监控。监控方式中未详细描述的内容也可以参见上述实施例中的相关描述,在此不再赘述。
[0106] 本实施例中,通过PaaS平台中控制器具有的实例状态检测功能,能够对故障实例进行及时重启或者及时删除并重建,从而保证部署的5G核心网的高可用性。另外,本实施例中未详细描述的内容以及所能实现的技术效果均可以参加上述各实施例中的相关描述,在此不再赘述。
[0107] 上述图4 图6所示实施例介绍了PaaS平台在5G核心网部署过程中的工作流程。此~时,还可以对PaaS平台的构成,以及平台各组成部分的具体作用进行介绍。
[0108] 图7为本发明实施例提供的一种服务平台的结构示意图。如图7所示,该服务平台包括控制器和操作界面。此服务平台即为上述和下述各实施例中的PaaS平台,则下述描述依旧使用PaaS平台。
[0109] 在PaaS平台提供的操作界面上,使用方可以触发部署操作。然后,PaaS平台中的控制器响应于此部署操作,可以加载已经部署在PaaS平台中的、由开发方编写的配置文件。同时,响应于此部署操作,容器编排系统可以调用此自定义资源,并通过自定义资源的调用,可以使控制器获取到用于描述待部署任务的任务需求的自定义资源,即知晓待部署的5G核心网的规格。
[0110] 对于自定义资源的获取,可选地,响应于使用方触发的部署操作,PaaS平台中的控制器可以向容器编排系统发送控制消息,以使容器编排系统借助已经注册的自定义资源对应的第一接口调用关系实现自定义资源的调用。此时,控制器可以利用在自定义资源调用过程中使用到的、自定义资源对应的第一接口调用关系获取到自定义资源,也即是使控制器知晓使用方对需要部署的5G核心网的规格。
[0111] 对于第一接口调用关系的获取,当容器编排系统调用自定义资源在时,容器编排系统中的接口服务组件可以将第一接口调用关系写入容器编排系统中的数据存储组件,以便PaaS平台可以响应于自定义资源的调用,从容器编排系统中的数据存储组件读取此第一接口调用关系。
[0112] 最终, PaaS平台中的控制器可以根据自定义资源所描述的任务需求,在容器编排系统中确定目标实例,这些目标实例所能提供的功能与一个5G核心网相同,也即是由这些目标实例构成一个5G核心网,并且此5G核心网的规格是满足使用方提出的任务需求的。接着,PaaS平台中的控制器可以再借助配置文件中的通用部署信息完成目标实例的后续部署,从而使目标实例能够正常运行在容器编排系统中,也即是完成满足任务需求的5G核心网的部署。
[0113] 另外,本实施例未详细描述的过程可以参见上述各实施例中的相关描述,在此不再赘述。
[0114] 本实施例中,PaaS平台中的控制器响应于使用方触发的部署操作,加载开发方预先编写的配置文件。同时响应于此部署操作,控制器进一步获取注册在容器编排系统中、用于描述待部署任务的任务需求的自定义资源。最终,控制器根据自定义资源和配置文件进行待部署任务的部署,并且部署的任务是满足任务需求的。
[0115] 上述方法中,借助资源自定义机制,使用方可以在关注任务需求的情况下,在容器编排系统中注册用于描述任务需求的自定义资源。同时,开发方也可以在关注通用部署信息的情况下编写配置文件。也即是在自定义资源的注册和配置文件的编写过程中相关人员只需关注一方面信息而无需考虑其他信息,从而使得资源注册和配置文件的编写过程更为简洁,效率更高,进一步地,PaaS平台也可以使用配置文件和自定义资源高效地任务部署。
[0116] 上述各实施例虽然都是以5G核心网为例进行说明的,但正如上述描述的,待部署任务也可以是云应用程序的部署或者其他任务,此时,控制器确定出的目标实例运行在容器编排系统中所提供的功能即为云应用程序所能提供的各种功能。则为了便于理解,下面还可以对云应用程序的部署过程进行示例性说明。下述内容可以结合图8理解。图8与图3所示的过程类似。
[0117] 以容器编排系统为K8S同时待部署任务为部署提供直播服务的云直播应用为例,如图8所示,在准备阶段,开发方编写配置文件,使用方进行自定义资源的注册。使用方可以在PaaS平台提供的OM操作界面上触发自定义资源的注册操作,则响应与此注册操作,自定义资源被注册到K8S中。其中,云直播应用的自定义资源可以为云直播应用传输直播视频流所能提供的最大带宽、最大时延等等。此自定义资源也可以以需求文件的形式加载到K8S中。同时使用方还可以在OM界面上输入自定义资源对应的第一接口调用关系,也即是输入接口参数,至此才算完成自定义资源的注册。
[0118] 在部署阶段,如图8所示,PaaS平台的控制器可以响应于使用方在操作界面上触发的部署操作,加载由开发方编写的配置文件。同时,响应于此部署操作,PaaS平台中的控制器可以向K8S发送控制消息,以使K8S借助已经注册的自定义资源对应的第一接口调用关系实现自定义资源的调用。当K8S调用自定义资源在时,K8S中的API Service可以将第一接口调用关系写入K8S中的etcd,以便PaaS平台可以响应于自定义资源的运行,从K8S中的etcd读取此第一接口调用关系,也即是使控制器知晓使用方对云直播应用的要求。其中,第一接口调用关系用于使自定义资源实现正常调用。
[0119] 接着, PaaS平台中的控制器便可以根据上述获取到的自定义资源在K8S中选择目标实例中的固有实例,同时也得到目标实例中的新实例。控制器还可以进一步利用新实例对应的第二接口调用关系完将新实例注册到K8S中。控制器可以再利用配置文件中的通用部署信息完成所有目标实例的后续部署。最终,K8S中的Scheduler可以将用以构成云直播应用的目标实例分配到K8S中相应的工作节点上,以保证目标实例的正常运行,也即是完成了云直播应用的部署,并且此云直播应用的视频流传输能力满足使用方的要求。
[0120] 可选地,在上述部署阶段使用的控制器和新实例均可以由kube‑builder来搭建和创建。
[0121] 在使用阶段,如图8所示,PaaS平台中控制器还可以通过不同的方式监控目标实例运行状态。对于出现故障的实例,则可以控制器其进行重启,以保证云直播应用的正常运行。另外,当故障的实例重启失败的次数因达到预设次数而被认定为无法恢复时,控制器还可以将此实例从K8S中删除,同时控制器在K8S中再重新建立一个备用实例,同样可以保证云直播应用视的频流传输能力满足使用方的要求。
[0122] 另外,在使用阶段,K8S中的Kubelet或者 Kube‑proxy还可以对云直播应用所要处理的数据进行负载均衡处理,即根据目标实例的负载状态,转发需要处理的数据。
[0123] 在一个可能的设计中,上述各实施例提供的任务部署方法可以应用在一电子设备中,如图9所示,该电子设备可以包括:处理器21和存储器22。其中,存储器22用于存储支持该电子设备执行上述图4 图6所示实施例中提供的任务部署方法的程序,处理器21被配置~为用于执行存储器22中存储的程序。
[0124] 程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器21执行时能够实现如下步骤:
[0125] 响应于使用方在所述PaaS平台的操作界面上触发的部署操作,加载开发方编写的配置文件;
[0126] 获取注册在容器编排系统中的自定义资源,所述自定义资源的注册由所述使用方触发;
[0127] 根据用于描述任务需求的所述自定义资源以及所述配置文件中的通用部署信息,部署满足所述任务需求的待部署任务。
[0128] 可选地,处理器21还用于执行前述图4 图6所示实施例中的全部或部分步骤。~
[0129] 其中,电子设备的结构中还可以包括通信接口23,用于该电子设备与其他设备或通信网络通信。
[0130] 另外,本发明实施例提供了一种计算机存储介质,用于储存上述电子设备所用的计算机软件指令,其包含用于执行上述图4 图6所示方法实施例任务部署方法所涉及的程~序。
[0131] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。