简介: 北京时间 9 月 27 号,OpenYurt 发布 v0.5.0 版本。新发布版本中首次提出 kubernetes-native非侵入、可扩展的边缘设备管理标准,使 Kubernetes 业务负载模型和 IOT 设备管理模型无缝融合。

作者|贾燚星(VMware), 何淋波(阿里云)

北京时间 9 月 27 号,OpenYurt 发布 v0.5.0 版本。新发布版本中首次提出 kubernetes-native非侵入、可扩展的边缘设备管理标准,使 Kubernetes 业务负载模型和 IOT 设备管理模型无缝融合。同时联合 VMware 推动 EdgeX Foundry 作为云原生设备管理模型的首个实现并成功落地,大大降低 EdgeX Foundry 在 Kubernetes 上的部署管理的复杂度同时也提升了边缘设备的管理效率。

云原生生态需要什么样的边缘设备管理能力

当使用 Kubernetes 来解决边缘计算场景的需求时,现有的解决方案要么改变系统架构(如将控制平面和 kubelet 打包在一起),要么重度修改核心组件(如kubelet 中糅合设备管理)。

受 Unix 哲学:“做一件事,做好它”(Do one thing and do it well)的启发,OpenYurt 社区认为 Kubernetes 应该专注于计算资源和业务容器的管理,而边缘设备管理可以通过采用现有的边缘计算平台来完成。

因此,OpenYurt 社区定义了通用的 Kubernetes CRDs,它们充当 OpenYurt 和边缘平台之间的中介。通过为这些 CRDs 实现自定义控制器,任何现有的边缘平台(如 EdgeX Foundry)都可以集成到 OpenYurt 中。同时这些 CRDs 允许用户以声明式的方式管理边缘设备,这为用户提供了 Kubernetes-native 的边缘设备管理体验。

因此,边缘设备的云原生管理特点可以总结为:Kubernetes-native 方式管理,非侵入模式集成,无边缘计算平台绑定。

Kubernetes-native 方式管理边缘设备

边缘设备的云原生管理能力主要包括以下几个要点:

  • Kubernetes 业务负载模型与边缘设备管理模型的无缝融合;
  • Kubernetes-native 方式管理边缘设备;
  • EdgeX Foundry 作为 OpenYurt 社区第一个融合的 IoT 解决方案,共同探索了一条开放标准的 IoT、云原生融合方案;

首先引入 yurt-edgex-manager 组件,主要用于在 OpenYurt 集群中从节点池维度来管理 EdgeX Foundry 的生命周期(包括安装部署,删除,更新)。用户只需要通过简单编辑的 EdgeX CRD 就可以轻松的管理 EdgeX Foundry 系统。推荐以节点池为维度部署 EdgeX Foundry 系统。原理如下所示:

其次引入 yurt-device-controller 组件,它是 Kubernetes 系统和边缘计算平台(如 EdgeX Foundry)的联结器,使用户可以通过 Kubernetes CRs 来管理边缘设备。一个 yurt-device-controller 实例对应一个节点池的 EdgeX Foundry。整体部署架构如下:

总结

OpenYurt 与 EdgeX Foundry 的融合完全是基于开源社区的运作机制逐步讨论并落地实现的,由 VMware,阿里云等公司主导,社区成员充分参与讨论而成型的。在整个项目的落地过程中,进一步完善了 OpenYurt 社区的开源治理流程与机制,更好的推动了边缘计算领域的上下游生态协作。

多个项目的并行设计与开发,让大家更好的体验到'Kubernetes-native, 非侵入,可扩展'等设计理念的优势,也为边缘设备的云原生管理能力落地以及后续演进提供了基础保障。

目前已经有不少社区成员在试用该能力,同时 OpenYurt 社区也在陆续推出相关能力的 Demo 视频,欢迎有兴趣的同学或者公司关注或者提交建议。

未来规划

OpenYurt 新版本中重点提升了原生 Kubernetes 在边缘场景的设备管理能力,同时也优化和完善边缘场景的治理能力,后续 OpenYurt 社区会在边缘设备管理,项目易用性,单元化治理能力等方面持续投入,再次感谢 VMware,Intel,,浙大,电信天翼云,理想汽车,IBM,阿里云的各位同学参与,同时也非常欢迎有兴趣的同学加入参与共建,共同打造一个稳定,可靠的完全云原生的边缘计算平台。

原文链接

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

OpenYurt 深度解读|开启边缘设备的云原生管理能力的更多相关文章

  1. 阿里云 CDN 业务基于边缘容器的云原生转型实践

    导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...

  2. 独家解读 etcd 3.4版本 |云原生生态周报 Vol. 18

    作者 | 酒祝.墨封.宇慕.衷源 关注"阿里巴巴云原生"公众号,回复关键词 "资料" ,即可获得 2019 全年 meetup 活动 PPT 合集及 K8s 最 ...

  3. 干货来了!2019阿里云合作伙伴峰会SaaS加速器专场回顾合集:嘉宾分享、深度解读

    2019年7月26日,在上海举办的阿里云合作伙伴峰会上,阿里云正式发布SaaS生态战略,计划用阿里云的品牌.渠道.资本.方法论.技术加持伙伴,成就亿级营收独角兽. 该生态战略计划招募10家一级SaaS ...

  4. 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

    点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...

  5. 内存回收导致关键业务抖动案例分析-论云原生OS内存QoS保障

    蒋彪,腾讯云高级工程师,10+年专注于操作系统相关技术,Linux内核资深发烧友.目前负责腾讯云原生OS的研发,以及OS/虚拟化的性能优化工作. 导语 云原生场景,相比于传统的IDC场景,业务更加复杂 ...

  6. 理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考

    理想汽车在 Hadoop 时代的技术架构 首先简单回顾下大数据技术的发展,基于我个人的理解,将大数据的发展分了4个时期: 第一个时期: 2006 年到 2008 年.2008 年左右,Hadoop 成 ...

  7. 利用 Rainbond 云原生平台简化 Kubernetes 业务问题排查

    Kubernetes 已经成为了云原生时代基础设施的事实标准,越来越多的应用系统在 Kubernetes 环境中运行.Kubernetes 已经依靠其强大的自动化运维能力解决了业务系统的大多数运行维护 ...

  8. OpenKruise - 云原生应用自动化引擎正式开源

    2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCo ...

  9. DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路

    简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...

  10. 扩展 GRTN:云原生趋势下的 RTC 架构演进

    在 2021 LiveVideoStackCon 音视频技术大会上海站,聚焦 "轻端重云和边缘架构新模式" 专场,阿里云视频云的 RTC 传输专家杨成立(忘篱)带来 "基 ...

随机推荐

  1. django(Ajax、自定义分页器、form组件)

    一.Ajax 1 概述 异步提交局部刷新 例子:github注册 动态获取用户名实时的跟后端确认并实时展示到前端(局部刷新) 朝后端发送请求的方式 1.浏览器地址栏直接输入url回车 GET请求 2. ...

  2. js原型详解

    js中的原型毫无疑问一个难点,学习如果不深入很容易就晕了! 任何一个js知识点,比如事件流,闭包,继承等,都有许许多多的说法,对于这些知识点我们都应该先熟练的使用,然后自己整理一套属于自己的理解说辞, ...

  3. dynatrace监控发现Java代码中new对象耗时100多秒

    排查代码发现两个原因: 1.流,之前用的字节流,通过打日志发现并发场景有效率问题,改为了字符流: 2.用的jaxb转换xml,也是在并发时效率急剧下降,发现在每次转换时都在创建新对象,修改为只有第一次 ...

  4. 任何样式,javascript都可以操作,让你所向披靡

    前言 习惯了在 css 文件里面编写样式,其实JavaScript 的 CSS对象模型也提供了强大的样式操作能力, 那就随文章一起看看,有多少能力是你不知道的吧. 样式来源 客从八方来, 样式呢, 样 ...

  5. 学习蓝图+行为树实现AI角色的跟随操作

    跟随B站视频学习 准备工作 一个角色蓝图类用来设置AI角色,一个Blackboard--AI的大脑,一个AITree--AI的行为控制,一个AIController蓝图类--定义AI的控制器. 是否发 ...

  6. 学生成绩管理--C语言

    # 学生成绩管理系统 效果 1.菜单选项 void welcome()//菜单 { printf("欢迎使用学生管理系统\n"); printf(" 1.增加学生信息\n ...

  7. 冒泡排序【Java】

    1 public class Paixu { 2 public static void main(String args[]) { 3 int myNum[] = {2,6,4,1,5}; 4 //从 ...

  8. js实现多列排序-存在问题

    js实现多列排序 根据业务逻辑调整 sortData 的数据. 排序的规则是按照第一列排序,第一列相同按照第二列排序,依次类推 // 要排序的数据 const array = [{ name: '甲' ...

  9. #线段树合并#JZOJ 5365 通信

    分析 取出一段区间后答案就是虚树边的个数的两倍, 考虑计算\(x\)与父亲的边对答案的贡献, 那么不能够贡献的就是\(x\)的子树下标连续的一段或者是非\(x\)的子树连续的一段, 考虑将\(x\)的 ...

  10. Java中的类型推断和lambda表达式

    目录 简介 类型的显示使用 Stream中的类型推断 类型推断中变量名字的重要性 类型推断对性能的影响 类型推断的限制 总结 简介 java是强类型的编程语言,每个java中使用到的变量都需要定义它的 ...