中国移动基于 Kubernetes 的物联网边缘计算应用实践
作者:何毓川,中移物联网,云计算开发高级工程师
EdgeBox简介
中移物联网是中国移动集团在物联网方向的专业研发子公司,在各个垂直行业都有非常丰富和完成的解决方案。
本文通过中移物联网的物联网边缘计算解决方案:OneCyber 5G 边缘网关,简称 OneCyber EdgeBox (下文统称为 EdgeBox),介绍中国移动在基于 Kubernetes 的物联网边缘计算应用实践。
首先对边缘计算做一个简要的介绍,边缘计算是一种在数据源头侧提供运算、存储、网络等的IT能力,用以降低数字化转型的成本、提高资源利用率、增强业务的灵活性。
下图展示了边缘计算的总览和分类。图中上半部分称为轻边缘,也叫远边缘,因为边缘计算的算力距离用户和现场比较近,经常作为物联网的网关设备呈现在用户面前。而图中下半部分称为重边缘,也叫近边缘,也就是我们通常所说的 MEC,MEC 的运算、存储、网络等IT能力都比轻边缘强的多,在 MEC 部署的业务的应用就在边缘端处理用户请求和流量,不能处理的才继续上行到中心 DC 或云端。
本文介绍的 EdgeBox 就是远边缘的典型应用,以智能边缘硬件的形式部署在用户现场,和云端的边缘计算管理平台进行云边协同,将云端的应用和能力延申到边缘侧。
EdgeBox 作为中国移动旗下的远边缘计算整体解决方案,提供以下的核心能力:
- 智能边缘硬件(支持 5G)
- 边缘基础设施管理
- 边缘容器应用管理
- 云边协同能力
- 边缘应用商城
- IoT 设备多协议接入服务
- 数据集成/数据分析服务
- 丰富的行业AI算法
下图展示了 EdgeBox 解决方案的构成,包括智能边缘硬件和物联网边缘计算平台。
智能边缘硬件在边缘侧提供设备接入,边缘应用等能力,并通过云边协同能力和云端的物联网边缘计算平台进行交互。物联网边缘计算平台在云端提供应用商城,边缘管理等能力,并通过标准接口和第三方平台进行对接。
智能边缘硬件主要分为 EdgeBox-A 系列和 EdgeBox-V 系列。EdgeBox-A 系列定位为通用边缘 APP 一体机,基于通用 CPU 和标准操作系统,侧重于承载边云一体化应用。而 EdgeBox-V 系列则定位为 AI 机器视觉一体机,通过配置神经网络 ASIC,侧重边缘侧的视频和图像分析。
物联网边缘计算平台
前文简要介绍了 EdgeBox 解决方案的构成,主要包括边缘端的智能边缘硬件和云端的物联网边缘计算平台。从本章节开始,将详细介绍物联网边缘计算平台的构成,能力,和技术架构等。
下图展示了 EdgeBox 解决方案中物联网边缘计算平台的组件构成。
上图中,物联网边缘计算平台主要由蓝色部分的边缘计算基础设施能力和红色部分的由应用带来的扩展能力构成。边缘计算基础设施能力的部分称之为边缘计算平台,而由应用带来的扩展能力的部分称之为应用使能平台。
边缘计算平台主要提供以下能力:
- 边缘基础设施管理
- 边缘容器应用管理
- 云边协同能力
- 边缘应用商城 (丰富的行业AI算法)
应用使能平台则主要提供以下能力:
- IoT设备多协议接入服务
- 数据集成/数据分析服务
边缘计算平台和应用使能平台,共同构成了 EdgeBox 解决方案中云端的物联网边缘计算平台。下面就分别对这两个平台进行详细的说明。
边缘计算平台
边缘计算平台在 EdgeBox 整体解决方案中作为边缘计算的底座,提供边缘基础设施和应用的基础管理能力。有了边缘计算平台,才可以通过应用等方式扩展整个解决方案的能力。
边缘计算平台主要提供以下六大类基础能力:
- 边缘节点管理:统一管理边缘计算硬件,提供认证、监控、配置下发等功能。
- 云边协同能力:所有边缘硬件资源纳入统一资源池进行协同管理;为边缘应用提供云边数据通道和云边管理通道,让业务在云和边之间无缝协同。
- 容器镜像管理:镜像仓库可以在用户维度进行容器镜像管理。
- 边缘应用管理:统一管理边缘应用,提供应用部署、配置下发、应用监控、远程调试。
- 边缘应用市场:统一收纳客户边缘业务应用,方便维护应用版本、部署模板。
- 云端集群管理:统一管理云端多K8S集群,提供统一视图并有效扩展业务规模。
为了提供上述的六大类边缘计算的基础能力,边缘计算平台的架构需要相应的组件和模块进行支撑。边缘计算平台的技术架构如下图所示。
上图中,主要的组件和模块的作用解释如下。
- 北向 API 层:边缘计算的资源建模,包括边缘节点,边缘应用等,同时负责向用户和第三方平台提供北向 REST API,以及持久化和缓存处理。
- 多集群容器云平台:向北向 API 层提供节点,容器,和多集群的管理能力,南向管理 EdgeBox 的云端代理和承载云端代理的K8S集群。
- EdgeBox 云端代理:云边协同的云端代理服务,部署在云端K8S集群中,提供边缘节点接入和向边缘端的资源同步等。
- EdgeBox 边缘管理:云边协同的边缘代理服务,安装在智能边缘硬件上,提供边缘应用的运行环境和向云端的资源同步等。
- 应用市场:管理镜像和边缘应用。
根据以上的架构设计,EdgeBox 的边缘计算平台在部分组件上需要集成开源软件来避免重复造轮子。其中多集群容器云平台和 EdgeBox 的云端以及边缘代理是选型的重点。
最终边缘计算平台的选型结果如下图所示。
多集群容器云平台的选型最终敲定为 KubeSphere,理由是 KubeSphere 有如下的优势和能力:
- 无缝集成KubeEdge
- 边缘资源监控/运维
- 北向 API 完备丰富
- 开源社区比较活跃
- 用户多商用案例多
EdgeBox 云端代理和边缘代理的选型最终敲定为 KubeEdge,理由是 KubeEdge 拥有如下的优势和能力:
- 云边协同
- 边缘自治
- 边缘设备管理
- 轻量化边缘
基于 KubeSphere 和 KubeEdge 的既有能力,EdgeBox 解决方案也自研和增强了一部分特性,当前包括如下六大类:
- 节点管理:包括边缘节点纳管增强认证,边缘节点的属主信息,边缘节点的预置应用下发,边缘节点的数字连接关联等。
- 节点组:包括节点加入/退出节点组,应用在节点组内自动调度,节点故障时应用重调度,亲和/反亲和调度规则指定。
- 应用市场:包括适用于边缘场景的应用市场,应用审核,应用上下架,合作伙伴开发丰富行业应用,用户购买第三方提供应用。
- 云边消息:包括云边用户消息和数据通道,云边 REST 和 MQTT 双向通道,云边 REST 和 REST 双向通道。
- 云边文件传输:基于云边消息的文件传输服务。
- 公有云运维监控:引入 IPAM 的 IP 冲突解决,提供用户边缘容器运维/监控。
综本章节所述,边缘计算平台通过基于 KubeSphere 和 KubeEdge 的开源框架,及规划的自研特性和能力,为 EdgeBox 解决方案提供了边缘计算的基础设施管理和云边协同能力,为物联网应用和平台提供了基础和底座。
应用使能平台
上一章节介绍了物联网边缘计算平台中的边缘计算平台,包括边缘计算平台的能力,架构,选型以及自研能力等。本章节将简要介绍物联网边缘计算平台中的应用使能平台。
应用使能平台基于边缘计算平台,通过物联网或其他垂直行业的边缘应用,以及相应的云端平台或服务,向用户提供完整的具有云边协同能力的行业解决方案。
本章节着重介绍应用使能平台的两种套件,数字连接套件和数据集成套件。
数字连接套件
数字连接套件提供物联网设备接入、多协议解析、协议转换、命令下发等一站式连接能力。支持电信级可靠、海量接入、跨机房部署。
数字连接套件的技术架构如下图所示。
数字连接套件的适用场景,包括但不限于公有协议设备直连接入,私有协议设备接入,设备管理通用能力等。
套件的能力包括:
- 支持各种协议设备接入,如MQTT、LWM2M和其他私有协议。
- 提供完整的设备生命周期管理功能,支持设备创建、功能定义、数据解析、在线调试等。
- 支持产品物模型,对产品添加属性、事件和服务。
数据集成套件
数据集成套件作为适配中间件,用于异构平台之间的数据对接,提供多种数据源采集能力和数据目的推送能力,以及数据缓存、抽取、变形等处理能力,打通个各业务孤岛,实现数据互联互通,助力企业数字化转型。
数据集成套件的技术架构如下图所示。
数据集成套件的适用场景,包括但不限于异构系统之间需要数据同步,场景联动,事件触发动作,以及作为规则引擎对采集的数据进行条件过滤等。
套件的能力包括:
- 支持多种异构数据源间的同步,如 HTTP、Kafka、MQS、数字连接设备属性、状态等。
- 支持按时间(定时、周期、实时)、同步方式(主动调用、被动监听)等任务触发规则来调度任务。
- 支持数据路由、数据转换等丰富的数据处理控件和内置函数。
后记
本文介绍了中国移动在物联网边缘计算赛道上的应用实践,也就是 5G 边缘网关 EdgeBox 解决方案。EdgeBox 基于 KubeSphere 和 KubeEdge,再加以规划和自研的强大特性和能力,给物联网边缘计算领域带来了开箱即用的整体解决方案。未来,得益于 EdgeBox 开放和易扩展的技术架构,必定能够赋能各行各业,为 5G 新基建和数字化转型添砖加瓦。
本文由博客一文多发平台 OpenWrite 发布!
中国移动基于 Kubernetes 的物联网边缘计算应用实践的更多相关文章
- Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台
2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...
- 阿里云物联网边缘计算加载MQTT驱动
写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据. 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[ ...
- 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施
作者 | 黄玉奇(徙远) 阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...
- 基于kubernetes集群的Vitess最佳实践
概要 本文主要说明基于kubernetes集群部署并使用Vitess; 本文假定用户已经具备了kubernetes集群使用环境,如果不具备请先参阅基于minikube的kubernetes集群搭建, ...
- 基于Kubernetes和OpenKruise的可变基础设施实践
本文首发在OPPO互联网公众号,欢迎点击转载 https://mp.weixin.qq.com/s/hRvZz_bZfchmP0tkF6M2OA 对于可变基础设施的思考 kubernetes中的可变与 ...
- KubeEdge,一个Kubernetes原生边缘计算框架
KubeEdge成为第一个Kubernetes原生边缘计算平台,Edge和云组件现已开源! 开源边缘计算正在经历其业界最具活力的发展阶段.如此多的开源平台,如此多的整合以及如此多的标准化举措!这显示 ...
- 关于k8s这项大动作,预示着边缘计算迎来“开源”发展的新周期……
在文章<最近在边缘计算领域,发生了一件足以载入物联网史册的大事…>我曾经提到Kubernetes(简称K8s)将从超大规模云计算环境,被带入到物联网边缘计算场景中. 事情有了新进展,从本周 ...
- 2019云栖大会开幕,5G边缘计算成首日焦点
9月25日,全球顶尖科技盛会——2019云栖大会如期上演,1000余位当代技术领军人物与数万名开发者集结杭州,聚焦数字经济,共话面向未来20年的基础科学.科技创新与应用突破.其中,边缘计算技术领域因5 ...
- 大数据,物联网(Internet of Things),万物互联网(Internet of Everything),云计算,雾计算,边缘计算(Edge Computing) 的区别和联系
大数据是一种规模大到在获取.存储.管理.分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模.快速的数据流转.多样的数据类型,高价值性和准确性五大特征,即5V(Volume, V ...
- 边缘计算在物联网(IoT)当中的运用「物联网架构探索系列」
这里记录的是我对物联网架构的学习.探索和思考,希望对你有所启发…… 边缘计算是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起 ...
随机推荐
- PyTorch视觉模型库torchvision.models介绍
安装pytorch时我们一般都是会一并选择安装自带的视觉模型库 torchvision , 该库不仅有经典的视觉模型结构同时还提供了对应参数的下载功能,可以说torchvision库是十分方便于研究 ...
- DolphinScheduler分布式集群部署指南(小白版)
官方文档地址:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.9 DolphinScheduler简介 摘自官网:Apache DolphinSc ...
- Apache SeaTunnel社区首位学生Committer诞生!
采访对象 | 陈炳烨 采访人&编辑 | Debra Chen Apache SeaTunnel社区第一位学生Committer就此诞生!这位来自西安交通大学软件工程专业的同学从较为简单的文档修 ...
- 代码随想录Day10
232.用栈实现队列 请你仅使用两个栈实现先入先出队列.队列应当支持一般队列支持的所有操作(push.pop.peek.empty): 实现 MyQueue 类: void push(int x) 将 ...
- WPF,图表控件
开源代码地址:https://github.com/bearhanQ/WPFFramework; QQ群:332035933: <UserControl x:Class="WpfBoo ...
- Win32 插入符光标跟随的打字小程序
1.先创建插入符光标 在WM_CREATE消息中 LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam) { HDC hdc = GetDC ...
- 掌握Java面向对象OOP篇(一)
掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...
- 异常处理,内置方法(__new__,__init__,__del__析构方法,单例模式,item系列)
__new__ 创建一个对象 class A: def __init__(self): print('in init') def __new__(cls): print('in new') self= ...
- 细说WebService
细说WebService 简介 WebService 是一个应用于客户端.服务端,基于http协议的web应用程序,他有一个非常重要的特点,那就是可以跨语言.跨平台进行远程调用,可应用于分布式系统中的 ...
- 玄机蓝队靶场_应急响应_01:linux日志分析
个人感觉这个靶场主要考验对linux的命令的基础掌握,对日志路径的基本了解. 一:解题 (1)ssh连接靶场,先用命令lsb_release -a看看是什么系统.然后发现是Debian GNU/Lin ...