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

作者: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来通信;
  • 引入智能调度功能。

华为也欢迎参任何感兴趣的厂商和开发者参与KubeEdge社区,共同推动边缘计算的创新。我们预计今后一到两年边缘计算会有突飞猛进的发展,我们完全有理由相信取得先发优势的KubeEdge将会打造一个新的生态。

原文地址:https://www.cnblogs.com/huaweiyuncce/p/10174500.html

时间: 2024-10-05 17:38:47

北美KubeCon新风,正把K8S魔力带向边缘计算的相关文章

2019北美KubeCon+CloudNativeCon上的K8S五大趋势

KubeCon+CloudNativeCon – 业界最隆重的盛会今年在圣地亚哥举办,超过 12000 名参会者以及 100 多个云原生供应商出席了这次大会.越来越多的企业开始采用K8S和容器架构来进行数字化转型的实践.我们总结了目前K8S发展存在的挑战,以及未来K8S发展的五大趋势,在这里分享. K8S公认复杂性较高,如何降低部署的复杂性,如何增加系统的可见性和易操作性成为重要发展方向.当前情况下,用户很难知道正在发生什么,以及谁有权限访问数据.系统的复杂性使得许多配置容易出错.另外加密技术的

11.表达式计算对一串加减乘除带括号进行计算

算法流程图: 执行截图: 完整代码: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <math.h> 5 #include <string.h> 6 //删除空格 7 void deleteSpace(char *str); 8 //判断是不是数字 9 bool isnum(char ch); 10 //获取括号间的内容 11 c

关于边缘计算,MWC19上海的展商们都带来了哪些惊喜?

6月26日,为期3天的世界移动通信大会--MWC19在上海新国际博览中心如期举行.本次大会以"智联万物"为主题,向参会者充分展现了5G.物联网.人工智能及大数据等下一代科技的创新成果. 在本届MWC19上海大会中,5G仍是稳稳的C位.7个展馆全部实现5G网络覆盖,这也是世界首个5G网络覆盖的MWC.同时,三大运营商.各大设备厂商的5G智能终端及应用场景集体亮相,让参会者应接不暇. 5G通讯成为绝对C位,相信这是今天所有参会者最深的体会. 也正因为5G的火爆,边缘计算成为了本次展会最时髦

带你玩转Kubernetes

导读 Kubernetes是著名的容器管理系统,是一个有这很多贡献者的开源大项目,它作为一个不挑食的容器管理框架,可以无处不在.这两天接触K8s,带你玩转K8s,这个教程可以大致让你知道运行更改源码,而且从头测试本地Kubernetes平台集群. Kubernetes是个有很多贡献者的开源大项目,理论上它作为一个不挑食的容器管理框架,可以无处不在.但可惜的是,无论实际编写还是贡献测试代码,引导kubernetes server都不太容易.里边的一些文件对于我来说有些乱,不是挂了的就是过时的.源文

Kubernetes(K8S)+docker容器集群

Kubernetes(k8s) Kubernetes官网 Kubernetes使用教程 Docker-ce安装官方教程 Kubernetes简介 Kubernetes是google开源的多主机容器管理工具, 简称:k8s,它带有人性化图形管理界面, 它在开源社区很受欢迎github上已经有了20000+的收藏,和7000+的fork. Kubernetes其特性主要包括: 1.可以非常轻松地开发复杂系统: 2.Kubernetes为微服务架构: 3.系统可以随时随地整体"搬迁"到公有云

Cloud Native Weekly | KubeCon首登中国,华为云亮相KubeCon

1.KubeCon首登中国,Kubernetes将如何再演进? 11月14日,由CNCF发起的云原生领域全球最大的峰会之一KubeCon+CloudNativeCon首次登陆中国,中国已经成为云原生领域一股强大力量,并且还在不断成长.在一些大公司,容器已经取得了显著的效果.京东从 OpenStack 迁移至 Kubernetes,资源利用率提高 30%:华为迁移至云原生环境后,运营成本削减 20-30%:雅虎日本已经利用Kubernetes自动进行生产部署:中国移动也开始使用容器代替虚拟机在平台

任正非答中国媒体30问:准备了十几年应对今天碰到的问题(哲学思辨水平确实比较高)

编者按:华为创始人任正非在深圳华为总部就华为如何应对现状.知识产权.网络安全等30个问题接受多家国内媒体采访.1.记者:华为最近遇到了一些困难,请问华为内部是否系统地评估过,这么多年的研发创新投入是不是可以抵抗这些困难? 任总:应该说,我们今天可能要碰到的问题,在十多年前就有预计,我们已经准备了十几年,我们不是完全仓促.没有准备的来应对这个局面.这些困难对我们会有影响,但影响不会很大,不会出现重大问题. 记者:那么在现在的环境下,您怎么理解自主创新对中国公司的意义? 任总:我从来不支持“自主创新

K8S安全军规101:对CNCF最佳实践的扩充

在上篇文章里,我们分享了CNCF为广大Kubernetes用户建议的9项Kubernetes安全最佳实践,分享了用户使用Kubernetes管理集群时的9个能进一步确保集群安全的基本操作. 上篇文章中的建议非常好,但不足之处在于它们都过于依赖GKE了.对于那些使用谷歌服务的用户来说,GKE固然是一个很好的解决方案.然而,还有更多的人则是在亚马逊.Azure.阿里云.华为云.DigitalOcean.甚至是他们自己的基础设施上或其他他们任何想在的地方上运行着Kubernetes集群,那么此时,GK

Dubbo 在 K8s 下的思考

序言 Dubbo 在 2011 开源之后,一直是国内最受欢迎的 RPC 框架,之后 Spring Boot 和 Spring Cloud 的面世,助推了微服务的火热程度.计算机的世界变化很快,自从容器和 K8s 登上舞台之后,给原有的 RPC 领域带来了很大的挑战.这个文章主要讲述 RPC 领域遇到的问题,以及 RPC怎么去拥抱 K8s 怀抱的一些思考. K8s介绍 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用, Kubernetes 的目标是让部署容器化的应用简