写点什么

KubeEdge 1.19.0 版本发布!更完备的节点设备能力,全新的 Dashboard 体验

  • 2024-11-12
    中国香港
  • 本文字数:2961 字

    阅读完需:约 10 分钟

KubeEdge 1.19.0版本发布!更完备的节点设备能力,全新的Dashboard体验

北京时间 2024 年 10 月 28 日,KubeEdge 发布 1.19.0 版本。新版本在节点和设备方面引入了多个新特性,同时带来了全新版本的 Dashboard。

 

KubeEdge v1.19 新增特性:

  • 支持边缘节点上报 Event

  • 支持边缘节点 OTA 升级

  • Mapper 支持设备数据写入

  • Mapper 框架新增支持 OpenTelemetry

  • 全新版本 Dashboard

  新特性概览  

▍支持边缘节点上报 Event

Kubernetes Event 作为集群中事件的报告,可以反馈节点、Pods 等集群资源的状态变化。在 1.19 版本中,EdgeCore 支持了边缘 Event 的上报,用户可以直接在云端通过 kubectl get events 或者 kubectl describe {resource_type} {resource_name} 获取边缘节点或者 pods 等状态。


该特性在 1.19 版本中默认关闭,使用 EdgeCore 时执行--set modules.edged.reportEvent=true 或者如下修改 EdgeCore 配置参数并重启 EdgeCore。

apiVersion: edgecore.config.kubeedge.io/v1alpha2kind: EdgeCorefeatureGates:  requireAuthorization: truemodules:  ...  edged:    reportEvent: true...
复制代码

更过信息参考:


https://github.com/kubeedge/kubeedge/pull/5722


https://github.com/kubeedge/kubeedge/pull/5811

▍支持边缘节点 OTA 升级

新版本在节点升级 NodeUpgradeJob 基础上新增了边端节点卡点确认和对镜像摘要的验证。卡点确认可以使节点升级下发到边缘节点后,在用户得到确认后才进行升级。镜像摘要验证可以确保在边缘节点待升级的 kubeedge/installation-pacakge 镜像是安全可靠的。


在 1.19 版本中,我们可以通过 YAML 配置 NodeUpgradeJob 的 imageDigestGatter 来定义镜像摘要,value 用于直接定义摘要的值,registryAPI 用于通过 registry v2 接口获取镜像摘要,两者互斥,如果都没有配置则在升级时不进行镜像摘要的校验,样例:

spec:  ...  imageDigestGatter:    value: ""    registryAPI:      host: ""      token: ""
复制代码

我们还可以通过 YAML 配置 NodeUpgradeJob 的 requireConfirmation 来定义是否要在边端进行确认操作,样例:

spec:  ...  requireConfirmation: true
复制代码

当 requireConfirmation 设置为 true 时,在边端节点升级任务下发到边端后,任务状态会更新为 confirmation 状态等待边端发起确认命令后再继续进行升级。


我们可以通过执行 keadm ctl 指令进行确认,以继续升级任务:

keadm ctl confirm
复制代码


或者调用 Metaserver 接口进行确认,以继续升级任务:


POST http(s)://localhost:<metaserver_port>/confirm
复制代码

更多信息可参考:


https://github.com/kubeedge/kubeedge/issues/5589


https://github.com/kubeedge/kubeedge/pull/5761


https://github.com/kubeedge/kubeedge/pull/5863

▍Mapper 支持设备数据写入 

Mapper 当前能够采集设备数据并上报,但在设备数据写入方面仍不完善。1.19 版本在 Mapper-Framework 中增加了设备数据写入的能力,允许用户通过 Mapper 提供的 API 调用 device method,对 device property 完成数据写入。


  • Device method API


目前基于物模型的 v1beta1 版本的设备管理 API 包含 device property 的定义,在 1.19 版本中,新增 device method 的定义。Device method 指设备能够被外部调用的能力或方法,一个 device method 能够控制多个 device property 值。用户能在 device-instance 文件中定义 device method,通过 device method 完成 device property 的控制、写入。

spec:  ...  methods:    - name: ""      description: ""      propertyNames:      - ""
复制代码
  • 设备数据写入


在 1.19 中改进 Mapper API 能力,新增 device method 调用接口。用户能够调用相关的接口获取某个设备包含的所有 device method,以及 device method 的调用命令,通过返回的调用命令发起设备写入请求。device method 的具体功能实现需要用户自行在 Mapper 的设备驱动层中完成。


更多信息可参考:


https://github.com/kubeedge/kubeedge/pull/5662


https://github.com/kubeedge/kubeedge/pull/5902

▍Mapper 框架新增支持 OpenTelemetry 

当前 Mapper 向用户应用推送设备数据默认内置 HTTP 与 MQTT 两种方式,但仍存在部分应用无法直接以这两种方式进行推送。在 1.19 版本中我们在数据面引入 OpenTelemetry 观测框架,能够封装设备数据并向多类应用或数据库推送数据,例如 GreptimeDB、 Prometheus 等,增强 Mapper 数据面推送设备数据的能力。

spec:  ...  properties:    - name: ""      pushMethod:         otel:          endpointURL: ""
复制代码

更多信息可参考:


https://github.com/kubeedge/kubeedge/pull/5628

▍全新版本 Dashboard

之前发布的 KubeEdge Dashboard,新版本使用主流的 Next.js 框架以及 MUI 样式库对其进行了重构。在新版本中我们重构并优化了近 60 个页面与组件,基于 KubeEdge 最新版本的后端 API,我们完善并增加了 Device 等相关功能页面,并在不影响原有功能的基础上将代码量减少至原先的四分之一。在这个过程中,我们整理完善了 Kubernetes 以及 KubeEdge 后端接口的 Typescript 类型定义,并将依赖的后端接口更新至最新版本,确保其与最新的 KubeEdge 兼容。

更多信息可参考:https://github.com/kubeedge/dashboard/pull/29

 版本升级注意事项 
  • 下个版本(v1.20),EdgeCore 的配置项 edged.rootDirectory 的默认值将会由/var/lib/edged 切换至/var/lib/kubelet,如果您需要继续使用原有路径,可以在使用 keadm 安装 EdgeCore 时设置 --set edged.rootDirectory=/var/lib/edged。


  • 从 1.19 版本开始,请在使用 keadm 安装 KubeEdge 时,使用--kubeedge-version 指定版本,--profile version 已废弃。


▍致谢

感谢 KubeEdge 社区技术指导委员会 (TSC)、各 SIG 成员对 v1.19 版本开发的支持与贡献,未来 KubeEdge 将持续在新场景探索与支持、稳定性、安全性、可扩展性等方面持续发展与演进!


▍相关链接

Release Notes:

https://github.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.19.md


【更多 KubeEdge 资讯推荐】玩转 KubeEdge 保姆级攻略——环境搭建篇



玩转 KubeEdge 保姆级攻略——环境搭建篇

《玩转 KubeEdge 保姆级攻略——环境搭建篇》课程主要介绍如何通过华为云服务快速搭建一套 KubeEdge 边缘计算开发平台及部署 Sedna、EdgeMesh 等 KubeEdge 生态组件。

课程免费学习链接https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXNX022+Self-paced/about


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/

用户头像

还未添加个人签名 2020-02-11 加入

还未添加个人简介

评论

发布
暂无评论
KubeEdge 1.19.0版本发布!更完备的节点设备能力,全新的Dashboard体验_云计算_华为云原生团队_InfoQ写作社区