陈卫 郑炜 汤毅
摘 要: 云计算协同边缘计算成为发展的重要趋势,而目前云边协同或称为云边一体的技术架构尚处于发展的初期阶段。由于云计算和边缘计算面对的计算资源和存储资源不同,其对于算法的速度、内存占用和能效的要求存在不同的要求,现有的一些工具不能同时满足云计算和边缘计算的要求,无法体现出云边一体的协同效应。在华为提供的开源计算平台KubeEdge最新的v0.2版本中,引入了云组件用于连接并形成回路,通过一致且可伸缩的基于Kubernetes的接口,KubeEdge支持边缘集群的编排和管理。这为快速高效地将云计算能力推向边缘提供了可能。
关键词: 云计算; 边缘计算; 云边协同; KubeEdge
中图分类号: TP311文献标志码: A
Exploration of the Integrated Cloud-Edge Synergy Architecture Based on KubeEdge
CHEN Wei, ZHENG Wei, TANG Yi
(BestTV Network Technology Development Co. Ltd., Shanghai 200032)
Abstract: The coordinated development of cloud computing and edge computing has become an important trend in the future. However, the current technology architecture based on cloud-edge synergy is still in the early stage of development. Because cloud computing and edge computing apply different computing resources and storage resources, they have different requirements for algorithm speed, memory usage and energy efficiency. Some existing tools cannot meet the different requirements of cloud computing and edge computing at the same time. KubeEdge, an open source computing platform donated by Huawei, introduced cloud components for connecting and forming loops in the latest v0.2 release. KubeEdge supports the orchestration and management of edge clusters through a consistent and scalable Kubernetes-based interface. This makes it possible to develop cloud computing into the edge computing quickly and efficiently.
Key words: cloud computing; edge computing; cloud-edge synergy; KubeEdge
0 引言
云计算[1]概念的提出和应用已经极大影响了信息技术的发展,计算、存储、网络资源的销售方式改变使具有创新能力的开发人员不再需要在硬件的采购和部署上投入大量资金和人力成本。随着平台即服务、软件即服务的发展,开发人员可以获得更高的开发效率和更低的成本。然而,随着物联网技术的发展,集中式的云计算架构无法把资源利用、数据融合、应用兼容、统一运维等物联网问题全部解决,给网络带宽、计算能力、存储容量带来巨大压力。[2]
目前,以边缘计算模型为核心的,面向网络边缘设备所产生海量数据计算的边缘式大数据处理应运而生,其与现有以云计算模型为核心的集中式大数据处理相结合,即二者相輔相成,应用于云中心和网络边缘端的大数据处理,较好地解决了万物互联时代大数据处理中所存在的问题[3] 。根据思科全球云指数的预估,到2021年,存储在数据中心内的数据将增长至1.3ZB;存在设备中的数据将是数据中心的4.5倍,总量达到5.9ZB。受物联网的驱动,2021年全球设备产生的数据总量将达到每年847ZB。[4]边缘计算模型的优点就凸显出来:(1)在网络边缘处理大量临时数据,不再全部上传云端,这极大地减轻了网络带宽和数据中心功耗的压力;(2)在靠近数据生产者处做数据处理,不需要通过网络请求云计算中心的响应,大大减少了系统延迟,增强了服务响应能力;(3)边缘计算将用户隐私数据不再上传,而是存储在网络边缘设备上,减少了网络数据泄露的风险,保护了用户数据安全和隐私[5]。
在更多的场景下,云计算与边缘计算形成一种互补、协同的关系,边缘计算需要与云计算紧密协同才能更好地满足各种应用场景的需求。边缘计算主要负责那些实时、短周期数据的处理任务以及本地业务的实时处理与执行,为云端提供高价值的数据;云计算负责边缘节点难以胜任的计算任务,同时,通过大数据分析,负责非实时、长周期数据的处理,优化输出的业务规则或模型,并下放到边缘侧,使边缘计算更加满足本地的需求,完成应用的全生命周期管理[6]。本文将探索基于KubeEdge的云边协同架构,以满足实际需要,具体安排如下,第二节简要介绍KubeEdge;第三节实现一种移动边缘计算场景下的协同技术架构;第四节对该技术进行展望,并给出结论。
2 KubeEdge技术分析
边缘计算正在面临容器化演进的挑战,尤其是在垂直行业领域。容器是一种操作系统级别的虚拟化技术,通过操作系统隔离技术,如Linux下的CGroup和NameSpace,将不同的进程隔离开。容器技术不同于硬件虚拟化(Hypervisor)技术,并没有虚拟硬件,容器内部也没有操作系统,只有进程,这些特点使得容器比虚拟机更轻量,管理也更方便。
Kubernetes是Google 公司领导开发的开源容器编排引擎,目前已经成為容器编排领域的事实标准,可用于容器集群的自动化部署、扩容以及运维。通过Kubernetes,可以快速而有预期地部署应用、扩展应用。然而Kubernetes是为云数据中心设计的,要想在边缘使用Kubernetes的能力,需要解决以下问题[7] :(1)ARM的低功耗和多核的特点使其在IoT/Edge领域的应用广泛,然而大部分的Kubernetes发行版并不支持ARM架构;(2)很多设备边缘的资源规格有限,特别是CPU处理能力较弱,因此无法部署完整的Kubernetes;(3)Kubernetes依赖list/watch机制,不支持离线运行,而边缘节点的离线又是常态,例如设备休眠重启;(4)Kubernetes的运维相对于边缘场景用到的功能子集过于复杂;(5)需要特殊的网络协议和拓扑要求,设备接入协议往往非TCP/IP协议,例如,工业物联网采用Modbus和OPC UA,消费物联网采用Bluetooth和ZigBee等。
KubeEdge于2018年11月向公众发布,是首个基于Kubernetes扩展来提供云边协同能力的开放式边缘计算平台,其 0.1版本支持以下功能:(1)在边缘节点上运行的轻量级应用程序引擎,用于管理用户的应用程序并监视节点的运行状况;(2)支持kubernetes API原语,如node、pod、configmap、secrets等;(3)物联网设备与边缘节点对话的设备孪生和MQTT协议;(4)通过HTTP RESTful接口实现本地自治;与华为云IEF服务集成,用于节点、设备和应用程序状态更新;(5)边缘节点在离线和恢复后重新连接到云时的自治。
2019年3月发布0.2版本,增加以下功能:(1)增加边缘控制器,连接到Kubernetes api服务器,并在边缘和Kubernetes api服务器之间同步node/pod状态;(2)增加CloudHub模块,是KubeEdge的云部分中的WebSocket服务器;(2)内部MQTT模式,在该模式中,MQTT代理以edge_core启动,并删除对外部MQTT代理的依赖;(3)边缘的集成测试框架,改进了边缘单元测试覆盖率。KubeEdge的具体架构[8]如图1所示。
KubeEdge架构上清晰地分为三层,分别是:云端、边缘和设备层,其边缘进程包含以下5个组件:
(1) Edged:管理边缘的容器化应用程序,实现Pod,Volume,Node等Kubernetes资源对象的生命周期管理。
(2) MetaManager:它管理边缘节点上的元数据。这是Edged和Edgehub之间的消息处理器。它还负责在轻量级数据库中存储/检索元数据。
(3) EdgeHub:边缘的通信接口模块。这是一个Web套接字客户端,负责边缘计算与云服务的交互。
(4) DeviceTwin:它是处理设备元数据的设备软件镜像。该模块有助于处理设备状态并将其同步到云上。
(5) EventBus:使用MQTT处理内部边缘通信。它是一个MQTT客户机,可以与MQTT服务器交互,为其他组件提供发布和订阅功能。
KubeEdge的云端进程包含以下2个组件:
(1) CloudHub:云端通讯接口模块。一个Web套接字服务器,负责监视云端的更改、缓存以及向EdgeHub发送消息。
(2) EdgeController:管理边缘节点。它是一个扩展的Kubernetes控制器,管理边缘节点和pod元数据,以便数据可以面向特定的边缘节点。
Kubernetes maser运行在云端,用户可以直接通过kubectl命令行在云端管理边缘节点、设备和应用,使用习惯与Kubernetes原生的完全一致。通过上述分析可见,KubeEdge在云边协同运算部署上已经具备明显的优势:
(1) 边缘计算:在边缘运行业务逻辑的情况下,可以在生成数据的地方本地保护和处理更大的数据量。这减少了边缘和云之间的网络带宽需求和消耗。这提高了响应能力,降低了成本,并保护了客户的数据隐私。
(2) 简化开发:开发人员可以编写常规的基于HTTP或MQTT的应用程序,将这些应用程序装入容器,并在任何合适的地方(无论是边缘还是云中)运行它们。
(3) Kubernetes本地支持:通过KubeEdge,用户可以在边缘节点上协调应用程序、管理设备并监视应用程序和设备状态,就像云中的Kubernetes集群一样。
(4) 丰富的应用:将现有的复杂机器学习、图像识别、事件处理等高级应用程序轻松部署到边缘。
3 在移动边缘计算场景下的技术架构
上一节介绍了KubeEdge的基本技术框架,可以看到未来其具有广阔的应用空间。当前的移动核心网络或者广域网受时延、抖动、拥塞等问题的制约,移动云计算不能够满足时延敏感任务的网络要求。为了去除核心网的劣势带来的影响,欧洲电信标准协会(ETSI)提出将计算资源、存储资源转移到距离移动用户最近的移动网络边缘的方式,也就是将移动边缘计算定义为在移动网络的边缘向应用程序开发人员和内容提供商提供云计算服务和低时延、高带宽、边缘网络信息开放的服务环境[9]。
2017 年,ETSI将之升级为Multi-access Edge Computing以满足5G、Wi-Fi、固网多接入的需求,在其白皮书中[10]提出一种5G网络部署MEC的方案,具体如图2所示。
图中的虚拟化架构完全可以用KubeEdge技术替代,相比于诸虚拟化技术,具有如下优势:启动和卸载速度快,容器的启动和卸载速度比虚拟机快得多;镜像小,容器镜像在磁盘上占用的空间比虚拟机镜像要小很多;自包含,容器镜像包含业务实现逻辑以及运行依赖,使容器在跨平台迁移过程中,具有更好的一致性;资源利用动态变化,容器的资源利用是动态变化的;部署密度大,容器的部署密度要比虚拟机大很多。通过仿真实验验证,KubeEdge平台占用内存50M左右,CPU(单核)2%~10%。由此可见,使用KubeEdge平台能大大减少MEC场景下的资源消耗。
4 总结
移动边缘计算提供了一个新的生态系统和价值链。运营商可以向第三方开放无线接入网络边缘,允许他们灵活快速地向移动用户、企业和垂直细分市场部署创新的应用程序和服务。KubeEdge开源后,依托社区协作和生态系统的构建,将成为云边协同领域的重要平台。在未来,KubeEdge将会进一步满足以下功能:基于Istio的服务使微服务可以在网格中自由通信;提高Kubedge基础设施的性能和可靠性;在边缘启用函数即服务的功能;边缘节点支持更多类型的设备协议,如AMQP、蓝牙、ZigBee等;评估并启用具有数千个边缘节点和数百万个设备的更大规模边缘集群;允许将应用程序智能调度到大型边缘群集;数据管理/分析框架。
参考文献
[1] Armbrust M,Fox A,Griffith R,et al. A view of cloud computing[J].Communications of the ACM,2010,53(4):50-58.
[2] 蒲世亮, 袁婷婷. 基于云边融合的物联网智能服务架构探讨[J]. 智能物联技术, 2018, 1(1):7-12.
[3] 施巍松, 孙辉, 曹杰, 等. 边缘计算:万物互联时代新型计算模型[J]. 计算机研究与发展, 2017(5):907-924.
[4] Networking C V. Cisco Global Cloud Index: Forecast and Methodology, 2016—2021 White Paper[EB/OL]. 2019.3 https://www.cisco.com/c/en/us/solutions/collateral/service-provider/global-cloud-index-gci/white-paper-c11-738085.html
[5] 施巍松, 张星洲, 王一帆, 等. 边缘计算:现状与展望[J]. 计算机研究与发展, 2019, 56(1):73-93.
[6] 徐恩庆,董恩然. 云计算与边缘计算协同发展的探索与实践[J].通信世界,2019,801(9):46-47.
[7] Edge Captain. Kubernetes在边缘计算场景的探索[J].架构师,2019(5):36-49.
[8] Networking CV. KubeEdges documentation. 2019.3 https://docs.kubeedge.io/en/latest/.
[9] Simsek M, Aijaz A, Dohler M, et al. The 5G-Enabled Tactile Internet: Applications, requirements, and architecture[C]// IEEE Wireless Communications & Networking Conference. IEEE, 2016. Doha, Qatar(2016.4.3-2016.4.6)
[10] ETSI.etsi_wp28_mec_in_5G_FINAL.pdf.Integrated MEC deployment in 5G network[EB/OL].(2018-06). https://www.etsi.org/images/files/ETSIWhite Papers/ etsi_wp28_mec_in_5G_FINAL.pdf
(收稿日期: 2019.07.10)
作者简介:陈卫(1978-),男,硕士,工程师,研究方向:IPTV/互动电视新媒体领域技术研发与应用工作,在音视频技术应用、互动电视前端建设、融合业务运营等领域有较深入研究。
郑炜(1983-),男,硕士,工程师,研究方向:IPTV/互動电视新媒体领域技术架构工作,在云计算与移动互联网软件,音视频编解码、通信技术等方面有深入研究。
汤毅(1965-),男,硕士,高级工程师,研究方向:流分析、数字电影等新媒体领域技术研发与应用工作,在数字版权保护、大数据分析、信道编码等方面有较深入研究。