基于边缘计算的工业物联网容器管理引擎设计

2021-08-06 19:34郭家伊
计算机时代 2021年7期
关键词:边缘计算容器

郭家伊

摘  要: 针对工业物联网中云端压力大、工业协议标准繁多等问题,设计了一款基于边缘计算的工业物联网容器管理引擎。该引擎具有三个分布式端,分别部署了容器管理引擎KubeEdge、协议转化工具EMQ X Edge和可视化工具OCP、Kuboard,提供资源监控、镜像管理、持续集成、自动伸缩、协议转换等功能。测试显示,集群数据带宽提升339.19%,响应时间减少81.22%。把部分计算任务从云端卸载到边缘后,系统能源消耗减少30%-40%,成功解决带宽不够、云端压力大等问题。

关键词: 边缘计算; 工业物联网; 容器; KubeEdge

中图分类号:TP311          文献标识码:A     文章编号:1006-8228(2021)07-38-04

Design of the container management engine for industrial Internet of Things

based on edge computing

Guo Jiayi

(Hangzhou Dianzi University, Hangzhou, Zhejiang 310018, China)

Abstract: Aiming at the problems of high cloud pressure and various industrial protocol standards in industrial Internet of Things, a container management engine for industrial Internet of Things based on edge computing is designed. The engine has three distributed terminals, which respectively deploy the container management engine KubeEdge, the protocol conversion tool EMQ X Edge and the visualization tools OCP and Kuboard to provide resource monitoring, image management, continuous integration, automatic scaling, protocol conversion and other functions. The test results show that the cluster data bandwidth is increased by 339.19%, and the response time is reduced by 81.22%. After some computing tasks are unloaded from the cloud to the edge, the system energy consumption is reduced by 30% - 40%, which successfully solves the problems of insufficient bandwidth and high cloud pressure.

Key words: edge computing; industrial Internet of Things; container; KubeEdge

0 引言

萬物互联给人类带来了极大便利的同时,海量设备的通讯也受限于不同设备的物理链路、各种不同的协议,因此大多数数据不能互联互通[1]。同时由于目前主流的容器编排引擎,如Kubernetes、Mesosphere、Docker Swarm等[2],难以实现自动伸缩应用,缺乏对容器的统一管理[3],易造成带宽不够、实时性运维服务质量下降及企业成本增加等问题[4]。

在此情况下,传统云计算模式无法高效地支持基于万物互联的应用服务程序[5],而边缘计算模型可以更好地解决这些问题。目前,有研究者已开展相关研究,如潘建胜曾以Docker为基础,设计并实现了一个CDN边缘计算平台[6];王健通过轻量级的边缘节点构建轻量级边缘计算平台[7],实现了轻量级的虚拟化与网络交换;吴鸿飞通过模型和算法扩展了Kubernetes,开发了一个轻量级的边缘计算平台[8]。这些研究说明,边缘计算模型可以补充云计算在实时性、智能性和安全管控上的不足,降低数据传输带宽和中断敏感数据带宽的风险[9],通过处理更接近源头的数据解决时延问题[10],可被应用在云计算任务迁移、视频监控、智能家居、智慧城市、智能交通、协同边缘等[11]领域,为物联网中连接的设备带来稳定。但是这些基于边缘计算的容器管理引擎只完善了某一部分的缺陷,如王健的轻量级边缘计算平台虽然在轻量化领域有较大成效,但无法有效解决协议兼容以及数据安全问题;吴鸿飞对Kubernetes的扩充虽然降低了应用服务的完成时间,但无法进行自动伸缩。边缘计算仍面临设备传输时的数据多样性、数据隐私保护、资源自动分配等问题[12]。

因此,本文构建了一个集资源监控、镜像管理、持续集成、自动伸缩、协议转换等功能于一体的容器管理引擎。该引擎设有云端、边缘端和设备端三个分布式端,具有容器管理模块、协议兼容模块、可视化管理模块,并通过实际的部署对于本引擎进行了测试以及性能分析。

1 高性能轻量级容器管理引擎设计

1.1 技术架构

本文提出的边缘计算容器管理引擎(如图1)具有三个分布式端:云端、边缘端、设备端。

在实际使用时,设备端将接入多种设备,如各种传感器、摄像头等;边缘端将部署容器管理引擎KubeEdge的Edged端、协议转化工具EMQ X Edge以及设备图形化管理工具EMQ X Dashboard,可将设备端多种协议的数据统一转化为MQTT协议格式,减轻边端压力并解决协议不兼容的问题;云端将部署容器管理引擎KubeEdge的Cloud端、集群图形化管理工具Kuboard以及微服务管理框架OCP,有利于大幅减少通信压力,在高时延下正常工作。

1.2 功能结构

本引擎主要分为三个功能模块:容器管理模块、协议兼容模块和可视化模块(如图2)。

容器管理模块通过结合KubeEdge和Kuboard实现了容器的可视化管理,包括镜像管理、容器参数管理、存储管理等;协议兼容模块通过EMQ X Edge实现了协议兼容,对设备端多种协议进行了统一管理,包括设备接入、协议转化、数据安全、设备监控等流程的完整管理;可视化管理模块通过EMQ X Dashboard实现了设备可视化管理、通过Kuboard实现了集群可视化管理以及通过OCP实现了微服务的可视化管理。

2 高性能轻量级容器管理引擎实现

本引擎首先在云端和边端部署了KubeEdge集群,然后安装了用于协议转化以及设备可视化管理的EMQ X Edge,接下来安装了集群的可视化管理工具Kuboard和微服务的可视化管理工具OCP,最后进行了引擎的测试。

2.1 集群部署

集群使用了谷歌云平台与阿里云平台。首先在谷歌云平台基于KubeEdge和Docker搭建了一个KubeEdge的Master节点作为中心云服务器,然后在阿里云平台基于KubeEdge、Docker和Containerd搭建三个KubeEdge的Edged节点作为边端服务器,最终组成了一个有一个中心节点、三个边端节点的KubeEdge集群(如图3)。

2.2 协议转化

首先根据架构在阿里云平台的三个Edged节点上分别安装MQTT相关组件,然后在集群上部署EMQ X Edge,最后修改KubeEdge Edged端的Mappers并进行测试。测试结果发现通过EMQ X Dashboard可查看设备的各种信息,在节点中输入各个协议的数据后也可以成功实现多种工业协议的转化,实现协议的兼容性。

2.3 集群可视化管理

首先在谷歌云的Master节点上部署Kuboard,然后通过Kuboard监控并测试Master节点以及三个Edged节点的运转情况、资源分配情况、传递的信息等,最后使用Kuboard 提供的工作负载编辑器自动生成YAML文件,并在Kuboard上部署了基础的微服务进行测试。测试发现,Kuboard的微服务参考分层架构的形式,将所有的微服务分为展现层、API网管层、微服务层、持久层、中间件层和监控层,通过可视化的形式将各个名称控件展现了出来。

2.4 微服务可视化管理

首先在KubeEdge的Master节点上安装JDK、maven以及git,此处使用的是JDK1.8和maven3.6.2,然后下载OCP的代码仓库,最后通过构建Docker镜像并推送到仓库来测试OCP是否安装成功。经过测试,OCP安装成功,可成功通过可视化界面进行后台管理、服务管理、应用管理等操作。

2.5 測试

首先测试设备端、边缘端和云端之间的数据是否可以互联互通,然后通过接入不同协议的数据并部署了不同的微服务来检验产品效果,最终在各个可视化界面对于设备、集群、微服务进行监控与管理。测试结果发现,数据可以在设备端、边缘端和云端互联互通,实现了多种协议的兼容,用户可成功通过可视化界面对于设备、集群和微服务进行监控与管理。

3 高性能轻量级容器管理引擎性能分析

为了评估提出的轻量级容器引擎的性能,选取阿里云远端服务器进行对比分析,远端服务器的内存、CPU、存储等配置与测试环境相似,测试过程对数据传输处理性能、资源消耗、响应时间、兼容性等方面进行了评估,具体如下。

⑴ 带宽测试 测试过程中在轻量级容器引擎以及远端云服务器上都使用iperf工具对TCP吞吐量进行测试。测试发现,集群内部数据带宽为6.5Gbits/sec,集群内部服务器与外部服务器为1.48 Gbits/sec,数据带宽提升339.19%。

⑵ 资源消耗 测试过程中在轻量级容器引擎以及远端云服务器上都部署了相同的计算任务,并分别用KubeEdge和K3S部署了0~100个应用,测试结果发现KubeEdge所占用的内存约为K3s Server的1/6和K3s agent的1/2(如图4),所占用的CPU约为K3s Server的1/10和K3s agent的1/8且整体趋向于平稳(如图5)。把部分计算任务从云端卸载到边缘之后,整个系统对能源的消耗能够减少30%-40%。

⑶ 响应时间 测试过程中在轻量级容器引擎以及远端云服务器上都部署了相同的人脸识别微服务。测试结果发现,本引擎可以将响应时间由900ms减少为169ms,降低了81.22%;系统数据在整合、迁移等方面耗时将会缩减到远端云服务器的1/20。

⑷ 兼容性 测试过程中比对了市面上常用的几种MQTT Broker,如mosquitto、RabbitMQ、mosca等,测试结果(如图7)发现,EMQ X Edge支持 MQTT-SN、WebSocket、CoAP、Stomp、Modbus 等协议,可以在x86 网关、工业服务器等各种资源受限的边缘设备上运行,具有良好的兼容性。

4 结束语

基于边缘计算的工业物联网容器管理引擎解决了工业物联网协议繁多、带宽不够、时延过高等问题,有利于应对工业环境中日趋增高的边缘应用复杂性对应用开发、部署、管理、协作维度带来的挑战。但是仍然存在部分待解决和优化的问题,如镜像文件裁剪。本文初步提供了一种基于边缘计算的工业物联网容器引擎设计思路,还有待后续的深入研究和测试,逐渐对解决方案进行完善。

参考文献(References):

[1] 余文科,程媛,李芳,赵琦.物联网技术发展分析与建议[J].物联网学报,2020.4:105-109

[2] 徐珉.Docker环境下容器编排工具的选择[J].集成电路应用,2017.34(7):62-66

[3] 张城城.基于Docker的容器集群管理平台的研究与实现[D].北京邮电大学,2019.

[4] 颜晓莲,章刚,邱晓红,陈庆奎.工业物联网的工业边缘云部署算法[J/OL].计算机集成制造系统:1-17[2020-12-22].http://kns.cnki.net/kcms/detail/11.5946.TP.20201026.1107.042.html.

[5] 裴庆祺.以万物互联为核心的边缘计算时代正在开启[J].人民论坛·学术前沿,2020.9:26-32

[6] 潘建胜.基于Docker的CDN边缘计算平台设计与实现[D].北京邮电大学,2018.

[7] 王健.轻量级边缘计算平台方案设计与应用研究[D].北京邮电大学,2019.

[8] 吴鸿飞. 基于边缘计算的微服务调度算法研究[D].电子科技大学,2020.

[9] 施巍松,孙辉,曹杰,张权,刘伟.边缘计算:万物互联时代新型计算模型[J].计算机研究与发展,2017.54(5):907-924

[10] 余文科,程媛,李芳,赵琦.物联网技术发展分析与建议[J].物联网学报,2020.4:105-109

[11] 施巍松,张星洲,王一帆,张庆阳.边缘计算:现状与展望[J].计算机研究与发展,2019.56(1):69-89

[12] 周悦芝,张迪.近端云计算:后云计算时代的机遇与挑战[J].计算机学报,2019.42(4):677-700

猜你喜欢
边缘计算容器
Different Containers不同的容器
人心像一个容器
难以置信的事情
面向5G MEC边缘云的CDN下沉方案
区块链技术在物联网中的应用分析
边缘计算下移动智能终端隐私数据的保护方法
边缘计算在农业物联网中的应用
从“边缘计算”看未来企业办公场景
取米