KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码
KubeEdge开源背景
KubeEdge在18年11月24日的上海KubeCon上宣布开源,技术圈曾掀起一阵讨论边缘计算的风潮,从此翻开了边缘计算和云计算联动的新篇章。
KubeEdge即Kube+Edge,顾名思义就是依托K8S的容器编排和调度能力,实现云边协同、计算下沉、海量设备的平滑接入。KubeEdge架构上包含两部分,分别是云端和边缘侧。云端负责应用和配置的下发,边缘侧则负责运行边缘应用和管理接入
此前,关于用K8S在边缘侧部署应用还一直停留在实验阶段,KubeEdge脱胎于华为云IEF服务,是第一个具备在生产环境部署能
力的边缘计算领域开源项目。前几天K8S IOT/Edge工作组发布了关于边缘计算的白皮书,并将KubeEdge作为K8S在IOT/Edge场景下的参考架构。
注:白皮书的内容“容器魔方”公众号会深入解读,敬请期待!
KubeEdge开源后国内外也出现了一些开源的边缘计算平台和基金会。但是当你仔细研究这些项目时会发现,LF Edge糅合了5个项目有点像是大杂烩,OpenEdge强绑定厂商中立性有待商榷,而k3s为了在边缘部署完整集群而魔改了K8S,他们似乎都称不上完整的从云到边缘再到设备的开源解决方案。TheNewStack在撰文对比过这些开源的边缘计算项目时如是写道:
It would appear openEdge is integrated with Baidu’s IoT cloud platform so it is not clear how independent is the technology.
与其他开源或半开的项目不同,不论是社区生态建设、项目运作或是代码开发,KubeEdge诞生之初就把开放性放在首位。那么, KubeEdge的开放性到底表现在哪里呢?这次的重大版本更新将会给整个边缘计算产业造成什么深远的影响呢?
v0.1- ALL in K8S,极致优化
容器天然的轻量化和可移植性,非常适合边缘计算的场景,这一点边缘计算的厂家和开发者们都心知肚明。而且鉴于K8S已经成为云原生编排的事实标准,因此携手K8S进入边缘将很有可能结束边缘计算当前混沌的状态,并定义云端和边缘统一的应用部署和管理的标准。
然而,由于边缘场景通信的不稳定性和严苛的资源消耗限制,导致原生的K8S组件无法直接运行在边缘节点上,例如:工业网关等。而受限于K8S本身list/watch机制带来的disconnect问题,数据面和管理面断连后,无法做到本地自治。
KubeEdge选择的是“轻边缘”架构,即边缘侧的容器引擎和设备管理agent尽量轻量化,管理面运行在云端,且构建在K8S的调度能力之上,100%兼容K8S原生API。KubeEdge all in K8S的设计理念使得用户可以围绕K8S的标准API定制需求或者轻松集成云原生生态中的成熟项目。
值得一提的是,KubeEdge项目的核心成员均来自于K8S/CNCF社区的maintainer和TOP contributor,他们对K8S的设计和理念和实现机制了然于心,自然也清楚K8S在边缘计算领域需要解决的问题。为了使KubeEdge可以运行在几乎所有的边缘场景(例如:工业制造、智慧园区、智能驾驶等),权衡K8S的资源占用和原生能力支持,KubeEdge选择在对接K8S API的基础上,全部重写边缘部分实现。当前,KubeEdge边缘组件的磁盘占用约为60MB,运行时内存占用小于30MB。
KubeEdge开源的v0.1版本包含:edged,edgehub,eventbus,devicetwin和metamanager这五个边缘侧的组件,架构如下图所示:
其中:
edged是重新开发的轻量化Kubelet,实现Pod,Volume,Node等K8S资源对象的生命周期管理;
metamanager负责本地元数据的持久化,是边缘节点自治能力的关键;
edgehub提供可靠的云边信息同步,解决了K8S list/watch带来的disconnect问题;
devicetwin用于同步信息到云端;
eventbus订阅来自于MQTT Broker的设备数据;
不难发现,v0.1版本的KubeEdge最大的意义在于填平了K8S与边缘计算的鸿沟。它提供的无缝衔接K8S生态、数据本地化处理、边缘节点离线自治、简化应用在边缘侧部署、多场景支持等功能,为云原生的边缘计算架构提供了范例。
v0.2 - 生态建设的里程碑
如果说KubeEdge的 v0.1 版本只是抛砖引玉,那么 v0.2 版本将是发力生态建设的一个重要里程碑。由于其开放的设计,KubeEdge一经开源便引起了众多社区开发者和厂商的关注。
尽管v0.1版本可以通过与华为云IEF服务尝鲜云边协同的能力,但为了让海外更多的用户能够完整体验KubeEdge以及进一步消除用户对厂商绑定的顾虑,KubeEdge团队决定提前开放云端代码,即在最新的v0.2版本中发布。从KubeEdge v0.1到v0.2,虽然只是小数点后的一小步,却是边缘计算发展的一个里程碑。KubeEdge v0.1和v0.2的发布分别创造了两个记录:
全球首个开源的支持容器部署的边缘计算平台;
全球首个开放云边协同能力的边缘计算平台;
KubeEdge v0.2 的发布意味着任何人都可以在自己的环境中部署一个完整的涵盖云、边、设备的边缘计算解决方案。本次更新在 v0.1 的基础上新增了云上两个重要组件,分别是:CloudHub和EdgeController,架构如下所示:
其中:
Cloudhub负责接收EdgeHub同步到云端的信息;
EdgeController用于控制K8S API Server与边缘的节点、应用和配置的状态同步;
用户可以直接通过kubectl命令行在云端管理边缘节点、设备和应用,使用习惯与K8S原生的完全一致,无需重新适应。
Roadmap
在赋予了KubeEdge完全开放的云边协同能力后,接下来我们将与云原生社区和边缘计算生态玩家一道,从以下几个方面逐步完善 KubeEdge 项目,共建自主可控的边缘计算开源社区!
通过CRD描述设备的编排信息,并实现相应的控制器;
对外暴露边缘服务;
支持边缘节点之间的直接通信;
增强边缘节点的安全;
优化云边消息通道的效率;
提供通用的边缘数据管理/分析框架;
支持边缘serverless;
提供多设备协议接入的框架;
……
彩蛋
KubeEdge项目当前在Github上开源,项目地址:https://github.com/kubeedge/kubeedge
作为国内发起的首个边缘计算开源项目,欢迎star和PR,合入任意一个PR便赠送《云原生分布式存储基石:etcd深入解析》一本:)
相关服务请访问: https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019
KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码的更多相关文章
- 重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源
作者: OAM 项目负责人 导读:2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Op ...
- 联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595
联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595 admin 资讯 01-07 1 1月7日消息,联发科宣布与Google共同开发出全世界第一个搭载Android TV操作系统 ...
- 开放应用模型(OAM):全球首个云原生应用标准定义与架构模型
Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长.但同时我们也关注到,Kubernetes 的核心 API 资源比如 ...
- 致远·面向人工智能-逐浪CMS v8.1.2全面发布[全球首个基于dotNET core3.0的中文CMS]
原文:https://www.z01.com/down/3484.shtml 再远, 我都不会停息, 因为技术而生, 因为技术而强, 这是逐浪软件的命与根! 全新打造, 三百多项超级功能, 助你十分钟 ...
- 厉害了,摩托罗拉发布全球首款支持VR和AR的手机MotoZ
目前支持谷歌daydream移动VR生态系统的手机型号并不多,除了谷歌自家的Pixel系列外,还有华为推出的mate9系列.如今又到了一位新成员,即升级到Android 7.0后的Moto Z. 更为 ...
- 阿里重磅开源全球首个批流一体机器学习平台Alink,Blink功能已全部贡献至Flink
11月28日,Flink Forward Asia 2019 在北京国家会议中心召开,阿里在会上发布Flink 1.10版本功能前瞻,同时宣布基于Flink的机器学习算法平台Alink正式开源,这也是 ...
- 北美KubeCon新风,正把K8S魔力带向边缘计算
作者:DJ 审校:Kevin·Wang 1. 容器生态圈新的创新方向 2018年容器技术圈的年终盛典北美KubeCon终于在西雅图落下了帷幕.这次北美KubeCon总共吸引了8000多观众参会,创下历 ...
- KubeEdge,一个Kubernetes原生边缘计算框架
KubeEdge成为第一个Kubernetes原生边缘计算平台,Edge和云组件现已开源! 开源边缘计算正在经历其业界最具活力的发展阶段.如此多的开源平台,如此多的整合以及如此多的标准化举措!这显示 ...
- KubeEdge SIG AI发布首个分布式协同AI Benchmark调研
摘要:AI Benchmark旨在衡量AI模型的性能和效能. 本文分享自华为云社区<KubeEdge SIG AI发布首个分布式协同AI Benchmark调研>,作者:KubeEdge ...
随机推荐
- 理解ADFS相关概念
核心概念 Claims是?Token是?Security Token是?Security Token Server (STS)是? 声明与令牌无关,但通过封装在安全令牌中来进行网络传输! SSL证书是 ...
- galera集群启动异常问题
WSREP: failed to open gcomm backend connection: 131: invalid UUID 进入该数据库节点/var/lib/mysql/目录,将文件gvwst ...
- Python sys.path永久添加
在用户目录下,找到隐藏文件.bashrc 或 .zshrc 文件然后在末尾添加 export PYTHONPATH=$PYTHONPATH:/home/dev/custom_path 操作:vim . ...
- win10 安装MySQL过程和遇到的坑
环境:win10系统,MySQL5.7.18 “mysql-5.7.18-winx64.msi” 首先是要运行mysql-5.7.18-winx64.msi,选择安装在C盘(可自定义安装) 第一步 打 ...
- API网关从入门到放弃
前言 假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员.商品.推荐服务等等. 那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可 ...
- mybatis 找不到映射器xml文件 (idea)
原因是: idea不会编译src的java目录的xml文件 所以解决思路就是:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹 具体操作方法就是:配置maven的 ...
- eNSP——利用三层交换机实现VLAN间路由
原理: VLAN将一个物理的LAN在逻辑上划分成多个广播域.VLAN内的主机间可以直接通信,而VLAN间不能直接互通. 在现实网络中,经常会遇到需要跨VLAN相互访问的情况,工程师通常会选择一些方法来 ...
- 离线安装docker,并导入docker镜像
将docker离线安装包导入到系统中,解压并进入文件夹,使用下述命令进行安装: rpm -ivh *.rpm --nodeps --force 安装完成功使用,docker info 查看docker ...
- spring cloud 快速搭建
1.首先新建一个普通maven工程 项目名自定义都可以 2.然后在maven工程下新建一个基于spring boot 的module 为注册中心,勾选Eureka的配置,在启动类上面加注解@Enabl ...
- [转帖]linux下的find文件查找命令与grep文件内容查找命令
linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...