一种天基网络边缘微服务分布式编排系统及方法
1.本发明涉及天基网络边缘计算场景下的分布式轻量级编排领域,特别是基于微服 务架构的一种天基网络边缘微服务分布式编排系统及方法。
背景技术:
2.随着互联网的迅速发展,大量新兴的服务应用,例如虚拟现实(vr)、增强现实和 互动游戏等,涌现在网络边缘,导致边缘服务及边缘业务需求呈爆炸态势增长。另一 方面,由于卫星网络的快速发展,传统的卫星网络仅作为信息传输管道的功能,已严 重阻碍了卫星网络的高速发展,难以适用于前述新兴的低延时需求的海量边缘服务应 用,因此天基移动边缘计算(satellites mobile edge computing,satellites mec) 应时而生。该计算方法将云中心的算力下沉至天基网络边缘(例如卫星节点、卫通基 站节点等边缘网络节点),在网络边缘处提供计算、存储和带宽等物理资源,以达到在 用户侧提供服务的目的,从而保障时延敏感业务的确定性交付。
3.为实现上述需求,现有技术中的方法通过在侧或卫星上部署通用服务器,并 在通用服务器中运行用户所需的微服务业务,以保障用户任务需求的顺利执行。为确 保智能代理的稳健运行,opendaylight(odl)、kubernetes(k8s)、k3s、kubeedge 等开源软件被引入至天基边缘网络中。
4.然而在现有技术中,odl控制器负责网络拓扑的维护与管理,其优点是便于扩展 网络规模、便于网络拓扑的集中式管控,但是该控制器也存在不足,即会因为单节点 失效而导致稳定性不足。k8s控制器能够确保微服务的自动化运维,提供稳定的运行 环境,其缺点体现在网络规模难以扩展。
技术实现要素:
5.针对上述odl软件搭建的网络缺少稳定性,而kubernetes软件搭建的网络难以拓 展网络规模的问题,本发明的目的是提供一种可拓展至大规模且轻量级的天基网络边 缘微服务分布式编排系统及方法。
6.为实现上述目的,本发明采取以下技术方案:第一方面,提供一种天基网络边缘 微服务分布式编排系统,包括k8s控制器和odl控制器;
7.所述k8s控制器和odl控制器均处于管控平面,所述k8s控制器和odl控制器的 南向接口分别连接数据平面,所述k8s控制器和odl控制器的北向接口分别连接应用 平面;
8.所述数据平面用于存储底层的网络拓扑、微服务组件的部署情况、物理资源信息 和用户请求信息;
9.所述odl控制器用于对所管控的所述k8s控制器下发流表和分配链路带宽,为所 述k8s控制器提供底层的物理拓扑支撑;
10.所述k8s控制器用于将用户所需的微服务组件编排部署至目标节点,以及根据所 述应用平面发送的用户任务需求和编排结果,对部署后的微服务组件进行实际部署和 操
算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现上述天基网络边 缘微服务分布式编排方法对应的步骤。
32.本发明由于采取以上技术方案,其具有以下优点:
33.1、本发明基于kubernetes控制器的自动化运维能力,弥补odl控制器的单节点 失效难题,同时基于odl控制器底层网络的拓扑连接功能,为kubernetes控制器打通 节点间的连通渠道,扩展kubernetes控制器的集规模,本发明能够充分发挥 kubernetes控制器和odl控制器的优势,搭建高可用、大规模的天基边缘网络分布式 编排架构,该架构可依据用户任务需求,快速实时编排微服务应用,迅速部署服务并 提供高可靠且兼容高并发集的运行环境。
34.2、考虑到卫星节点资源受限,因此编排系统所占用的资源大小成为天基场景下, 编排技术落地的重要考量。本发明以kubernetes控制器和odl控制器为系统环境,搭 建可适用于天基边缘场景的分布式轻量级编排架构及装置,由于两款软件基于通用 linux操作系统,且占用的资源都在可接受的范围内。因此,本发明所提的软件组合 适用于天基网络编排平台,尤其是在天基多域边缘网络的场景下,能够根据用户任务 需求快速实时编排微服务,迅速部署服务并提供轻量且稳定的运行状态的场景。
35.3、本发明中的odl控制器可对网络中的所有物理节点及虚拟节点执行增加功能、 删除功能、更改功能、检索功能,并为节点配置sdn流表,调控路由路径,实现负载 均衡,且本发明中的网络拓扑结构可同时基于物理交换机和虚拟交换机共同搭建,灵 活性极高。
36.综上所述,本发明可以广泛应用于天基网络边缘计算场景下的分布式轻量级编排 领域中。
附图说明
37.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本 发明的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:
38.图1是本发明一实施例提供的应用场景及逻辑架构组成示意图;
39.图2是本发明一实施例提供的分布式系统架构示意图。
具体实施方式
40.下面将参照附图更详细地描述本发明的示例性实施方式。虽然附图中显示了本发 明的示例性实施方式,然而应当理解,可以以各种形式实现本发明而不应被这里阐述 的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本发明,并且 能够将本发明的范围完整地传达给本领域的技术人员。
41.应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进 行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个
”ꢀ
以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具 有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在, 但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们 的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说 明的特定顺序执行,除非明确指出执行
顺序。还应当理解,可以使用另外或者替代的 步骤。
42.尽管可以在文中使用术语第一、第二、第三等来描述多个元件、部件、区域、层 和/或部段,但是,这些元件、部件、区域、层和/或部段不应被这些术语所限制。这 些术语可以仅用来将一个元件、部件、区域、层或部段与另一区域、层或部段区分开。 除非上下文明确地指出,否则诸如“第一”、“第二”之类的术语以及其它数字术语 在文中使用时并不暗示顺序或者次序。因此,以下讨论的第一元件、部件、区域、层 或部段在不脱离示例实施方式的教导的情况下可以被称作第二元件、部件、区域、层 或部段。
43.如图1所示,为本发明天基网络边缘微服务分布式编排系统及方法的应用场景及 逻辑架构组成,其中,下半部分展示了边缘网络的物理拓扑连接。物理拓扑以(卫 通)为核心互联互通,每个旁均放置一台通用服务器,并在该通用服务器中 部署k8s控制器和odl控制器(其中odl控制器仅在含阴影的中部署),所有 节点通过卫星互联。部署控制器后的物理拓扑可抽象为图1上半部分的逻辑架构,其 中,odl控制器负责网络拓扑管理和链路间的带宽控制,但是odl控制器的稳定性存 在不足,一旦单节点失效,则会对网络带来影响,这是odl控制器固有的缺点;k8s控 制器负责管控编排智能代理,通过对智能代理的健康检查、自我修复、自动重调度、 应用伸缩及滚动升级等功能,确保应用业务对用户提供稳定的服务。kubernetes的核 心控制节点为主节点(master节点),所有从节点(worker节点)受主节点的统一管 控。为用户提供服务的智能代理部署在pod(容器)中,而容器运行在主节点上,在主 节点中可以查看并编排所有的容器,实现顶层的编排逻辑。但是k8s控制器对容器的 编排服务需基于底层物理网络的连通,这种弊端导致k8s控制器在使用规模上存在局 限性。
44.为解决odl控制器因单节点失效而导致稳定性不足的问题和k8s控制器在使用规 模上存在的局限性,考虑两者的互补性和工业界的刚需性,本发明在边缘计算场景中, 尤其是天基边缘计算场景下,提出一种稳定、轻量级且高可靠的天基网络边缘微服务 分布式编排系统及方法,充分发挥odl软件的大规模网络的可管可控特性及 kubernetes软件的自动化运维及稳定特性,取长补短,实现大规模天基边缘网络场景 下的轻量级稳定化运维。核心流程为:首先,利用odl控制器打通底层物理网络,为 k8s控制器管控主节点提供底层保障;其次,将odl控制器置于k8s控制器的容器内, 利用k8s控制器的健康检查和自动重调度保证odl控制器的稳定运行,以避免sdn控 制器的单节点失效问题;最后,该架构可通过k8s控制器和odl控制器的北向接口, 将网络状态和智能代理运行状况实时地反馈给顶层应用及算法编排模块,为顶层编排 算法提供底层物理拓扑保障及应用业务的稳定运行保障。
45.实施例1
46.如图2所示,本实施例提供一种天基网络边缘微服务分布式编排系统,包括k8s 控制器和odl控制器。
47.k8s控制器和odl控制器均设置在管控平面,k8s控制器和odl控制器的南向接口 分别连接数据平面,实现对底层数据的基础管控。k8s控制器和odl控制器的北向接 口分别连接应用平面,实现将底层的网络拓扑和智能代理部署情况实时反馈至应用平 面。
48.数据平面用于存储底层的网络拓扑、微服务组件的部署情况、物理资源信息和用 户请求信息等数据。
49.管控平面的odl控制器用于进行网络拓扑管理和链路间的带宽控制,对所管控的 k8s控制器下发流表和分配链路带宽,为k8s控制器提供底层的物理拓扑支撑。
50.管控平面的k8s控制器用于将用户所需的微服务组件编排部署至目标节点,以响 应边缘用户需求,此外,k8s控制器还用于根据应用平面发送的用户任务需求和编排 结果,对部署后的微服务组件进行健康检查、自动重调度和滚动升级等实际部署和操 作任务的重新配置,并基于odl控制器的物理拓扑支撑,确定数据平面中微服务组件 的部署位置、微服务组件的资源分配量、全网的流表配置和节点间的带宽分配等资源, 以确保应用业务对用户提供稳定的服务。
51.应用平面用于生成用户任务需求,以及根据数据平面的物理资源信息和用户请求 信息生成编排结果,即微服务组件的部署结果及其资源分配结果。
52.在一个优选的实施例中,数据平面内的部署包括:
53.基于k8s控制器的指令,从云镜像中心拉取镜像文件,部署在天基网络边缘处, 并创建pod容器,运行镜像文件,启动天基微服务,以满足天基网络边缘侧的计算需 求。由于k8s控制器具备自动化运维功能,因此,本发明可实现稳定运行。
54.在一个优选的实施例中,数据平面内的部署还包括:openflow交换机,openflow 交换机作为基础的网络节点,用于odl控制器与转发器之间的通信。
55.具体地,openflow交换机包括物理交换机和虚拟交换机,物理交换机和虚拟交换 机均用于进行数据交换,本发明可以支撑实物交换及虚拟交换两种交换能力。
56.在一个优选的实施例中,每一对应的通用服务器内均部署有k8s控制器,同 时承担主节点和从节点的功能,即每一通用服务器均作为主节点独立存在,并添加其 邻居节点作为从节点,同时也作为从节点被其邻居节点的主节点所管理。因此,每一 通用服务器均可管控一定范围内的微服务组件运行情况(包括微服务组件的按需迁移、 健康检查、故障修复和资源分配等)。
57.在一个优选的实施例中,部分通用服务器部署的k8s控制器的容器内部署有odl 控制器,为其所管控的节点下发流表和分配链路带宽,以确保底层网络拓扑的连通性。 位于k8s控制器内的odl控制器由k8s控制器托管运行,这是由于k8s控制器的自动 化运维功能可有效避免单节点失效等故障,因此可为odl控制器的稳定运行提供环境 基础,以保证网络的高可用性。
58.在一个优选的实施例中,管控平面内还设置有星载控制管理器、星载服务调度器 和生命周期管理器。
59.星载控制管理器用于基于odl控制器的物理拓扑支撑,确定数据平面中微服务组 件的部署位置、微服务组件的资源分配量、全网的流表配置和节点间的带宽分配等资 源,保证k8s控制器搭建的容器(pod)集中各资源的实际状态和用户定义的期望状 态一致。
60.星载服务调度器设置在每一新创建的容器或未被调度的容器中,用于将用户所需 的微服务组件编排部署至目标节点,选择最优的节点运行该容器。
61.生命周期管理器用于根据应用平面发送的用户任务需求和编排结果,对部署后的 微服务组件进行健康检查、自动重调度和滚动升级等实际部署和操作任务的重新配置, 管理各容器的生命周期,及时删除消亡的容器和添加有效的容器,实时管理容器的生 命周期。
62.在一个优选的实施例中,管控平面内还设置有拓扑管理器和网络流表。
63.拓扑管理器作为管控平面的核心模块之一,用于管理openflow交换机(含物理交 换机及虚拟交换机)之间的拓扑连接关系,动态生成网络拓扑的逻辑连接,确保底层 网络的连通性及可靠性。
64.网络流表为openflow中最重要的一张表,用于确保openflow交换机能够顺利处 理用户业务数据流的常规转发功能,确保转发位置的正确以及转发速率的快慢,即确 保用户业务数据流的正确转发及网络链路的带宽分配。
65.openflow交换机、拓扑管理器和网络流表三部分共同实现网络拓扑管理、数据路 由和链路间的带宽控制。
66.在一个优选的实施例中,应用平面面向用户,由用户自定义,具体地,例如应用 平面可以进行数据驱动、算法管理、数据管理、任务线程和应用需求等。
67.实施例2
68.本实施例提供一种天基网络边缘微服务分布式编排方法,包括以下步骤:
69.1)将每一对应的通用服务器内均部署k8s控制器,将部分通用服务器部署的 k8s控制器的容器内部署odl控制器。
70.2)数据平面存储底层的网络拓扑、微服务组件的部署情况、物理资源信息和用户 请求信息等数据。
71.3)odl控制器进行网络拓扑管理及链路间的带宽控制,对所管控的k8s控制器下 发流表和分配链路带宽。
72.4)k8s控制器将数据平面内存储的数据发送至应用平面,应用平面根据数据平面 的物理资源信息和用户请求信息生成编排结果,并发送至k8s控制器。
73.5)用户任务需求在应用平面内由用户自定义得到,并发送至k8s控制器。
74.6)k8s控制器根据用户任务需求和编排结果,对数据平面进行健康检查、自动重 调度和滚动升级等实际部署和操作任务进行重新配置,并基于odl控制器的物理拓扑 支撑,确定数据平面中智能代理的部署位置、智能代理的资源分配量、全网的流表配 置和节点间的带宽分配等资源。
75.实施例3
76.本实施例提供一种与本实施例2所提供的天基网络边缘微服务分布式编排方法对 应的处理设备,处理设备可以适用于客户端的处理设备,例如手机、笔记本电脑、平 板电脑、台式机电脑等,以执行实施例2的方法。
77.所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接 口通过总线连接,以完成相互间的通信。存储器中存储有可在处理设备上运行的计算 机程序,处理设备运行计算机程序时执行本实施例2所提供的天基网络边缘微服务分 布式编排方法。
78.在一些实现中,存储器可以是高速随机存取存储器(ram:random access memory), 也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
79.在另一些实现中,处理器可以为中央处理器(cpu)、数字信号处理器(dsp)等各 种类型通用处理器,在此不做限定。
80.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立 的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可 以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干 指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动 硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random accessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
81.本领域技术人员可以理解,上述计算设备的结构,仅仅是与本技术方案相关的部 分结构,并不构成对本技术方案所应用于其上的计算设备的限定,具体的计算设备可 以包括更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
82.实施例4
83.本实施例提供一种与本实施例2所提供的天基网络边缘微服务分布式编排方法对 应的计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于 执行本实施例2所述的天基网络边缘微服务分布式编排方法的计算机可读程序指令。
84.计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。 计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电 磁存储设备、半导体存储设备或者上述的任意组合。
85.上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法 实施例类似,在此不再赘述。
86.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的 每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供 这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处 理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理 器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的装置。
87.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定 方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括 指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个 方框或多个方框中指定的功能。
88.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算 机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或 方框图一个方框或多个方框中指定的功能的步骤。
89.上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都 是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应 排除在本发明的保护范围之外。
技术特征:
1.一种天基网络边缘微服务分布式编排系统,其特征在于,包括k8s控制器和odl控制器;所述k8s控制器和odl控制器均处于管控平面,所述k8s控制器和odl控制器的南向接口分别连接数据平面,所述k8s控制器和odl控制器的北向接口分别连接应用平面;所述数据平面用于存储底层的网络拓扑、微服务组件的部署情况、物理资源信息和用户请求信息;所述odl控制器用于对所管控的所述k8s控制器下发流表和分配链路带宽,为所述k8s控制器提供底层的物理拓扑支撑;所述k8s控制器用于将用户所需的微服务组件编排部署至目标节点,以及根据所述应用平面发送的用户任务需求和编排结果,对部署后的微服务组件进行实际部署和操作任务的重新配置,并基于所述odl控制器的物理拓扑支撑,确定所述数据平面中微服务组件的部署位置、微服务组件的资源分配量、全网的流表配置和节点间的带宽分配;所述应用平面用于生成用户任务需求,以及根据所述数据平面的物理资源信息和用户请求信息生成编排结果。2.如权利要求1所述的一种天基网络边缘微服务分布式编排系统,其特征在于,每一对应的通用服务器内均部署有所述k8s控制器,部分所述通用服务器部署的所述k8s控制器的容器内部署有所述odl控制器。3.如权利要求2所述的一种天基网络边缘微服务分布式编排系统,其特征在于,所述管控平面内还设置有:星载控制管理器,用于基于所述odl控制器的物理拓扑支撑,确定所述数据平面中微服务组件的部署位置、微服务组件的资源分配量、全网的流表配置和节点间的带宽分配;星载服务调度器,设置在每一新创建的容器或未被调度的容器中,用于将用户所需的微服务组件编排部署至目标节点,选择最优的节点运行该容器;生命周期管理器,用于根据所述应用平面发送的用户任务需求和编排结果,对部署后的微服务组件进行实际部署和操作任务的重新配置,管理各容器的生命周期。4.如权利要求2所述的一种天基网络边缘微服务分布式编排系统,其特征在于,所述数据平面内的部署还包括openflow交换机,用于所述odl控制器与转发器之间的通信。5.如权利要求4所述的一种天基网络边缘微服务分布式编排系统,其特征在于,所述openflow交换机包括物理交换机和虚拟交换机。6.如权利要求4所述的一种天基网络边缘微服务分布式编排系统,其特征在于,所述管控平面内还设置有:拓扑管理器,用于管理所述openflow交换机之间的拓扑连接关系;网络流表,用于确保所述openflow交换机处理的用户业务数据流的转发和网络链路的带宽分配。7.如权利要求1所述的一种天基网络边缘微服务分布式编排系统,其特征在于,所述数据平面内的部署包括:基于所述k8s控制器的指令,从云镜像中心拉取镜像文件,部署在天基网络边缘处,并创建pod容器,运行镜像文件,启动天基微服务,以满足天基网络边缘侧的计算需求。8.一种天基网络边缘微服务分布式编排方法,其特征在于,包括:
将每一对应的通用服务器内均部署k8s控制器,将部分通用服务器部署的k8s控制器的容器内部署odl控制器;数据平面存储底层的网络拓扑、微服务组件的部署情况、物理资源信息和用户请求信息;odl控制器进行网络拓扑管理及链路间的带宽控制,对所管控的k8s控制器下发流表和分配链路带宽;k8s控制器将数据平面内存储的数据发送至应用平面,应用平面根据数据平面的物理资源信息和用户请求信息生成编排结果,并发送至k8s控制器;k8s控制器根据用户任务需求和编排结果,对数据平面进行重新配置,并基于odl控制器的物理拓扑支撑,确定数据平面中微服务组件的部署位置、微服务组件的资源分配量、全网的流表配置和节点间的带宽分配。9.一种处理设备,其特征在于,包括计算机程序指令,其中,所述计算机程序指令被处理设备执行时用于实现权利要求8所述的天基网络边缘微服务分布式编排方法对应的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现权利要求8所述的天基网络边缘微服务分布式编排方法对应的步骤。
技术总结
本发明涉及一种天基网络边缘微服务分布式编排系统及方法,包括K8S控制器和ODL控制器;K8S控制器和ODL控制器均处于管控平面,K8S控制器和ODL控制器的南向接口分别连接数据平面,K8S控制器和ODL控制器的北向接口分别连接应用平面;ODL控制器用于对所管控的K8S控制器下发流表和分配链路带宽;K8S控制器用于将用户所需的微服务组件编排部署至目标节点,以及对部署后的微服务组件进行实际部署和操作任务的重新配置,并确定数据平面中微服务组件的部署位置、微服务组件的资源分配量、全网的流表配置和节点间的带宽分配;应用平面用于生成用户任务需求,以及生成编排结果,本发明可以广泛应用于分布式轻量级编排领域中。广泛应用于分布式轻量级编排领域中。广泛应用于分布式轻量级编排领域中。
