乐趣区

关于云计算:OpenYurt-如何-0-侵入-攻破云边融合难点

作者 | 何淋波
起源 | 阿里巴巴云原生公众号

随着 5G、IoT、直播、CDN 等行业和业务的倒退,越来越多的算力和业务开始下沉到间隔数据源或者终端用户更近的地位,以期取得很好的响应工夫和老本,这是一种显著区别于传统核心模式的计算形式——边缘计算。

然而,在边缘计算的规模、复杂度正逐日攀升的同时,短缺的运维伎俩和运维能力也终于开始不堪重负。在这个背景下,“云、边、端一体化运维协同”曾经开始成为一种架构共识。通过云原生加持,云边交融的过程也正在被急剧减速。在这样的趋势下,引入云原生理念、全面转型边缘利用的运维管理模式成为亟需解决的问题。

本文整顿自作者阿里云容器服务技术专家,OpenYurt 作者 & 初创人员之一何淋波(新胜)于 1 月 26 日在阿里云开发者社区“周二开源日”的直播分享,将站在理论落地场景的角度,摸索云原生技术和边缘计算的交融挑战,具体介绍基于 OpenYurt 的云原生边缘计算平台架构和行业实际。

点击回看残缺视频:https://developer.aliyun.com/live/246066

什么是边缘计算(Edge Computing)

边缘计算是绝对传统集中通用计算而言,指将工作负载部署在边缘的一种计算形式。最近几年,边缘计算十分炽热,次要是因为 5G、IoT 等业务和场景倒退越来越快,包含智能终端设备越来越多,造成对边缘计算业务的下沉诉求越来越多。如果所有的解决全副放在核心,很难满足大规模边缘智能设施的增长。边缘计算目前在各行各业都开始大规模应用,例如汽车、运输、能源等。总结来说,边缘计算就是让计算离用户或者离数据源更近。

1. 边缘计算顶层架构

业界定义的边缘计算的分层构造,次要援用 Gartner、IDC。

Gartner 定义的分层构造如下图所示:Endpoint > Near edge > Far edge > Cloud > Enterprise。

  • Near Edge:非标准服务器或设施,在间隔端侧最近的中央。
  • Far Edge:规范的 IDC,能够分三种类型:IDC(为主)、MEC、CDN 等;相对来说,计算能力比拟强,比方运营商的机房、云服务提供商的级联机房等等。
  • Cloud:公共云或专有元服务,特色为资源集中、中心化治理。

IDC 定义的分层构造如下图所示:

  • Heavy Edge:数据中心维度;集中式计算平台;CDN,自建 IDC。
  • Light Edge:低功耗计算平台,实用于工业管制,数据处理、传输等物联网场景。

    由上图能够看出,Gartner 定义与 IDC 定义其实是相互依存,互相关联的。另外,边缘计算与云计算不是代替关系,而是互相补充、互相关联的关系。

2. 边缘计算行业趋势

边缘计算行业趋势能够从以下三个方面(维度)来讲:第一是行业的 业务 ,第二是行业的 架构 ,第三是行业的 规模与变动

趋势一:AI、IoT 与边缘计算的交融

近几年来,边缘计算和 AI、IoT 的联合十分多,边缘智能设施的数量减少之后,包含所有的数据或视频全副回传到云端去解决,整个老本与效率都十分不适合,所以间接凑近设施这一侧进行 AI 解决或 IoT 解决的需要越来越多。比方 AI,会在云上或在核心云做训练,而后在边缘做推理,有十分多这种模式。考察显示:

  • 到 2024  年,有 50%  的计算机视觉和语音辨认模型将在边缘运行。
  • 到 2023 年,近 20% 用于解决 AI 工作负载的服务器部署在边缘侧。
  • 到 2023 年,中国 70 % 的物联网我的项目将蕴含 AI 性能,谋求实时性、升高带宽、数据合规。
  • 到 2023 年,中国 75 % 的企业将在网络边缘对物联网数据进行解决。

趋势二:云延长,IT 去中心化,设施自治,边缘托管

边缘计算跟云计算是互相补充、相互依赖的关系。再延长一步说,边缘计算其实是云计算往边缘的一个延长,把云上的一些能力往边缘上延长。一是要求 IT 业务在边缘这一侧去中心化,另外因为边缘业务或设施是自治的,云和边之间网络断开的状况下,有肯定控制能力,再有边缘托管能力。将来架构趋势将向云延长、IT 中心化、设施自治、边缘托管的倒退路线演进:

  • 混合云 – 到 2023 年,10% 的企业负载将运行位于本地数据中心和边缘资源上。
  • 去中心化 – 到 2023 年,超过 30% 新基础架构将部署在边缘地位。
  • 设施自治 – 到 2024 年,50% 外围企业数据中心和 75% 次要边缘 IT 站点将扭转运维形式。
  • 边缘托管 – 到 2022 年,50% 的公司将依附托管服务来进步基于边缘人工智能的性能和投资回报率。

趋势三:5G 与边缘计算引爆新增长

最近几年,5G 的疾速倒退,对边缘计算是一个新的增长引爆点。预计到 2024 年, 边缘应用程序的数量将增长 800%,能够设想这个行业前面会是什么样的增长状况。典型利用场景将包含车联网(主动驾驶 / 车路协同)、智能电网(设施巡检 / 精准负荷管制)、工业生产管制、智慧医疗(近程 B 超 / 近程会诊)等。

3. 边缘计算现状

边缘云促使治理的复杂性迅速回升

随着边缘计算的状态、规模、复杂度的日益增长,边缘计算畛域的运维伎俩、运维能力越来越难以满足边缘业务的翻新速度;而“将来企业都在全力谋求超规模、超高速、超连贯”,又进一步加剧运维治理的复杂度。边缘云促使治理的复杂性迅速回升,次要来自以下四个方面:

  • 第一,互联网智能终端设备数量的急剧减少;数据、业务下沉的诉求增多
  • 第二,边缘计算规模和业务复杂度晋升,边缘智能、边缘实时计算、边缘剖析等新型业务不断涌现。传统云计算中心集中存储、计算的模式曾经无奈满足边缘设施对于时效、容量、算力的需要。
  • 第三,云边端协同难度大,短少对立的交付、运维、管控规范,且边缘服务和边缘数据的平安危险管制难度较高。
  • 第四,异构资源反对艰难,对不同硬件架构、硬件规格、通信协议的反对,以及基于异构资源、网络、规模等差异化提供规范对立的服务能力的挑战。

云边一体的边缘云原生

1. 什么是云原生?

云原生的定义:云原⽣是一套凋谢、规范的技术体系。基于云原生技术体系,能够为用户麻利的构建和运行高弹性、容错性好、易于治理的一套业务零碎。整个技术体系有很多热门技术,如 Cloud Native、Serverless、Kubernetes、Container、Docker 等等,业界宽泛应用的这些技术。

当初各大云厂商、云服务提供商都在鼎力投入云原生,云原生也越来越成为宽广用户应用云计算能力的入口。云原生技术体系可能帮忙企业最大化利⽤云的能⼒,最大化施展云的价值。

2. 丰盛的云原生产品家族

以阿里云为例,云原生产品家族次要分三块,如下图所示:

  • 第一块是新的利用负载,包含:数据 & 智能、分布式应用、DevOps,当初都是通过云原生承载业务。
  • 第二块包含:Serverless、容器编排,是一个新的业务零碎。
  • 第三块包含:公共云、专有云、边缘云是一个新的资源承载零碎。

3. 云边一体云原生基础设施

云边一体云原生基础设施,是在云端做管控、边缘自治的云原生零碎。如下图所示:

在核心这一侧,能够提供原生的云核心的管控能力和产品化能力,例如利用 Kubernetes+ 存储 /+AI/+ 大数据等能力能够在核心提供进去;核心的这些能力通过管控通道,下沉到边缘计算,比方标准化的 CDN、Infrastructure、Edge、ENS,或者是上图左边的智慧工厂、智慧园区、楼宇、机场等等的设施网关;在边缘,能够就近接入各种设施,比方传感器、视频、控制器等等,能够反对各种通讯设备接入。这样便造成了云边端一体化的云原生基础设施。

云计算善于须要海量可扩大存储能力,非实时且周期绝对较长的数据处理和剖析,而边缘计算脱胎于云计算,它善于的是部分短周期数据的实时处理和剖析,云计算与边缘计算之间不是代替关系,而是相互协同的关系,二者之间紧密结合能力更好地满足各种需要场景的匹配。

4. 云边一体价值

云原生的概念最早是在 2013 年被提出,通过这几年的倒退,尤其是从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的眼帘并逐步演变成包含 DevOps、继续交付、微服务、容器、基础设施,Serverless,FaaS 等一系列的技术,实际和方法论汇合。云原生减速了多云、云边交融,云边一体的价值是:

  • 一是能够为用户在任何基础设施上提供和云上统一的性能和体验,实现云边端一体化的利用。
  • 二是能够利用容器的隔离性,利用零碎的流量管制、网络策略等能力,保障运行在边缘上业务的安全性。
  • 三是通过容器化,通过容器和资源之间的解耦,对异构资源的反对上可能有很好的适配。

5. 云原生与边缘计算交融难点

随着边缘计算的状态、规模、复杂度的日益增长,边缘计算畛域的运维伎俩、运维能力越来越难以满足边缘业务的翻新速度;而将来企业都在全力谋求“超规模、超高速、超连贯”,又进一步加剧运维治理的复杂度。

云原生与边缘计算交融要解决什么问题?在理论的解决问题的过程中,总结出以下 4 个关键点:

第一点:边缘计算规模和业务简单,边缘资源的扩散在不同地区,各个区域外部的边缘利用的生命周期治理,降级,扩缩容,区域外部流量闭环都面临挑战。

举个例子,比方 CDN 场景,全国各地可能有成千盈百个机房,每个机房的资源或者机器可能都不一样,机器下面运行的业务承载的流量可能也不太一样。这时如果是用原生 Kubernetes 的 workload 来治理是十分有余的,会造成十分大的挑战,容易出错,整个运维效率非常低。

第二点:云边网络连接不牢靠。通常状况下,云和边之间会通过公网连贯,在一些客观因素的影响下,云边之间的网络可能呈现断联,对边缘业务的继续运行造成很大挑战。因为网络断开的状况下,节点会脱离云端管控,在原生 K8s 下会对该 Pod 进行驱赶。但理论状况下无论是业务重启还是机器重启,都须要保障边缘业务能够继续运行。因而边缘须要肯定的自治能力。

第三点:云边端运维协同难度大,因为边缘的机器是部署用户防火墙外部的,公网无奈被动连贯。因而,一些须要从核心拉取数据的 K8s 原生运维能力就无奈应用,造少短少对立的交付、运维、管控规范,且边缘服务和边缘数据的平安危险管制难度较高。

第四点:异构资源反对艰难,对不同硬件架构、硬件规格、通信协议的反对,以及基于异构资源、网络、规模等差异化提供规范对立力的挑战。

OpenYurt 边缘计算云原生平台

CNCF 边缘云我的项目 OpenYurt:延长原生 Kubernetes 到边缘计算的智能开放平台。

1. 边缘自治、核心(云)管控

OpenYurt 架构是十分简洁的云边的一体化的架构,如上图所示,云上有蓝色和橙色两局部,蓝色局部是原生 K8s 的一些组件,而后橙色局部是 OpenYurt 的组件;边缘的每个节点上,Edge Note 上每个节点上也有蓝色的局部和橙色的局部, 蓝色局部也是原生的 K8s 的组件,或者设置的一些云原生的一些组件,橙色局部是 OpenYurt 的组件。

大家能看到 OpenYurt 对 K8s 或者对云原生的这种原生的架构是 0 批改、非侵入式的,OpenYurt 我的项目是业界首个非侵入式加强 K8s 的一个边缘计算云原生平台。其余的边缘计算云原生我的项目,或多或少可能都对 K8s 做了肯定的批改或者裁剪,这也是 OpenYurt 最大的区别,因而也就保障了 OpenYurt 的标准化。

  • OpenYurt 能够紧跟 Kubernetes 版本升级节奏。
  • 非侵入式的理念,OpenYurt 与云原生支流技术,如 ServeiceMesh、Serverless 等,能够同步衍进。

OpenYurt 在 2020 年 9 月份进入 CNCF sandbox,是一个十分中立的我的项目,一是技术、架构上的中立,二是这个我的项目经营上的中立。

OpenYurt 的品质和稳定性也是有保障的,在阿里团体外部,应用十分宽泛,曾经治理数百万核的规模。

2. OpenYurt 如何解决原生与边缘计算交融难点

  • 第一,边缘单元化。大规模业务下,因为边缘单元分比拟扩散,因而通过边缘单元化,对单元内业务进行一个单元化的治理以及流量闭环的治理。
  • 第二,边缘自治能力。为了应答云边网络不牢靠,通过给边缘减少一个自治的能力,云边网络断开的状况下,也能够保障的业务能够继续运行。
  • 第三,无缝转换。次要是为了升高 OpenYurt 的应用门槛,通过提供一个无缝转换的能力,使 K8s 与 OpenYurt 集群之间能够一键式切换,一条命令能够把一个规范的 K8s 集群转换成 OpenYurt 集群,反向切换也能够,这也是业界独创的能力。
  • 第四:是解决云端拜访被动拜访边缘的问题,提供了云边协同的能力来解决运维的难题。

上面,针对每一个能力具体介绍。

1)单元化能力

提供边缘场景下利用模型能力,次要包含以下三点:

  • NodePool 能够对节点做单元化批量治理。
  • 流量治理反对原生 service 的流量拓扑治理。
  • UnitedDeployment 提供原生 APPs 模型单元化部署。

单元化次要是提供边缘场景下利用模型的能力,在资源这块提节点池,能够对每一个地区的一个节点,进行一个池化的治理,如上图边缘单元一,如果是北京的一个机房,这些节点都能够放到北京池外面,能够对这些节点进行一个批量化的标签等性能对立的治理,这样就雷同的一批机器整体个性治理操作起来就十分不便。UnitedDeployment 这个资源是基于节点池,以节点池为单元,对节点池的业务进行部署治理。

依据上图举例,单元一部署两个实例,单元二部署三个实例,把配置提交给 OpenYurt 集群之后,就能够主动把部署信息下发到边缘,而后能够启动绝对应的实例数,这就解决了单元治理的时每个单元独立去操作的问题,通过一个对立的视角,UnitedDeployment 能够治理各个单元。

2)边缘自治能力

为边缘业务继续运行护航,具体包含以下两点:

  • YurtHub 缓存云端的数据,云边断网时,所有零碎组件均从 YurtHub 获取数据。
  • Yurt-Controller-Manager 解决云边网络连接不稳固时造成的边缘业务驱赶问题。

边缘自治能力为边缘业务继续运行护航,在云边网络断联的状况下,也能够保障边缘业务继续运行。次要波及到两个组件,一个是 YurtHub,一个是 Yurt-Controller-Manager。

YurtHub 是部署在边缘节点上,每个节点上以容器化的模式部署的一个组件,通过上图,理解解决流程,从申请 Kubelet、KubeProxy、Flannel 这种原生组件,之前都是间接连的云端 APIServer,当初调整为先连 YurtHub 再把申请转发给 APIServer。

这样的长处就是当申请过去之后,云边网络没有断开的状况下,有一个 health check 模块,会检测云边网络的连通性,如果云边网络失常,申请就间接到负载平衡模块,而后抉择一个云端服务器转发过来,后果返回,一个是能够返回一个申请端,另外一个后果数据缓存在本地磁盘,继续化在本地磁盘。

如果云边网络断开了,节点要重启,网络断开的状况下,它能够通过 local proxy 把本地缓理论化的数据提取进去,返回一个申请方,从而复原边缘的业务,保障边缘业务的一个继续运行。

3)无缝转换能力

无缝转换能力是用 yurtctlconvert 组件实现。次要用于规范 K8s 和 OpenYurt 集群之间的一键式转换;目前反对 minikube,kubeadm,ack 等工具部署的集群。

当转换的状况下,因为集群外面有很多节点,每个节点要转成边缘节点,就往边缘上部一些 yurthub static pod 组件,kubelet 参数批改等。如下图所示:

通过阿里另外一个云原生开源我的项目 OpenKruise 的 broadcastJob,能够保障在每个节点上运行 pod 这样一个 job,来实现每个节点到节点的转换。目前咱们 Yurtctl 工具,在 minikube,kubeadm,ACK 等工具部署的集群上,进行了比拟残缺的验证,后续会反对更多类型的集群,也欢送更多感兴趣的同学在社区做奉献。

4)云边协同能力

如下图所示:

在云端部署 YurttunnelServer 组件,边缘每个节点会部署一个 Yurttunnel Agent,Yurttunnel Agent 启动时由外面的 ANP Proxy Agent 模块,通过公网云端与 ANP Proxy server 模块建设双向认证的加密通道。这个通道是 gRPC 协定来做的。

通道建设之后,云端拜访节点的时候,Yurttunnel Server 外面的 iptable manager 会把节点拜访的申请流量导入到 Yurttunnel Server 上,request Interceptor 拦截器模块会把申请拦挡过去,要转化成 gRPC 通信协议格局,而后把这个申请转发给边缘端的 TunnelAgent,TunnelAgent 再把申请转发给 Kubelet 或者 pod。这样的话,就买通了云边运维协同能力。使原生的 Kubernetes 运维操作能力,都能够无感知地运行在 OpenYurt 集群或云边场景上。另外云边运维通道基于 gRPC 种协定,通过压缩 Tunnel 带宽能够大大降低老本,相比原生 TCP 通信最大缩小 40% 流量。

OpenYurt 案例介绍

案例一:边缘 AI

第一个案例是边缘 AI 场景,这个是盒马鲜生的新批发线下业务。

盒马鲜生基于阿里云容器服务 ACK@Edge 产品为底座,进行了云原生的转型降级,构建了一个“人货场”数字化全链路的云、边、端一体化协同的天眼 AI 零碎。首先在云上有一个云端的管制面,而后在边缘离门店比拟近的区域,购买了 ENS 节点服务,这样就不必本人为门店构建机房,而后通过云边一体零碎把门禁控制系统或者建模零碎,部署到边缘的 ENS 服务上,之后跟门店外面的监控视频流推送,而后业务承载之后进行剖析,失去后果,在管制业务零碎这边,把计算的后果返回到云端做剖析。

基公云于云 + 边缘的模式,低成本的实现了云端天眼零碎、阿里云边缘汇聚节点 ENS、盒马门店物理场的业务架构,具备弱小的弹性能力、混合资源管理能力、以及云原生的运维能力。实现新门店开服效率晋升 70%,和 50% 以上的资源老本节俭;共享算力。如下图所示:

案例二:视频上云

视频上云案例,当初全国各地用的特地多,如图所示:

从下往上看,比方在高速上,轻量型网关或标准型网关,会有一些视频拍摄流,把这些视频拍好之后,传到离边缘比拟近的 ENS 或 CDN 服务器上,做视频监控,比方一些省级、市县级的机房外面解决,做视频治理、汇聚转发等解决之后,把最初后果再上传到核心云上的云控平台。而后在云控平台能够做很多解决,比方能够跟高德地图来做一些事件的公布,或信息告诉等等,造成云边端一体化的服务治理平台。

通过云边端一体化的服务治理平台包含:利用部署 / 配置、设施 / 利用状态、结构化数据上云的实现,使整个运维效率、管控效率都大大晋升。

以上就是本次对于 OpenYurt 的分享,如果大家对 OpenYurt 感兴趣,欢送扫码退出咱们的社区交换群,以及拜访 OpenYurt 官网和 GitHub 我的项目地址:

  • OpenYurt 官网:

https://openyurt.io

  • GitHub 我的项目地址:

https://github.com/openyurtio/openyurt

  • 钉钉扫码退出社区交换群:

“Kubernetes 与云原生利用开源实际大讲堂”

4 场云原生与 Kubernetes 技术前沿话题直播、70 节经典课程、3 本云原生电子书,来“Kubernetes 与云原生利用开源实际大讲堂”,和阿里云容器技术专家一起,将热门的容器开源我的项目和前沿的云原生利用落地实际一网打尽!点击中转“Kubernetes 与云原生利用开源实际大讲堂”!

退出移动版