华为华为KubeEdge在边缘计算的实践在边缘计算的实践
摘要
在本文中,我们为Edge-cloud通信和执行环境引入了Edge基础架构(KubeEdge),我们将其视为云基础架构的扩展。此边
缘基础架构允许Edge采用现有云服务和云开发模型,并提供边缘和云之间的无缝通信。KubeEdge包括一个名为KubeBus的
网络协议栈,一个分布式边缘元数据存储/同步服务和一个应用程序编排服务。KubeBus旨在拥有自己的OSI第2/3/4层协议实
现,支持将云端的边缘节点和虚拟机连接为一个VPN,并为不同租户的边缘集群提供通用的多租户管理/数据平面。在Cloud和
Edge中运行的服务在KubeBus之上相互通信,具有容错性和高可用性。KubeEdge中的Edge元数据服务提供边缘元数据存储
和服务,以在云和Edge之间同步元数据,以支持边缘节点脱机方案。KubeEdge包括Kubernetes [1]扩展,以便Kubernetes可
以管理Edge Nodes以及Cloud中的VM,并部署/管理Edge Nodes的应用程序。
1 介绍
随着边缘设备的增加,我们更希望很多任务在本地执行,而不是上传到云数据中心。我们需要一种新型的计算范式,它能够在
网络的边缘执行任务,它就是边缘计算。而在近几年,随着物联网的发展,边缘计算模型变得越来越重要。
在Edge计算中,最初在云中运行的服务部署到Edge环境,并与其他Edge服务和云服务协作。Edge服务调度,生命周期管理
和监控可以从Cloud完成。例如,之前的研究[3]通过扩展现有平台和优化的WAN环境算法推动了数据中心的计算。除了常见
的数据处理这样的数据过滤和聚合之外,AI过程也从数据中心推送到Edge,比如最近的研究[4]“在神经网络层的粒度上划分移
动设备和数据中心之间的DNN计算”。
“云计算是基于TCP / IP的高级开发和计算机技术的集成,如快速微处理器,巨大的内存,高速网络和可靠的系统架构。”[云计
算的特征]。有成熟的商业云计算基础设施来管理云应用程序。例如,IaaS基础设施OpenStack,Amazon EC2; 容器化应用管
理系统Kubernetes [1],docker swarm。
现有的云计算基础架构可能不会直接应用于Edge环境。这是因为Edge环境与云环境不同,涉及网络连接/拓扑,网络带宽和相
对受限的计算资源。例如,一个典型的Edge场景是多个Edge节点和云通过广域网(WAN)连接。边缘节点在NAT后面的专用
网络中运行,因此在云上运行的TCP客户端无法连接到在Edge上运行的TCP服务; 此外,Edge和Cloud之间的网络可能不稳
定,在Edge运行的服务需要能够脱机运行; 边缘节点和云之间的带宽小于云,并且更昂贵; 最后,一些边缘节点具有约束计算
资源,例如仅128 MB内存。
Edge基础架构基于以下3个组件:
KubeBus将边缘节点和虚拟机连接为VPN,并将一个多租户管理/数据平面连接到所有租户的边缘集群;
EdgeMetadataService,支持Cloud和Edge之间的元数据存储和Edge和a-synchronization元数据;
Kubernetes扩展,支持边缘应用程序部署和生命周期管理。
该基础架构适用于将基于微服务的应用程序从Cloud扩展到Edge。
本文的其余部分安排如下。第2节讨论边缘计算基础设施的相关工作; 第3节介绍了KubeEdge的架构和设计; 第4节KubeBus的
实验结果; 第5节讨论未来的工作; 第6节总结了论文。
2 相关工作
在物联网(IoT)时代,全球部署了数十亿个传感器和执行器。为了管理物联网设备并使用云计算资源处理来自它们的数据,
云提供商提供的物联网平台包括Azure物联网平台,AWS IoT和Google IoT解决方案。物联网平台使用诸如Mqtt [9]或AMQP之
类的发布/订阅代理来处理物联网设备和云服务之间的通信通道,例如Azure IoT中心。
物联网设备数量巨大,物联网数据太大,无法容纳互联网带宽发送到云端。云提供商发布Edge平台,如AWS GreenGrass [5]
和Azure IOT Edge [6],以管理Edge端的IoT应用程序执行和IoT数据处理以及Cloud和Edge之间的数据传输。例
如,GreenGrass将AWS Lambda函数环境扩展到Edge,以便Edge应用程序可以作为Lambda函数部署到Edge并在Edge中进
行管理。在AWS GreenGrass中,Edge服务通过Pub / Sub消息相互通信并与Cloud服务进行通信。Azure IoT Edge还具有
Edge Hub,可将IoT Hub的功能扩展到Edge,并为Edge服务提供Pub / Sub通信。在这个模型中,通过为物联网设备设计的类
似通道,基于Pub / Sub sematic的中心云边缘节点通信。从Central Cloud的角度来看,Edge节点被视为一种特殊的IoT设备。
服务,每个服务都在自己的进程中运行,并与轻量级机制通信,通常是HTTP资源API。要将基于Micro-service的云应用程序
扩展到Edge,一个应用程序的部分小型服务将部署在Edge Nodes中。边缘服务应该与云中的相同RPC以及其他云服务相互通
信。为实现此目标,Edge平台需要提供与云相同的执行环境。在环境中,无论服务是在Edge还是Cloud中运行,服务都可以
在一个集群中相互通信。此外,微服务应在Edge节点和具有相同部署基础架构的云之间自由调度。
发布/订阅协议可能不适合将微服务从Cloud扩展到Edge。由于跨微服务RPC可能不是发布/订阅协议,因此基于发布/订阅协议
的边缘计算基础结构中运行的服务需要重构以满足基础结构要求。
KubeEdge为Cloud和Edge环境构建了一个同构执行环境。它解决了KubeBus的边缘节点连接拓扑问题,它将端口中的边缘节
点,虚拟机和容器网络连接为VPN; 它还包括一个Kubernetes扩展,可将Kubernetes功能扩展到Edge环境,以便Edge服务可
评论0