OpenYurt:延伸原生 Kubernetes 到边缘场景下的落地实践

简介: 随着云原生技术的逐步成熟,阿里云容器服务团队在具体落地实践过程中不断探索云原生技术的应用边界。同时随着物联网和 5G 的迅猛发展,传统的边缘计算架构已经不能满足业务发展的需要。

如何基于云原生技术构建新一代的边缘计算平台成为行业的新焦点。如何解决云边协同,边缘自治等业界难题来帮助开发者轻松完成在海量边,端资源上大规模应用的交付、运维、管控?我们构建并开源了 OpenYurt:业内首个基于原生 Kubernetes 构建的、对于 Kubernetes 非侵入式的边缘计算项目,无缝的融合了云原生和边缘计算,目前已经在万台边缘节点规模场景下落地实践。本文将介绍如何融合云原生技术和边缘计算,解决大规模应用的交付、运维、管控。

边缘计算

1.png

首先,我们从直观感受上看看什么是边缘计算。随着 5G、IoT、音视频、直播、CDN 等行业和业务的发展,我们看到一个行业趋势,就是越来越多的算力和业务开始下沉到距离数据源或者终端用户更近的地方,从而来获得更好的响应时间和更低的计算成本,这明显区别传统的中心式的云计算模式,并越来越被广泛应用于汽车、农业、能源、交通等各行各业。边缘计算,总结为一句话“让计算离数据和设备更近”。

2.png

再从 IT 架构上看边缘计算,可以看到它具有明显的按照业务时延和计算形态来确定的分层结构,这里分别引用 Gartner 和 IDC 对边缘计算架构的解释:Gartner 将边缘计算分为“Near Edge”、“Far Edge”、“Cloud”三部分,分别对应常见的设备终端,云下 IDC/CDN 节点,以及公共云/私有云;而 IDC 则将边缘计算定义为更直观的“Heavy Edge”、“Light Edge”来分别表示数据中心维度、低功耗计算的端侧。从图中我们可以看到分层结构中,层层相依,互相协作。这种定义也是现在业界对边缘计算和云计算关系所达成的一个共识,接下来再看看边缘计算的趋势。

3.png

去分析一个 IT 行业的趋势,通常包括业务、架构和规模三个维度;边缘计算的三大趋势是:

  • 第一,AI、IoT 与边缘计算的融合,会有种类越来越多、规模越来越大、复杂度越来越高的业务运行在边缘计算场景中,从图上我们也能看到一些非常震撼人心的数字。
  • 第二,边缘计算作为云计算的延伸,将被广泛应用于混合云场景,这里面需要未来的基础设施能够去中心化、边缘设施自治、边缘云端托管能力,同样图上也有部分引用数字。
  • 第三个场景趋势是基础设施的发展将会引爆边缘计算的增长,随着 5G、IoT、音视频行业的发展,边缘计算的爆发是理所当然,今年疫情期间在线直播、在线教育行业的爆发式增长也是一个例子。

4.png

随着架构的共识形成,落地过程中我们发现,边缘计算的规模、复杂度正逐日攀升,而短缺的运维手段和运维能力也终于开始不堪重负,那么如何去解这个问题呢?“云边端一体“的运维协同是目前比较能形成共识的一种方案。

云边一体的边缘云原生

作为云原生领域的从业人员,我们试着从云原生的角度来思考和解决这些问题:

5.png

首先我们一起回顾下云原生的定义和技术体系,眼下,云原生已经作为一系列的工具、架构、方法论而深入人心,并广泛使用;那么云原生到底是如何定义的呢?早期,云原生含义包括:容器、微服务、DevOps、CI/CD;18 年以后 CNCF 又加入了服务网格和声明式 API。而回过头,我们再粗线条的看看云原生的发展历史,早期因为 Docker 的出现,大量的业务开始容器化、Docker 化,容器化通过统一交付件、隔离性从而带来了 DevOps 的快速发展;Kubernetes 的出现让资源编排调度与底层基础设施解耦,应用和资源的管控也开始得心应手;随后,以 Istio 为代表的服务网格技术解耦了服务实现与服务治理能力。越来越多的企业、行业开始拥抱云原生。

6.png

接下来聊下阿里云的云原生产品家族。阿里云作为云原生的践行者,不论是集团内部全面上云,还是为广大的客户提供丰富的云原生业务,都是拥抱云原生最好的佐证;我们坚信云原生是未来;云原生技术已经无处不在, 作为云原生服务的提供者,我们认为云原生技术会继续高速发展,并被应用于“新的应用负载” ,“新的计算形态”和“新的物理边界”;从阿里云云原生产品家族大图中我们可以看到:容器正被用于越来越多类型应用和云服务中;并且通过越来越多的计算形态承载,如 Serverless,函数计算等等;而丰富的形态也开始从传统的中心云走向边缘计算,走向终端。

7.png

在中心云的标准托管架构下,我们抽象出了云边端协同的云原生架构:在中心(云),我们保留了原汁原味的云原生管控和产品化能力,通过云边管控通道将之下沉到边缘,使海量边缘节点和边缘业务摇身一变成为云原生体系的工作负载,通过服务流量和服务治理更好的和端进行交互;从而完成业务、运维、生态的一体化。

8.png

那么,通过云边一体架构我们可以有哪些收益呢;首先,云上云下通过云原生体系实现云边一体化融合,从而为用户在任何基础设施上提供和云上一致的功能和体验,实现云边端一体化的应用分发,容器化的隔离特性、流量控制,网络策略等等能力让工作负载的运行更加安全;“云边端一体”有云原生的加持,将会更好的加速多云,云边融合进程。

9.png

聊完云边一体的云原生基础设施之后,接下来聊下云原生和边缘计算融合的难点,在实际落地过程中,我们主要识别了下面几个问题:

  • 边缘计算规模和业务复杂,采取原生 Kubernetes 的 workload 管理模型远不能满足现实需求。
  • 云边网络通过公网相连,网络连接有很大不可控因素,可能带来边缘业务运行的不稳定因素。
  • 由于边缘节点一般位于用户网络的防火墙内部,从而造成云边网络只能单向连通的客观条件,因此给原生的 Kubernetes 运维监控带来很大挑战。
  • 最后是边缘资源种类多样,系统可能是 Linux/Windows,架构也可能是 amd64/arm/arm64 等等,从而给边缘标准化支持带来巨大挑战。

OpenYurt 边缘计算云原生平台

接下来我们看下 OpenYurt,业界首个非侵入式 Kubernets 的边缘计算云原生开源平台。

10.png

OpenYurt 是一个典型的“中心-边缘”简洁架构。如架构图所示:边缘和云之间通过公网连接,其中蓝色框是原生 Kubernetes 的组件,橙色框是 OpenYurt 的组件。基于 Kubernetes 强大的插件化,Operator 能力,OpenYurt 保证对 upstream kubernetes 的零修改,因此保证了 OpenYurt 可以跟随社区同步演进,并且保证和云原生社区主流技术的兼容。OpenYurt 项目在 2020 年 9 月份已经捐给 CNCF,也保证了项目的中立性。同时 OpenYurt 目前在阿里内部已经大规模使用,管理了数百万核的规模,场景上覆盖了 CDN,物联网,音视频,边缘AI等多种场景。也意味着 OpenYurt 的品质和稳定性已经有足够验证。

11.png

OpenYurt 目前已经发布三个版本,具备如下能力:边缘单元化、边缘自治、云边协同、无缝转换能力、异构资源(amd64/arm/arm64)支持能力、云上云下业务弹性和互通能力等。

12.png

单元化管理能力用于解决前面提到的融合难点 1,主要是对节点提供分组、批量管理能力,并在分组内对应用编排部署、业务流量做更精细化管控,比如为了业务流量的安全、效率考虑可以将业务流量现在在某一个单元内;或者为了批量管理某一个区域内的节点,打标签,配置调度策略等等;相关能力由 yurt-app-manager 组件提供。

13.png

边缘自治能力用于解决前面提到的融合难点 2,主要是云边网络断开或者连接不稳定时,确保边缘业务可以持续运行;相关能力由 yurt-controller-manager 和 YurtHub 组件提供。另外下个版本中还会继续增强边缘自治能力。

14.png

云边协同能力用于解决前面提到的融合难点 3,主要是由于边缘节点位于用户内网,无法从云端访问时,造成原生 Kubernetes 运维能力(如 kubectl logs/exec/port-forward,Prometheus 等)无法支持。云边协同能力通过云边隧道解决云边网络只能单向通,从而支持原生 Kubernetes 运维能力。相关能力由 tunnel-server/tunnel-agent 组件提供。

15.png

无缝转换能力用于部分解决融合难点 4,主要用于标准 Kubernetes 和 OpenYurt 集群之间的一键式转换,目前在 Minikube,Kubeadm,ACK 等工具部署的集群上完整验证过。也欢迎有兴趣的同学来支持和贡献其他工具部署的集群。相关能力由 yurtctl 组件提供。

OpenYurt 案例介绍

接下来我们介绍一下 OpenYurt 的实践案例。

16.png

第一个,是盒马鲜生基于边缘云原生实现的“人货场”数字化融合转型,通过云原生体系将多种类型的边缘异构算力统一接入、统一调度,包括:ENS(阿里公共云边缘节点服务、线下自建边缘网关节点,GPU 节点等)。获取了强大的资源弹性和业务混编带来的灵活性。

17.png

第二个,是交通领域的视频上云场景,通过云边端一体化协同,融合了中心云大交通智慧能力,边缘 CDN/ENS 等算力资源,给业务提供就近接入的资源能力;视频采集端设备的统一管理。边缘云原生的调度、编排、服务管理等能力穿插其中,三层融合。

最后,OpenYurt 还是一个比较初期的 CNCF 官方边缘计算云原生项目,需要大家的支持和帮助,也欢迎大家参与 OpenYurt 社区共建。

Q & A

Q:YurtHub 代理实现机制,需要修改什么配置吗?
A:主要是边缘节点上组件的云端访问地址需要调整为本地 YurtHub 监听地址(http://127.0.0.1:10261),其他配置不用修改。

Q:和 KubeEdge 的优劣对比分析?
A:首先这个问题可能第三方来评价会客观一点,有兴趣看下知乎这篇文章:《家里的树莓派,如何加入阿里云搭建的 K8s 集群?》。不过站在程序员或者云原生开发者角度,也可以谈一点个人的看法:OpenYurt 对 Kubernetes 零修改,通过 Kubernetes 的插件和 Operator 机制进行增强,因此对原生 Kubernetes 使用者会比较友好。而 KubeEdge 对 Kubernetes 有比较大的修改(kubelet/kube-proxy/list-watch 机制等重写了),对原生 Kubernetes 使用者的友好性会弱一点。当然还有不少其他差别,时间有限,有兴趣的同学可以自行研究。

Q:想问问贵司在万台规模的机器采用了哪些版本系统呢?内核有什么要求吗?
A:目前主要是 AliOS,CentOS,以及 Ubuntu,内核版本基本在 3.10 以上。

Q:请问案例 1 和 2 分别是什么样的节点规模?
A:集群规模都在 100+ 以上。

Q:请问案例 1 中的 GPU 节点主要是什么功能?
A:案例 1 的 AI 训练是云端完成的,GPU 节点主要做推理相关的任务。

Q:如果中心和边缘彻底网络断开了,边缘侧是否可以继续持久运作?
A:节点重启或者业务重启的状态下,业务是可以持续运行的。如果出现节点宕机的情况下,云端还无法准确识别并在其他正常节点重建,这个会在下个版本解决。

Q:请问目前阿里内部是否会有专门的技术、产品等团队来支撑?
A:目前阿里云容器服务产品 ACK@Edge 是基于 OpenYurt 开源项目来实现的,因此是有专门团队来统一支撑的。

Q:请问边缘侧的 CPU 是否有限制?端侧呢?例如 arm。
A:边缘侧 CPU 架构目前支持 amd64/arm/arm64。端侧主要是设备端,由运行在 OpenYurt 边缘节点上的业务负责。所以端侧目前不在 OpenYurt 的覆盖范围内。

Q:请问对未来 3 年内,边缘这一块的主流应用场景在哪一块,怎么看?
A:这是一个好问题,目前能确定的是像 CDN,边缘 AI,音视频,5G MEC,IOT 等已经在大规模铺开边缘计算云原生方案。其他像后续的车联网,云游戏,其他传统行业(如农业,能源等)都在逐步展开,总之边缘这快 ToB 属性比较强。

Q:现在 Kubernetes 场景已经覆盖的场景大概能占总边缘场景的多少百分比呢?估计。
A:这个很难讲,我个人觉得目前比例应该很低,整个边缘计算场景的数字化转型应该刚刚开始。相信这是一个会持续可以做 20 年的行业^-^!

分享人简介

何淋波(花名:新胜),来自于阿里云容器服务团队,OpenYurt 作者&初创成员之一。2015 年开始从事 Kubernetes 相关产品的设计,研发,开源等工作,先后负责和参与物联网边缘计算,边缘容器服务,OpenYurt 等相关项目。

原文链接 

本文为阿里云原创内容,未经允许不得转载

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对象存储,为什么那么火?

作者|小枣君 来源|鲜枣课堂引言上期文章(链接:关于存储技术的最强入门科普),小枣君给大家详细介绍了数据存储技术的基本知识,其中重点对DAS、SAN和NAS技术进行了对比分析。我们知道,在很长的一段时间里&…

使用react实现select_React笔记——核心概念:9.表单

1、受控组件在 React 中,可变状态(mutable state)通常保存在组件的 state 属性中,并且只能通过使用 setState()来更新。state:唯一数据源渲染表单的 React 组件还控制着用户输入过程中表单发生的操作。被 React 以这种方式控制取值的表单输入…

压测场景下的 TIME_WAIT 处理

简介: 压测场景下的 TIME_WAIT 处理 1. 序 某专有云项目具备压测场景,在Windows的压测机上用 LoadRunner 进行业务的压力测试,压测运行一段时间后出现大量端口无法分配的报错。 其实通过问题描述,以及 Windows的报错信息基本确定…

DataX在数据迁移中的应用

简介: DataX在数据迁移中的应用 1. DataX定义 首先简单介绍下datax是什么。 DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS…

华为发布《绿色5G白皮书》,定义绿色5G网络八大技术方向

全球“碳达峰、碳中和”已成主流趋势,为了助力全球运营商绿色网络“双碳”行动计划的达成,在华为首届无线媒体沙龙上,华为无线网络SRAN产品线总裁马洪波发表了“绿色5G,E2四化八大方向,共赢双碳未来”主题演讲&#xf…

判断是否包含大写字符_Python最常用的数据类型中字符串基础函数使用知识点讲解...

字符串是 pthon 中最常用的数据类型。我们可以使用单引号、双引号或者三对单双引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。Python 的字符串有什么内建函数可以使用?len()方法返回对象(字符、列表、元组等)长度或项目个数。每个字符一…

Arthas 使用的各类方式

简介: Arthas 是阿里巴巴开源的 Java 诊断工具。让我们能够在线排查项目发生的问题。除了知道它的存在之外,我们也需要知道我们如何去安装使用它,以便于提高我们日常开发解决 BUG 的效率。 方案介绍 方案一:本地直接运行 往往最…

antd autoplay按f12才会轮播_涨知识了!原来这才是电脑键盘上,F1到F12的正确用法...

在这个快节奏的时代,工作效率可以说是非常重要的,所以熟练掌握电脑就是提高效率的好方法!那如何快速的掌握电脑呢?这就不妨先了解下键盘上F1-F12的正确用法哦,每个都是提高效率的快捷键。F1:获取帮助如果你…

新型数据中心需要什么样的存储

作者:浪潮信息首席架构师 叶毓睿 智算时代的序幕已经拉开,互联的万物,一切皆计算机。智慧计算融入到千行万业的图景,正在徐徐铺开。这是一个数据成为生产要素的时代,智慧计算将劳动者由人变成了人AI,将数据…

王者荣耀服务器未响应8月5日苹果,王者荣耀:世冠小组赛8月5日前瞻预测

14:00 深圳DYG vs GOG深圳DYG在上周的比赛遭遇两连败,目前排在A组倒数第二位。队伍进行人员轮换后,Giao在比赛中的发挥可圈可点,但其他队员的状态都下滑明显。辅助位星宇从春季赛的状态就一般,到本次世冠仍然没有提升,…

多中心容灾实践:如何实现真正的异地多活?

简介: 在异地多活的实现上,数据能够在三个及以上中心间进行双向同步,才是解决真正异地多活的核心技术所在。本文基于三中心且跨海外的场景,分享一种多中心容灾架构及实现方式,介绍几种分布式ID生成算法,以及…

HBM3内存子系统传输速率惊人,带宽突破1TB/S!

记者 | 邓晓娟 8月25日,内存IP厂商Rambus推出HBM3内存接口子系统。内含完全集成的PHY和数字控制器,传输速率达8.4Gbps;可为AI/ML和高性能计算(HPC)等应用和解决方案提供1TB/s的带宽速率;采用标准的16通道设…

android 如何读取cgi_Python基础教程(十):CGI编程、MySQL数据库

Python CGI编程什么是CGICGI 目前由NCSA维护,NCSA定义CGI如下:CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。网页浏览为了更好的了解CGI是如何工作的&…

10亿+文件数压测,阿里云JindoFS轻松应对

简介: Apache Hadoop FileSystem (HDFS) 是被广为使用的大数据存储方案,其核心元数据服务 NameNode 将全部元数据存放在内存中,因此所能承载的元数据规模受限于内存,单个实例所能支撑的文件个数大约 4亿。JindoFS块模式是阿里云基…

一文简单弄懂tensorflow_在tensorflow中设置梯度衰减

我是从keras入门深度学习的,第一个用的demo是keras实现的yolov3,代码很好懂(其实也不是很好懂,第一次也搞了很久才弄懂) 然后是做的车牌识别,用了tiny-yolo来检测车牌位置,当时训练有4w张图片&a…

打破“单点防护”缺陷,山石网科发布“云网端”XDR解决方案

编辑 | 宋 慧 供稿 | 山石网科 出品 | CSDN云计算 近年来,CISO面临的安全形势可谓“内忧外患”,对内面临多样化的网络接入途径、庞大且繁杂的IT资产;对外面临攻防关系、攻防手段、网络攻击的数量等呈指数级增长等问题,给组织的…

Serverless 场景下 Pod 创建效率优化

简介: 众所周知,Kubernetes 是云原生领域的基石,作为容器编排的基础设施,被广泛应用在 Serverless 领域。弹性能力是 Serverless 领域的核心竞争力,本次分享将重点介绍基于 Kubernetes 的 Serverless 服务中&#xff0…

安装wordcloud_COVID19数据分析实战:WordCloud 词云分析

↑↑点击上方蓝字,回复资料,N个G的惊喜前言上一篇文章(链接)我们对COVID19_line_list数据集进行了清洗以及初步分析。本文中我们将分析如何用词云来展示文本信息的概要。比如我们从词云百度百科截取文字,制作词云。简单来说,词云就…

到达率99.9%:闲鱼消息在高速上换引擎(集大成)

简介: 记录这一年闲鱼消息的优化之路 1. 背景 在2020年年初的时候接手了闲鱼的消息,当时的消息存在各种问题,网上的舆情也是接连不断:“闲鱼消息经常丢失”、“消息用户头像乱了”、“订单状态不对”(相信现在看文章的…

1小时打造HaaS版小小蛮驴智能车

1、认识一下小小蛮驴真面目 1.1、组件部分 HaaS100核心板 HaaS100是一款物联网场景中的标准硬件,并配套嵌入到硬件中的软件驱动及功能模块,为用户提供物联网设备高效开发服务。 HaaS100核心板有着丰富的外设接口,如下所示: 智…