KubeEdge 1.22.0 版本发布!边缘资源管理能力提升!

北京时间 2025 年 11 月 4 日,KubeEdge 发布 1.22.0 版本。新版本对 Beehive 框架以及 Device Model 做了优化升级,同时对边缘资源管理能力做了提升。
KubeEdge v1.22.0 新增特性:
新增 hold/release 机制控制边缘资源更新
Beehive 框架升级,支持配置子模块重启策略
基于物模型与产品概念的设备模型能力升级
边缘轻量化 Kubelet 新增 Pod Resources Server 和 CSI Plugin 特性开关
C 语言版本的 Mapper-Framework 支持
升级 K8s 依赖到 1.31
新特性概览
▍新增 hold/release 机制控制边缘资源更新
在自动驾驶、无人机和机器人等应用场景中,我们希望在边缘能够控制对边缘资源的更新,以确保在未得到边缘设备管理员的许可下,这些资源无法被更新。
在 1.22.0 版本中,我们引入了 hold/release 机制 来管理边缘资源的更新。
在云端,用户可以通过对 Deployment、StatefulSet 和 DaemonSet 等资源添加 edge.kubeedge.io/hold-upgrade: "true" 的 annotation,表示对应的 Pod 在边缘更新需要被 hold。
在边缘,被标记了 edge.kubeedge.io/hold-upgrade: "true" 的 Pod 会被暂缓被处理。边缘管理员可以通过执行以下命令来释放对该 Pod 的锁,完成资源更新。
也可以执行以下命令解锁边缘节点上所有被 hold 的边缘资源。
💭 注意:
使用 keadm ctl 命令需要启动 DynamicController 和 MetaServer 开关。
更多信息可参考:
https://github.com/kubeedge/kubeedge/pull/6348
https://github.com/kubeedge/kubeedge/pull/6418
▍Beehive 框架升级,支持配置子模块重启策略
在 1.17 版本中,我们实现了 EdgeCore 模块的自重启,可以通过全局配置来设置边缘模块的重启。在 1.22 版本中,我们对 Beehive 框架进行了升级优化,支持边缘子模块级别的重启策略配置。同时我们统一了 Beehive 各子模块启动的错误处理方式,对子模块能力标准化。
更多信息可参考:
https://github.com/kubeedge/kubeedge/pull/6444
https://github.com/kubeedge/kubeedge/pull/6445
▍基于物模型与产品概念的设备模型能力升级
目前的 Device Model 基于物模型概念设计,而在传统 IoT 中,设备通常采用物模型、产品和设备实例三层结构进行设计,可能导致用户在实际使用中产生困惑。
在 1.22.0 版本中,我们结合物模型与实际产品的概念,对设备模型的设计进行了升级。从现有的设备实例中提取了 protocolConfigData , visitors 字段到设备模型中,设备实例可以共享这些模型配置。同时,为了降低模型分离的成本,设备实例可以重写覆盖以上配置。
更多信息可参考:
https://github.com/kubeedge/kubeedge/pull/6457
https://github.com/kubeedge/kubeedge/pull/6458
▍边缘轻量化 Kubelet 新增 Pod Resources Server 和 CSI Plugin 特性开关
在之前的版本中,我们在 EdgeCore 集成的轻量化 Kubelet 中移除了 Pod Resources Server 能力,但在一些使用场景中,用户希望恢复该能力以实现对 Pod 的监控等。同时,由于 Kubelet 默认启动 CSI Plugin,离线环境下启动 EdgeCore 会由于 CSINode 创建失败而导致失败。
在 1.22.0 版本中,我们在轻量化 Kubelet 中新增了 Pod Resources Server 和 CSI Plugin 特性开关,如果您需要启用 Pod Resources Server 或关闭 CSI Plugin,您可以在 EdgeCore 配置中添加如下特性开关:
更多信息可参考:
https://github.com/kubeedge/kubernetes/pull/12
https://github.com/kubeedge/kubernetes/pull/13
https://github.com/kubeedge/kubeedge/pull/6452
▍C 语言版本 Mapper-Framework 支持
在 1.20.0 版本中,我们在原有的 go 语言版本 Mapper 工程基础上,新增了 Java 版本的 Mapper-Framework。由于边缘 IoT 设备通信协议的多样性,很多边缘设备驱动协议都是基于 C 语言实现的,因此在新版本中,KubeEdge 提供了 C 语言版本的 Mapper-Framework,用户可以访问 KubeEdge 主仓库的 feature-multilingual-mapper-c 分支,利用 Mapper-Framework 生成 C 语言版本的自定义 Mapper 工程。
更多信息可参考:
https://github.com/kubeedge/kubeedge/pull/6405
https://github.com/kubeedge/kubeedge/pull/6455
▍升级 K8s 依赖到 1.31
新版本将依赖的 Kubernetes 版本升级到 v1.31.12,您可以在云和边缘使用新版本的特性。
更多信息可参考:
https://github.com/kubeedge/kubeedge/pull/6443
▍致谢
感谢 KubeEdge 社区技术指导委员会 (TSC)、各 SIG 成员对 v1.22 版本开发的支持与贡献,未来 KubeEdge 将持续在新场景探索与支持、稳定性、安全性、可扩展性等方面持续发展与演进!
▍相关链接
Release Notes:
https://github.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.22.md







评论