AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

KubeEdge 1.2 发布:全面升级云边协同传输的可靠性!

  • 2020-02-12
  • 本文字数:1760 字

    阅读完需:约 6 分钟

KubeEdge 1.2发布:全面升级云边协同传输的可靠性!

北京时间 2 月 7 日,KubeEdge 发布了新的特性版本 v1.2.0。


本次发布的 1.2 版本迎来可靠性方面的重大升级,包含:增强云边协同传输的可靠性、Component Config API、自动注册边缘节点到云端、升级 Kubernetes 依赖到 v1.17 Stable 版本,以及 30 处问题修复。


Release详情


接下来本文将逐一解读 KubeEdge v1.2 的新特性。

项目背景

KubeEdge 名字来源于 Kube+Edge,即在 Kubernetes 原生的容器编排和调度能力之上,实现云边协同、计算下沉、海量边缘设备管理、边缘自治等能力。在追求边缘极致轻量化的同时,结合云原生生态的众多优势,解决当前智能边缘领域面临的挑战。


KubeEdge 架构上分为云、边、端三个层次。云端负责应用和配置的校验、下发,边缘侧负责运行边缘应用和管理接入的设备,设备端运行各种边缘设备。


KubeEdge 完整的打通了边缘计算中云、边、设备协同的场景,整体架构如下图。


01 增强云边协同传输的可靠性

在边缘计算场景下,边缘的网络通常是不稳定的,这将导致云边的网络连接频繁断开,在云边协同通信时存在丢失数据的风险。


在针对边缘网络不稳定场景优化的基础上,KubeEdge v1.2 版本做了以下增强:


1. 增加业务层消息发送的校验机制。云端发送状态同步消息到边缘时,边缘在接收并且持久化成功后,会回复状态同步成功的 ACK 消息给云端。如果云端未收到边缘状态同步成功的消息回复,则由业务层代码触发重传机制,重新进行状态同步。


2. 持久化云边协同消息状态。在云和边缘状态同步的过程中,云端会实时记录每个边缘节点同步成功的最新消息版本号(ResourceVersion),并以 CRD 的形式持久化保存到 K8s 中。该机制可以保证在边际场景下云端故障或者边缘离线重启后消息发送的顺序和连续性,避免重发旧消息引起云边状态不一致问题。


3. 周期性检查同步云边数据,保持一致性。在前两步的基础上,KubeEdge 又在云端 CloudCore 中添加了新的模块 SyncController,它主要负责周期性检查个边缘节点的同步状态,对比 K8s 中资源的信息,将不一致的状态同步到边缘,确保云边状态的最终一致性。


整体工作流程如下图所示:



工作机制详见

02 Component Config API

KubeEdge v1.2 版本的另一项重要改进是将 CloudCore、EdgeCore、EdgeSite 等组件的所有配置项结构化,统一使用 K8s 原生风格的 Component Config API 定义,按 API 版本形式管理后续演进,提供历史兼容支持。


在以往版本中,KubeEdge 组件的配置项分散在各个模块的独立文件中,维护比较繁琐。配置项按组件聚合后,用户只需在一个配置文件中进行配置,并可通过”–config”设置配置文件的路径。


本次增强还提供了默认完整配置和最小配置两个命令,用户可以使用这两个命令来生成配置文件,快速部署 KubeEdge。


KubeEdge v1.2 版本中的组件配置 API:





详细配置及设计原则,请见

03 自动注册边缘节点到云端

1.2 版本之前,用户在添加一个边缘节点时,首先需要在云端创建 Node 对象,再启动边缘端的 EdgeCore。


在 v1.2 版本中,KubeEdge 提供了边缘节点自动注册到云端的功能,并且默认开启该特性,以减少用户在安装使用 KubeEdge 时的操作步骤。用户可以通过修改 EdgeCore 的“registerNode”配置项来关闭该特性(将其设置为“false”即可)。


特性详情

04 升级 Kubernetes 依赖到 v1.17 Stable 版本

1.2 版本将 K8s 相关的依赖升级到了 v1.17 Stable 版本,edged 对应的 k8s 版本也升级到了 v1.17,用户可以在边缘侧享用最新版 K8s 的应用管理、存储管理等能力。


由于边缘端只关心 Pod、ConfigMap、Secret、Service、Endpoint 这几个核心 API 对象,K8s 中这几个 API 对象保持不变,那么就可以保持兼容,兼容性表报如下图。


Kubernetes 兼容性:



Golang 兼容性:


05 其他修改

新版本除了以上新特性外,还包括以下修改:


  • 修复了 EdgeCore 在运行多个 POD 时,CPU 占用高的问题。

  • 将 Beehive、Viaduct 两个子项目移到了 KubeEdge 主库中的 Staging 目录下,方便开发者开发调试。

  • EdgeCore 不应与 Kubelet 在同一主机(节点)上运行,因此添加了对 EdgeCore 运行环境的检查。

结语

随着 v1.2 版本的发布,KubeEdge 提供了更稳定可靠的云边协同传输机制,更完备的边缘应用管理以及设备管理能力,更加友好的用户体验,以及更加友好的社区贡献者体验,感谢所有社区贡献者的支持!后续版本将进一步提升 KubeEdge 的用户使用体验,提供完备的智能边缘计算平台。


2020-02-12 19:092415

评论

发布
暂无评论
发现更多内容

涨薪密码 | 音视频开发-程序员界的技术皇冠

Yt

音视频 WebRTC ffmpeg 流媒体 SRS流媒体服务器

2022年石家庄等保测评公司名单(排名部分先后)

行云管家

网络安全 等保 等保测评 石家庄

QCon-OPPO大规模CV预训模型技术及实践

安第斯智能云

算法 计算机视觉 预训练模型

洞态漏洞检出测试第二期:NoSQL & LDAP注入漏洞

火线安全

DevSecOps WEB安全 安全漏洞

阿里云「低代码音视频工厂」正式上线,为企业用户打造音视频应用开发最短路径

阿里云CloudImagine

音视频 低代码 开发

青藤:东西向流量占比80%,安全如何有效搞定?

青藤云安全

看了个女装项目(doge

你?

基于STM32设计的指针式电子钟与日历

DS小龙哥

C语言 嵌入式 单片机

MongoDB高级应用之数据转存与恢复(5)

Tom弹架构

Java 分布式数据库mongodb

低代码实现探索(十二)vue.config.js模块打包

零道云-混合式低代码平台

CRM系统的六大优势

低代码小观

低代码 CRM 客户关系管理 CRM系统 客户关系管理系统

谁说操作系统没有创新,这里就有一个,还是分布式的

LAXCUS分布式操作系统

Linux之chmod命令

入门小站

Linux

在线JSON转YAML工具

入门小站

json

Java 中 Jackson 的 readTree

HoneyMoose

全新UI西游H5决战天宫游戏详细图文架设教程

echeverra

云智慧运维管理平台OMP荣获OSC中国开源项目评选「最受欢迎项目」奖

云智慧AIOps社区

开源项目 运维工程师 运维监控 自动化运维 运维管理

项目经理如何有效管理项目进度?项目管理3大常见问题及解决方案

优秀

项目管理 项目管理工具

如何修改Kestrel上传文件的大小

喵叔

1月月更

Mithril.js:一个高性能 JavaScript MVC 框架

devpoint

typescript mvc 1月月更 Mithril.js

基于STM32设计的校园一卡通项目

DS小龙哥

C语言 嵌入式 单片机

年度盘点丨2021数字化转型优秀案例TOP10

ToB行业头条

低代码平台对程序员有哪些好处?

J2PaaS低代码平台

基于STM32设计的计算器(实现基本运算)

DS小龙哥

C语言 嵌入式 单片机

采购堡垒机时候,选择开源堡垒机还是云堡垒机?

行云管家

云计算 网络安全 等保 堡垒机

为什么企业组织更愿意选择内部私有的IM,而不使用钉钉、微信等软件?

BeeWorks

安全架构要参:构建企业适用的安全架构

I

安全架构 企业安全

政法委重点人员联防联控系统开发,重点人群管理服务平台建设

a13823115807

关于熟经济和通胀--《香帅中国财富报告》摘录(2/100)

hackstoic

经济

基于STM32设计的健康检测设备(测温心率计步)

DS小龙哥

C语言 嵌入式 单片机

基于STM32设计的数字电子秤

DS小龙哥

C语言 嵌入式 单片机

KubeEdge 1.2发布:全面升级云边协同传输的可靠性!_云原生_华为云原生团队_InfoQ精选文章