写点什么

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:092531

评论

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

鸿蒙5开发隐藏案例分享---自由流转的浏览进度接续

莓创技术

.NET Dump 中的 Linux信号机制

秃头小帅oi

鸿蒙5开发宝藏案例分享---一多开发实例(图片美化)

莓创技术

6行代码节省超千万成本——记一次字段治理的“巧渡金沙江”

快手技术

存储系统 降本增效

鸿蒙5开发案例分享揭秘---一多开发实例(商务办公)

莓创技术

更快速度、更省空间、灵活恢复!YMatrix 增量备份功能重磅发布!

YMatrix 超融合数据库

数据资产 超融合数据库 YMatrix 增量备份

鸿蒙5开发宝藏案例分享---一多开发实例(股票类)

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(便捷生活)

莓创技术

鸿蒙5开发宝藏案例分享---自由流转的拖拽多屏联动

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(购物比价)

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(新闻阅读)

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(地图导航)

莓创技术

数据分析与AI丨AI+数据,助力企业实现全生命周期智能运营

Altair RapidMiner

人工智能 机器学习 AI 数据分析 数字孪生

行业沙龙 | 博睿数据联合承办2025 湾区金科(FinTech)沙龙——智能运维专场,分享主题演讲

博睿数据

NFT 市场或在 BTC 达到周期顶峰之后卷土重来

PowerVerse

代币 区块链+ BTC NFT DePIN

大模型落地企业研发的正确姿势——暨《DevData25研发效能基准报告》核心数据发布

思码逸研发效能

人工智能 研发效能 API 测试 研发效能管理

1688商品详情API接口指南

tbapi

1688商品详情接口 1688数据采集 1688商品详情API

鸿蒙5开发宝藏案例分享---一多开发实例(移动支付)

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(音乐)

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(旅行订票)

莓创技术

鸿蒙5开发宝藏案例分享---一多开发实例(游戏)

莓创技术

鸿蒙5开发宝藏案例分享---应用接续提升内容发布体验

莓创技术

精彩回顾丨Altair携手汽车工程学会举办主题网络研讨会,共探AI与无网格技术助力汽车行业智能未来

Altair RapidMiner

机器学习 AI SimSolid 汽车工程 无网格仿真

重磅!SpringBoot4发布,11项重大变更全解析!

电子尖叫食人鱼

springboot

AI对低代码技术的影响

不在线第一只蜗牛

AI 低代码

湖仓一体,不只是技术升级,更是企业决策力再造

Databend

秒杀系统—架构设计和方案简介

量贩潮汐·WholesaleTide

架构

最近大火的AI对低代码技术的影响

秃头小帅oi

广州某科技公司遭境外黑客攻击?真实的安全防护,这几点不容错过

塞讯科技

AI 网络安全 CVE 安全验证

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