KubeEdge v1.12 发布,重要功能速览

北京时间 2022 年 9 月 29 日,KubeEdge 发布 1.12 版本。新版本新增多个增强功能,在扩展性、稳定性、安全性上均有大幅提升。在本次 KubeEdge 整个架构的大升级中,由「DaoCloud 道客」于去年提案并一直深度参与研发贡献的 DMI 设备管理功能,在社区获得了非常高的期待和评价。

01

KubeEdge v1.12
Release Notes

全新的边缘设备管理接口 DMI (Alpha)

DMI 接口通过云原生的方式,使得 KubeEdge 的物联网设备管理,功能涵盖设备生命周期管理、设备操作、设备数据管理。

设备生命周期管理:简化操作,使物联网设备的生命周期管理如同管理一个 Pod 一样简单。

设备操作:提供通过 Kubernetes API 操作设备的能力。

设备数据管理:与设备管理分离,数据可以被本地应用使用,也可以通过特殊的隧道同步到云端。

通过 DMI 接口,开发者只需按照 DMI 接口标准实现对应协议的 Mapper,并在云上执行相应的 API 操作,就能够将设备接入到 KubeEdge 中来,享受 KubeEdge 边缘计算平台带来的云原生设备管理体验。

下一代 Edged 正式发布:适合更多的场景

Edged 模块是边缘侧的轻量化容器应用引擎,用于实现边缘 Pod 应用的生命周期管理,以及 Node 状态收集与上报等能力。新版的 Edged 为了保证边缘的轻量化,在原生 Kubelet 中做了优化与裁剪,并保留了裁剪历史记录(Commit History),新的 Edged 仍将通过可靠的传输隧道与云进行通信。

为 EdgeMesh 引入高可用性模式

与之前的集中式中继模式相比,EdgeMesh HA 模式可以设置多个中继节点。当部分中继节点发生故障时,其他中继节点可以继续提供中继服务,避免了单点故障,极大地提高了系统的稳定性。

另外,如果中继节点距离过远,则会造成较高的延迟。HA 中继节点能力可以提供中间节点,缩短时延。mDNS 使局域网内的节点无需连接外部网络就可以相互通信。

支持从云端升级边缘节点 (Alpha)

1.12 版本中新增了 NodeUpgradeJob v1alpha1 API 来实现从云端升级边缘节点。使用 NodeUpgradeJob API 和 Controller,用户可以:

  • 使用 NodeUpgradeJob API 从云端升级选定的边缘节点

  • 如果升级失败,回退到原版本。

支持边端 Kube-API 授权 (Alpha)

在边缘侧,EdgeCore 组件通过 MetaServer 模块对外提供边缘原生接口能力。为了巩固和加强边缘侧的安全,在用户使用边缘原生接口访问原生 K8s API 时,需要对用户请求进行认证和鉴权。

新版本 MetaServer 可通过 HTTPS 方式启动并提供服务,用户的请求需要经过 Token 方式鉴权,未经过认证或鉴权的请求将无法访问。出于安全性考虑,Token 鉴权方式在当前版本中要求边缘节点保持在线状态,离线场景下的鉴权请求将默认被拒绝。

新 GigE 映射器

提供了具有 Golang 实现的 GigE 设备映射器,用于访问 GigE Vision 协议摄像机。

02

边缘设备管理
Device Management Interface

KubeEdge 对于设备管理的设计是非常轻量化的,相关的控制组件有在「云端 Cloud Core」的 Device Controller 组件,以及在「边缘端 Edge Core」的 Device Twin 组件。边缘设备管理切实地解决了数据采集、数据清洗、数据上云、数据安全性等问题,但是在实际使用场景里面,它尚存在一些待优化、待完善的内容:

1. 设备管理面数据与业务面耦合

  • 大规模场景下存在性能问题

  • 占用 ws 云边通道

  • Etcd 读写性能瓶颈

2、对 device 配置信息管理能力不足

  • 设备信息通过 configmap 下发至 mapper

  • Configmap、CRD 存在信息冗余

  • Mapper 处理 mqtt 消息存在信息冗余

3、设备接口不完善

  • Mapper 接入方式只有 mqtt 一种

  • 设备接口不统一,接入适配难度大

  • 数据处理方式不灵活

为了解决和避免上述提到的问题,在去年的云原生边缘计算论坛上「DaoCloud 道客」提出了整合&重构设备管理接口的提案,同时给出了参考架构,并且在接下来的功能实现中,深入参与讨论与研发。最终「DaoCloud 道客」联合社区提出了一种新的设备管理模式 Device Management Interface(简称 DMI),用于整合设备管理接口,优化边缘计算场景下的设备管理能力,打造基于云原生技术的,覆盖设备管理、设备数据的设备数字孪生管理平台;同时定义了 EdgeCore 与 Mapper 之间统一的连接入口,并分别由 EdgeCore 和 Mapper 实现上行数据流和下行数据流的服务端和客户端,承载 DMI 具体功能。

主要包含以下特点:

云原生:device 作为一个 K8s 资源,生成虚拟化的数字孪生,可以基于 K8s 进行模拟。

设备管理:像管理 pod 一样管理设备的生命周期、用户简化操作。

设备操作:设备操作有两个入口,交互控制能力上 K8s(人机、机机)、设备交互控制能力也提供给 deployment。

设备数据:边缘侧 deployment 能够获取到对应数据,device 数据在部分情况下上云。

架构图:

DMI 在 KubeEdge 架构中的定位如图所示。DMI 类似 Kubernetes 的 CNI、CSI、CRI 等接口,定义了一组 EdgeCore 与 Mapper 之间的内部 API 接口以及外部应用访问 Mapper 的统一的 API 接口。其中内部接口底层由 gRPC 结合 UDS 的方式来实现,外部 API 接口支持 mqtt 和 REST 两种接入方式。

Mapper 不论是何种承载、实现方式,只要实现了 DMI 中所定义的上行、下行数据接口,即可接入 KubeEdge 云原生边缘计算平台,使用云原生的方式对设备进行管理。

「DaoCloud 道客」的贡献和参与

本次发布中,「DaoCloud 道客」重点贡献了 DMI Alpha 版本的 Mapper 管理和 Device 管理模块以及对应的 Mapper Demo,具体功能点如下:

  • 实现了 DMI 中的 DeviceManager 接口,完成设备的增删改操作;

  • 以Modbus设备协议为例,实现了完整的 Mappers Demo;

  • 替换原有的 mqtt 组件,转为使用 gRPC 与 Kubeedge 通信;

  • Mappers 的 Go 版本升级到 1.17 并完成兼容 Kubeedge v1.12;

  • 调整 Mappers 项目结构并持续优化,为后续Mappers的开发提供了良好的支撑。

Alpha 版本主要包含以下内容:

1. 管理面数据与业务面数据分离。

  • 管理面数据保存在 KubeEdge 的 ETCD,变化少。

2. 管理面数据包括:

  • 元数据

  • 属性

  • 配置

  • 状态

  • 生命周期

3. Device 信息管理:

  • 缓存在 KubeEdge sqlite 中;

  • 通过 node+protocol 指定 Mapper;

  • 通过 Mapper 注册接口返回值进行初始化;

  • 通过添加、删除设备接口下发到 Mapper。

4. Mapper 通过 grpc+UDS 的方式实现 REST 接入方式。

接下来我们将继续参与到 Beta 版本的开发,配合社区进行 Device 数据管理模块的深度开发工作。

  加入 KubeEdge 社区    

KubeEdge 是业界首个云原生边缘计算框架、云原生计算基金会内部唯一孵化级边缘计算开源项目,社区已完成业界最大规模云原生边云协同高速公路项目(统一管理 10 万边缘节点/50 万边缘应用)、业界首个云原生星地协同卫星、业界首个云原生车云协同汽车、业界首个云原生油田项目,开源业界首个分布式协同 AI 框架 Sedna 及业界首个边云协同终身学习范式,并在持续开拓创新中。

KubeEdge 网站 :  

https://kubeedge.io

GitHub 地址 : 

https://github.com/kubeedge/kubeedge

Slack 地址 : 

https://kubeedge.slack.com

邮件列表 : 

https://groups.google.com/forum/#!forum/kubeedge

每周社区例会 : 

https://zoom.us/j/4167237304

Twitter : 

https://twitter.com/KubeEdge

文档地址 : 

https://docs.kubeedge.io/en/latest/


 本文作者 

刘琛林

现任「DaoCloud 道客」 DEC 后端研发工程师

KubeEdge Member 


参考资料:

[1] KubeEdge v1.12 发布:稳定性、安全性、可扩展性均带来大幅提升

[2] 拥抱边缘新未来|云原生边缘计算峰会回顾

[3] 云原生边缘计算论坛成功举办,共建多领域通用边缘计算生态

猜你喜欢

转载自blog.csdn.net/DaoCloud_daoke/article/details/127286596