戳蓝字“CSDN云计算”关注我们哦!

作者:DJ

审校:Kevin·Wang

来源:容器魔方

1. 容器生态圈新的创新方向

2018年容器技术圈的年终盛典北美KubeCon终于在西雅图落下了帷幕。这次北美KubeCon总共吸引了8000多观众参会,创下历史新高。先放一张图来感受下现场的火爆程度。

关注Kubernetes的小伙伴应该已经感觉到了,与观众参会热情形成鲜明对比的是,这届KubeCon传递出了一个信号:针对Kubernetes本身的变化越来越少,我们也越来越难看到那些激动人心的大特性。Kubernetes正变得“无聊”已经成了一个既定的事实。

对Kubernetes核心来说,“无聊”并不见得是件坏事,这是一个项目成熟的标志。现如今Kubernetes已经日益成为公有云/企业IT系统的基础设施,并且朝着大规模,复杂场景的方向延伸,与AI、大数据、IoT、以及垂直行业等领域的结合越来越紧密。近来,越来越多围绕Kubernetes生态圈的创新,正在这些领域发生着。比如,这次在北美KubeCon亮相的由华为开源的KubeEdge项目,就给人一种眼前一亮的惊喜,让人不由地惊呼 “哦,原来Kubernetes还能在边缘计算上玩!” 在感叹Kubernetes的强大魅力同时,也不得不佩服华为工程师们的创造力——要知道,边缘计算与云计算的场景有很大的区别,用K8S跑边缘计算,之前更多还只是停留在讨论阶段,实践过程中的坑不胜枚举,华为居然做到了,而且还开源了!

2. K8S IoT Edge Working Group

2018年既是容器和Kubernetes收获普遍赞誉的一年,也是边缘计算加速行业落地和应用的一年。边缘计算的“边缘”是指我们日常生活中无处不在、影响着我们衣食住行的各式各样的端点设备,比如:手机、摄像头、路由器、自动驾驶汽车,工业机器人等。与集中式的计算模型相比,边缘计算可以为企业/用户提供低延迟,高性能的服务,保证数据的本地化和安全,解决本地数据人工智能等问题。然而,物联网世界的异构性和工业系统资产的长生命周期等特点给边缘设备的管理带来了严峻的挑战。Gartner直接把边缘计算列为下一个十年的关键技术方向。

Kubernetes引领的以容器为中心的IT基础设施变革方兴未艾,就已经有人在谋划下一个“十年”了。既然Kubernetes已经成为了容器化编排的事实标准,并且持续在云端持续发挥着魔力,那么一个直觉的想法就是能否让Kubernetes把这种魔力带到边缘计算的场景呢?

然而,当Kubernetes真正涉及到边缘侧部署时,仍然存在不少挑战,例如:

1. 边缘侧可能没有足够的资源运行一个完整的Kubelet;

2. 当边缘节点和云端的网络不稳定时甚至完全不通时,能否实现本地自治;

3. 边缘侧节点之间通信;

4. 如何在云端管理多租户的边缘资源,包括设备;

5. 边缘侧没有serverless的支持,比如:函数。

为了解决这些挑战,华为,谷歌,红帽,VMWare共同在Kubernetes社区发起成立了一个新的工作组:IoT Edge Working Group,目的就是为了提高Kubernetes在边缘场景下的部署能力。

KubeCon进行到第三天的时候,四位分别来自华为,红帽,思科和Oort公司的工程师们进行了一次圆桌会议,会议主题就边缘计算面临的技术挑战和未来发展趋势。

来自华为的架构师Cindy Xing(Kubernetes社区IoT Edge工作组的co-chair)在圆桌会议中谈到了云计算、容器和边缘计算的关系——不同于云计算,边缘计算意味着几十万分布在不同地理位置的边缘节点和百万甚至上亿的末端设备。边缘计算规模和地域跨度远远超过数据中心。云所能提供的带宽将无法满足边缘的需求。同时边缘和云之间的连接是不稳定的。边缘侧需要实现在和云断网的情形下实现自治,同时又需要和云连接实现集中的管理和批量的应用部署管理。如果对着几十万的边缘节点去分别部署更新应用,这个消耗是无法想象的。另外边缘计算中,设备极其多样,设备的通信协议也很不同。设备可以是128MB、1CPU的Raspberry-Pi,也可以是多核,GB内存的服务器。设备通信协议既可以是Http/Amqp/Mqtt,还可以是Bluetooth,Zigbee等等。边缘计算将比云计算复杂的多。对于开发者来说,一个应用在办公室开发验证后,将希望应用直接部署在边缘,无需焦虑功能问题。容器的可移植性正好满足了这个需要。

正是看到了K8S和边缘计算存在的天然契合点,华为开发并开源了KubeEdge——业界首个基于Kubernetes的多租、可扩展、兼容K8S API的容器应用的边缘计算平台。KubeEdge也是K8S IoT Edge Working Group输出的使用Kubernetes支持边缘计算的一个参考范例。

3. KubeEdge:K8S与边缘计算的结合

KubeCon第四天的时候,华为为CNCF IOT/Edge的社区会员组织了一次小型聚会。

在这次轻松随意的聚会上,K8S/CNCF社区成员坐下来,聊聊天,分享各自对边缘计算的场景需求和技术理解。华为的工程师演示了华为云的边缘计算产品IEF。在随后的KubeCon CNCF IOT/Edge Deep Dive,co-chair Cindy Xing深度介绍了IEF的开源实现KubeEdge的架构,功能和未来发展路标。

针对边缘计算场景下的痛点,KubeEdge为用户提供了基础的网络设施,使用KubeBus可以实现边缘和云,边缘和边缘的网络路由通信。借助云和边的MetaStore以及之间的同步,KubeEdge解决了云边断网,带宽的问题并实现边缘侧自治。在KubeEdge里,AppEngine是个轻量化的代理, ~10MB的运行时内存消耗意味着它几乎可以跑在任何设备上。AppEngine保持K8S的数据模型和通信协议,通过和容器引擎交互,管理容器应用的生命周期,反馈容器应用的运行状态。

从功能上看,KubeEdge打通了从底层设备到设备驱动/SDK,再到边缘侧Runtime,云端控制器以及云上应用整个软硬件全栈,它为IOT厂商,开发者和IOT应用企业带来了一个解决方案和平台。

从架构看,KubeEdge包括云端和边缘侧两套组件。边缘侧对设备支持MQTT协议,采用了模块化设计,由Edged,MetaManager,DeviceTwin,EventBus,EdgeHub这五个模块构成,模块之间通过golang的channel进行通信。

 Edged就是为边缘计算深度定制的精简AppEngine。虽然精简,但这个AppEngine支持K8S的API原语,比如:Pod,Volume,Configmap等,同时也支持Pod探针和Event上报。

 EdgeHub是一个web socket的client,负责和云端的消息通信,包括:向边缘侧同步云端资源更新,向云端报告边缘侧节点和设备状态更新,这条数据通道也就是上文提到的KubeBus。

 MetaManager则是一个消息处理器,是架在edged和edgehub之间的桥梁,同时也和后端data store交互,读写一些元数据;

 EventBus则是边缘节点和设备的之间的纽带,他既可以从MQTT Broker处订阅设备状态更新事件,并向其他感兴趣的组件发布,也可以向MQTT Broker发送对设备的操作指令,同时云上app和用户自己部署在edge的应用通信,也走EventBus。

 DeviceTwin则负责存储设备元数据到data store以及和云端同步设备状态,用户可以从云端下发的对设备操作指令发布给DeviceTwin。KubeEdge在边缘侧对设备支持MQTT协议,并且提供设备影子服务。设备目前可以通过MQTT Broker(mosquitto)注册进来。

在Cindy看来,KubeEdge的架构做到了云、边松耦合,边缘可以在断网条件下自治,并在网络恢复后和云侧进行同步。KubeEdge引入了K8S强大的容器编能力,客户可以像管理云上K8S集群一样方便地管理边缘节点和部署应用,这对熟悉K8S的用户来说,无疑是个福音。

4. 未来工作

KubeEdge目前已包含了边缘侧的完整实现,云侧的开源工作正在紧锣密鼓地筹划中,相信很快也会开源,详见项目地址:https://github.com/kubeedge/kubeedge。

KubeEdge自11月KubeCon China宣布开源以来,引起了广泛关注,一度登上Github trending榜单。目前star 220+,fork 50+,slack用户和开发者群成员50+,并且吸收了多名外部代码贡献者。

未来,华为将继续完善KubeEdge,包括但不限于:

  • 支持更多的设备接入协议:AMQP,蓝牙,ZigBee等;

  • 支持超大规模节点和设备管理;

  • 和Istio结合构建服务网格能力;

  • 在边缘侧提供函数服务;

  • 支持设备通过MQTT协议直连云端;

  • 边缘节点使用UDP hop来通信;

  • 引入智能调度功能。

1.微信群:

添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

2.征稿:

投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。

推荐阅读

  • 程序员怒了!阿里 Antd 圣诞彩蛋害我被离职了!

  • 云计算到底是怎么玩的?

  • 面向对象编程,再见!

  • AI女性界的“扛把子”,凭一己之力迫使NIPS改名

  • 00后也会「玩」区块链,你对「朝阳」行业焦虑啥 ?| 圣诞特辑

  • 20k~65k, 2018年最后一波热门技术岗位, 立刻投简历, 跳槽才是加薪的捷径

  • 可替代Android的6大开源移动操作系统

  • 程序员求助:被领导强行要求写Bug该怎么办?网友的回答让我笑翻

点击“阅读原文”,打开 CSDN App 阅读更贴心!

喜欢就点击“好看”吧!

北美KubeCon新风,正把K8S魔力带向边缘计算相关推荐

  1. Kubernetes(简称K8s)将被带入到物联网边缘计算场景中

    作者:物女王(彭昭)      物联网智库 原创 最近在边缘计算领域,发生了一次具有非凡意义的合作,有可能以节点的身份被载入物联网史册. 两大著名开源组织,Linux基金会和Eclipse基金会正在合 ...

  2. 2022云原生网络趋势 | K8s托管整个基础设施、多云、边缘计算、安全等场景,将云原生网络带向新战场

    云原生技术在飞速发展的过程中不断地进入更多的行业和领域,作为云原生网络发展的见证者.亲历者,Kube-OVN Team对大量用户的技术选型.应用场景.落地实践经验进行分析,看到了一套不同于以往的网络发 ...

  3. OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力

    作者| 郑超 阿里云高级开发工程师 随着物联网技术以及 5G 技术的高速发展,将云计算的能力延伸至边缘设备端,并通过中心进行统一交付.管控,已成为云计算的重要发展趋势.为服务更多开发者把握这一趋势,5 ...

  4. OpenYurt开箱测评|一键让原生K8s集群具备边缘计算能力

    作者| 郑超 阿里云高级开发工程师 随着物联网技术以及 5G 技术的高速发展,将云计算的能力延伸至边缘设备端,并通过中心进行统一交付.管控,已成为云计算的重要发展趋势.为服务更多开发者把握这一趋势,5 ...

  5. k8s边缘节点_KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码

    从v0.1到v0.2 小数点后的一小步 是边缘计算领域里程碑式的一大步 KubeEdge发布v0.2版本 全球首个基于K8S 提供云边协同能力的开源边缘计算架构 正式补齐最后一块拼图 将毫无保留地提供 ...

  6. 3度带6度带区别、中央经线及带号的计算

    3度带6度带区别.中央经线及带号的计算 1.基本概况 选择投影的目的在于使所选投影的性质.特点适合于地图的用途,同时考虑地图在图廓范围内变形较小而且变形分布均匀.海域使用的地图多采用保角投影,因其能保 ...

  7. HighNewTech:带你解读云计算、雾计算(Fog Computing)、边缘计算(Edge Computing)的前世今生

    High&NewTech:带你解读云计算.雾计算.边缘计算的前世今生 目录 云计算 CC核心技术 CC分类 雾计算(Fog Computing) 与CC比较 边缘计算(Edge Computi ...

  8. 边缘计算k8s集群之SuperEdge

    什么是边缘计算 边缘计算,是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务.应用 ...

  9. k8s边缘节点_边缘计算,如何啃下集群管理这块硬骨头?

    导读 边缘计算平台,旨在将边缘端靠近数据源的计算单元纳入到中心云,实现集中管理,将云服务部署其上,及时响应终端请求. 然而,成千上万的边缘节点散布于各地,例如银行网点.车载节点等,节点数量甚至可能是几 ...

最新文章

  1. docker4dotnet #4 使用Azure云存储构建高速 Docker registry
  2. 小白爬虫scrapy第三篇
  3. [转]SQL truncate 、delete与drop区别
  4. JDK 14:CMS GC是OBE
  5. 印度朋友手把手教你学Scala(10):Scala里的样本对象
  6. vm虚拟机win10无法复制文件_远程桌面无法复制粘贴传输文件解决办法
  7. 添加WSS3.0中文模板
  8. SmartSvn遗漏.a文件的解决办法
  9. 机顶盒天线接头怎么接_户户通天线怎么安装图解
  10. ITIL事件管理流程设计
  11. 驱动概念(uboot命令)
  12. xp系统搭建iscsi服务器,配置Microsoft Windows XP对MDS/IPS-8的iSCSI主机
  13. Rust vs. Go:为什么他们在一起更好
  14. 巧用CSS,愚人节极客式恶搞
  15. c语言拍皮球100,童话故事——拍皮球
  16. 算法-舍弃不吉利数字
  17. C++动态爱心 520 七夕情人节整活
  18. 腾讯棋牌开发商(深圳泊众):投身网络棋牌游戏有风险
  19. Mapper未生成impl
  20. 最大子序列之和(C语言)

热门文章

  1. java.policy无法修改_如何配置Policy文件进行Java安全策略的设置
  2. lisp java_从Java调用的LISP代码
  3. mq集群要建传输队列吗_MQ集群配置详细说明
  4. 熟悉html css,编写HTML和CSS的前端开发中不一定熟悉JavaScript
  5. 今天看到导师给我的批注哭了...
  6. 英特尔的务实创新之路:实在做技术,赋能开发者 | InfoQ推荐
  7. 数学也浪漫 数学的几句贴心话
  8. 在读博士练成健身达人,女大学生在宿舍练出八块腹肌……
  9. 数学歌单:数学虐我千百遍,让我至今没初恋
  10. 黑洞照片背后的女人:她的算法让数据“拼”成了照片