深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践
简介:本文将介绍边缘计算落地的机遇与挑战,以及边缘容器开源项目 OpenYurt 在企业生产环境下的实践方案。
作者:赵震,深信服云计算开发工程师,OpenYurt 社区 Member
编者案:在 5G、物联网等新技术的持续推动下,边缘计算产业已然走向大风口,未来越来越多的种类,越来越大的规模和越来越复杂的应用和工作负载都会被部署到边缘侧。本文基于深信服云计算工程师赵震在由 CNCF 和阿里云联合举办的云原生容器领域开发者沙龙 KubeMeet 中的分享整理,介绍了边缘计算落地的机遇与挑战,以及边缘容器开源项目 OpenYurt 在企业生产环境下的实践方案。
本次分享是偏重于实践的案例,主要是关于 OpenYurt 产品在真实落地情况下的方案是怎么部署的。
主要从 4 个方面来进行,首先是关于边缘计算遇到的机遇和挑战都有哪些,第二部分就是深信服平台针对这些挑战做了哪些解决方案,可以让用户更好地使用边缘计算的东西。第三部分是方案和 OpenYurt 的落地结合,有哪些要点要去做落实的。最后一部分是针对整个行业的未来展望,以及社区未来发展做一些期许。
边缘计算的机遇与挑战
伴随着 5G 的到来以及直播和物联网的产生,越来越多的边缘设备已经被大家所使用,产生的数据也非常庞大。比如智能终端的一个 1080p 的视频监控头,每分钟就会产生 10GB 的数据。在一个中小型城市,这种摄像头有 100 到 150 万个,而且还在不断增加。在这样一个边缘场景下,它的数据应用是非常庞大的。
万物互联的时代,产生了很多智能家居,它们除了简单的接入网关之外,还有很多数据需要处理,这部分也是边缘侧的应用场景。
以上都是我们遇到的机遇,那挑战是什么?
对于一些传统行业而言,他们的云计算可能是很小的,比如市面上有很多私有云场景、政府专有云场景,他们不足以做到像大厂商那些云计算一样无限的扩容来做很多计算处理。目前的市场环境下,云和端的环境非常不理想,主要原因有以下几个方面。
第一,因为端侧数据采集的设备普及率较低,导致很多有用的数据没有办法采集上来供云端的大脑进行分析操作。
第二,采集数据的维度低、功能单一,会漏掉一部分有价值的数据。
第三,前端设备的维保非常难。以摄像头为例,我们没办法对每一个摄像头进行严密的监控和维护。出事故以后去追溯问题,可能已经过了好几天了。在这种情况下,这部分数据就会丢失。
第四,行业的数据标准不一样。设备一直在更新迭代,数据的标准也在不断更新。市面上有很多不同类型的设备,把这些设备的数据统一集中到云端去做处理,云端的能力也跟不上。
传统云端的主要瓶颈就是资源和效率问题。一个 1080p 的摄像头可能每分钟就会产生 10GB 的数据,而云端和边端的带宽非常有限,仅仅一个摄像头可能就会把整个网络的带宽占满,导致别的服务没法使用。再一个是效率限制,很多私有云的能力并不强,对于数据的处理就达不到理想的效果,也就没办法做及时的响应。对于一些要求低延时的行业,这是非常危险的。
同时,传统意义上的端和云链路是不可控的,比如端因为网络抖动和云失去联系,云端的指令不能及时下发到边端上,这也会带来一定的风险。
再者,传统上意义上端的设备更新是很缓慢的,一次性部署以后很长时间都不会有迭代。但是在一些新兴行业的场景下,比如智慧路口,它的 AI 算法是需要不断地进行模型训练的。它们部署下去之后会采集一些数据,这些数据上传到云端之后对模型进行训练,得到一个更优化的版本,然后把这更优化的版本再推到端上面去,进行更智能化的操作。这部分就是软件不停更新迭代的过程,这个也是传统意义上的云端不能做到的。
深信服智能边缘平台解决方案
针对以上这些问题,我们给用户提供了解决方案。先看一下解决方案的整体架构。它是从两个方面来进行的——边缘侧和中心侧。
首先,我们采取的是云端一体化架构。在边端给用户部署一个云边一体机,也可以理解成是一个小型的服务器,它可以和终端设备放在同一个地方。于是他们之间会整体形成一个独立的小网络。这样边端的设备就可以把数据发给云边一体机,数据就可以得到尽快的处理和响应。
其次,即使在云边断网的情况下,端侧可以和边侧一体机进行网络访问,我们可以内置一些 AI 算法进去,使特定场合下的指令也可以得到响应。
最后就是关于数据的处理。云边侧的网络带宽是有限的,我们可以先将数据收集在一体机里,先做一轮处理,把一些有效的数据处理出来。再将这些数据通过的 SD-WAN 网络汇报到中心侧进行处理,这样一方面减轻了带宽的压力,另一方面提高了中心侧的数据处理能力。
云边断网情况下的边缘自治能力其实是根据我们和社区的 OpenYurt 进行结合,将云边运维通道、边缘端的自治以及单元化部署都有机结合到了一起,形成了这样一个边缘计算的架构图。
云边一体机的最终目标是为智能化改造打通最后一公里。
它里面提供了很多功能,包括控制面板,AI 算法的平台,以及监控日志的收集,当然还有最重要的安全网络管理,以及一些视频的解码编码。同时这个盒子也是支持硬件适配的,比如 arm 架构、x86 架构,还包括不同的网络 GPU 的配合、底层数据操作系统适配。
完成了底层硬件的适配、AI 算法的适配、网络设备和视频解码的适配以后,把整体的方案交给用户,就可以帮助用户更快地实现业务的容器化部署,这大大提高了产品智能化改造的效率。
技术方案与 OpenYurt 落地结合
边缘计算比较重要的一个使用场景就是智慧路口。城市里每个路口的策略不一样。比如在一些车流量非常庞大的路口,它的重点更在于流量管控。由于车辆密集,红绿灯可能来不及做相应,就需要通过 AI 算法来支持。
再比如,在人流量非常密集的情况下,一些公安系统重点关注的有犯罪记录的人经过,这个时候要通过 AI 算法的人脸识别功能来及时通知周围民警,提醒他们注意防范。
还有很多的城市道路会和村道进行结合,这种城乡结合道路不光需要流量的管控,还需要交通安全的管控。我们要对 AI 算法植入一些智能语音服务的喊话系统,结合动态告警功能,可以避免交通事故的发生。
以上这些都是智慧路口关于 AI 算法的接入场景,这些 AI 算法可以根据不同的区域范围来做智能化的注入,这其实就利用了边缘计算 OpenYurt 的单元化管理,我们给它设置不同的单元化场景,连接到网络之后就可以根据当前的这一个区域来推送不同的 AI 算法。
说了这么多关于真实业务落地场景,后面将会结合整个平台的架构来讲解我们的改造思路。
KubeManager(KM)架构是我们公司自研的一个产品, 它是一个容器管理平台,底层是由多个 K8s 集群管理构建起来的,集成了多个应用商店和软件 ,还有一些数据的采集和监控、给用户的可视化展示。
它主要分为两个大的模块,上图左下方是管理集群,前文提到的一系列内容都是在管理集群里去承接的。用户集群可以通过接入层来进行数据接入,然后将 API 的数据发送到 API 业务层,再把这些数据存储到原生 K8s 的 etcd 里面去。
我们做改造的部分主要是针对用户集群这一块,跟 OpenYurt 做结合。在改造落地的过程中也出现了很多问题。
在有多个 master 的情况下,需要与 Tunnel 流量做适配,用户自己去做适配的过程非常麻烦。所以我们已经跟社区对接完成,把他们全部融入到平台的里面去,用户可以直接使用,不用考虑各种适配的问题。
用户集群接入到 km 集群之后,需要从 K8s 集群转换成边缘集群,我们也提供了一个自动化转换。
OpenYurt 是基于原生 K8s 来做的,由于搭建方式不同,在后面的平台对接过程中会出现一些差异,比如证书的自动管控和轮询操作、下发,这些都是需要在前期对接过程中解决,然后才能使用 OpenYurt。
改造之后,用户集群架构就从上图左边这切换到了右边的状态。这里面的改造主要有以下几点:
第一,对 YurtControlManager 组件做了改动,以前它是个 deployment,它的副本数是 1。现在把它改成了 DaemonSet,会随着 master 数量的变化自动扩缩容,这是一个。
第二,因为整体流量是通过 Nginx 找不同的 APS server 做代理,所以 YurtHub 其实不是直接访问 APIserver,而是通过 Nginx。但它现在这样也可以达到边缘集群和 OpenYurt 的结合之后想要的效果——比如流量过滤和边缘自治。
行业未来展望以及社区发展期许
最后说一下关于整个行业的发展和未来的期望。
从上图可以看到,边缘设备的成长是一个不断累积的过程。整个行业的发展对边缘设备会有非常多的需求,这么大的需求会带动整个行业的发展,行业的发展也离不开边缘社区,包括 OpenYurt 社区的贡献。希望每一个用户在使用 OpenYurt 的时候可以更加边缘化、安全化和智能化。
本文为阿里云原创内容,未经允许不得转载。
深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践的更多相关文章
- Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台
2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...
- 智能边缘计算,让IoT有大智慧
丹棱君有话说:什么是智能边缘计算(Edge Computing)?别着急,它可是与你与我都有着千丝万缕的联系.物联网(IoT)的概念早已飞入寻常百姓家,在日常生活中的许多场景发挥着“智能”作用.比如, ...
- 深度 | AI芯片之智能边缘计算的崛起——实时语言翻译、图像识别、AI视频监控、无人车这些都需要终端具有较强的计算能力,从而AI芯片发展起来是必然,同时5G网络也是必然
from:https://36kr.com/p/5103044.html 到2020年,大多数先进的ML袖珍电脑(你仍称之为手机)将有能力执行一整套任务.个人助理将变的更加智能,它是打造这种功能的切入 ...
- KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码
KubeEdge开源背景 KubeEdge在18年11月24日的上海KubeCon上宣布开源,技术圈曾掀起一阵讨论边缘计算的风潮,从此翻开了边缘计算和云计算联动的新篇章. KubeEdge即Kube+ ...
- AWS的边缘计算平台GreenGrass和IoT
AWS的边缘计算平台GreenGrass和IoT 为什么需要有边缘计算? 如今公有云和私有云平台提供的服务已经连接上了绝大多数的桌面设备和移动设备.但是更多的设备比如,车辆,工程机械,医疗设备,无人机 ...
- 深度学习利器:TensorFlow在智能终端中的应用——智能边缘计算,云端生成模型给移动端下载,然后用该模型进行预测
前言 深度学习在图像处理.语音识别.自然语言处理领域的应用取得了巨大成功,但是它通常在功能强大的服务器端进行运算.如果智能手机通过网络远程连接服务器,也可以利用深度学习技术,但这样可能会很慢,而且只有 ...
- vivo 低代码平台【后羿】的探索与实践
作者:vivo 互联网前端团队- Wang Ning 本文根据王宁老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术分会场议题 ...
- 关于k8s这项大动作,预示着边缘计算迎来“开源”发展的新周期……
在文章<最近在边缘计算领域,发生了一件足以载入物联网史册的大事…>我曾经提到Kubernetes(简称K8s)将从超大规模云计算环境,被带入到物联网边缘计算场景中. 事情有了新进展,从本周 ...
- 北美KubeCon新风,正把K8S魔力带向边缘计算
作者:DJ 审校:Kevin·Wang 1. 容器生态圈新的创新方向 2018年容器技术圈的年终盛典北美KubeCon终于在西雅图落下了帷幕.这次北美KubeCon总共吸引了8000多观众参会,创下历 ...
- 5G 与 MEC 边缘计算
目录 文章目录 目录 前言 参考文献 通信网络 核心网演进之路 早古时期 2G 网络架构 3G 网络架构 4G 网络架构 5G 5G 网络的需求 5G 网络架构的设计原则 5G 网络的逻辑架构 5G ...
随机推荐
- 译:使用 Bun 执行 Shell 脚本
原文地址(Bun Blog): https://bun.sh/blog/the-bun-shell 作者: jarredsumner 发布时间:2024-01-20 前言 JavaScript 是世界 ...
- 【Mahjong hdu 枚举】搜索枚举
#####枚举 import java.io.*; import java.util.*; public class Main { static HashSet<String> set1; ...
- 超高并发下,Redis热点数据风险破解
★ Redis24篇集合 1 介绍 作者是互联网一线研发负责人,所在业务也是业内核心流量来源,经常参与 业务预定.积分竞拍.商品秒杀等工作. 近期参与多场新员工的面试工作,经常就 『超高并发场景下热点 ...
- 记录--手写$forceUpdate,vm.$destroy方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 vm.$forceUpdate (1)作用 迫使Vue.js实例重新渲染.注意它仅仅影响实例本身以及插入插槽内容的子组件,而不是所有子组件 ...
- QT 智能指针 QPointer QScopedPointer QSharedPointer QWeakPointer QSharedDataPointer 隐式共享 显示共享
QPointer QPointer 使一种受保护的指针,当其引用的对象被销毁时,它会被自动清除(但是,销毁引用对象还是必须手动delete).QPointer所指向的对象必须是QObject或其派生类 ...
- nginx location块
location块在server块中使用,它的作用是根据客户端请求URL去定位不同的应用. 匹配格式 作用 location = /uri = 表示精确匹配,只有完全匹配上才能生效 location ...
- 2 URLEncode和Base64
1. URLEncode和Base64 在我们访问一个url的时候总能看到这样的一种url https://www.sogou.com/web?query=%E5%90%83%E9%A5%AD%E7% ...
- #倍增FFT#CF755G PolandBall and Many Other Balls
题目 有一排 \(n\) 个球,定义一个组可以只包含一个球或者包含两个相邻的球. 现在一个球只能分到一个组中,求从这些球中取出 \(k\) 组的方案数. \(n\leq 10^9 ,k<2^{1 ...
- #Dijkstra#洛谷 4943 密室
题目 分析 考虑答案只可能是分别到或者哈利一个人到两个房间, 那么在罗恩的时候先不建不可走的边,等到哈利走的时候再建边 代码 #include <cstdio> #include < ...
- #trie#A 区间异或
题目 给定一个长度为\(n\)的序列,询问有多少个\((l,r),1\leq l\leq r\leq n\)满足 \[xor_{l\leq j\leq r}a_j\geq k \] 分析 显然跑一次前 ...