新增特性:
- 新增 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 的锁,完成资源更新。
keadmctlunhold-upgradepod<pod-name>
也可以执行以下命令解锁边缘节点上所有被 hold 的边缘资源。
keadmctlunhold-upgradenode
注意:
使用 keadm ctl 命令需要启动 DynamicController 和 MetaServer 开关。
Beehive 框架升级,支持配置子模块重启策略
在 1.17 版本中实现了 EdgeCore 模块的自重启,可以通过全局配置来设置边缘模块的重启。在 1.22 版本中对 Beehive 框架进行了升级优化,支持边缘子模块级别的重启策略配置。同时统一了 Beehive 各子模块启动的错误处理方式,对子模块能力标准化。
基于物模型与产品概念的设备模型能力升级
目前的 Device Model 基于物模型概念设计,而在传统 IoT 中,设备通常采用物模型、产品和设备实例三层结构进行设计,可能导致用户在实际使用中产生困惑。
在 1.22.0 版本中结合物模型与实际产品的概念,对设备模型的设计进行了升级。从现有的设备实例中提取了 protocolConfigData , visitors 字段到设备模型中,设备实例可以共享这些模型配置。同时,为了降低模型分离的成本,设备实例可以重写覆盖以上配置。
边缘轻量化 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 配置中添加如下特性开关:
apiVersion:edgecore.config.kubeedge.io/v1alpha2
kind:EdgeCore
modules:
edged:
tailoredKubeletConfig:
featureGates:
KubeletPodResources:true
DisableCSIVolumePlugin:true
...
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 工程。
1612

被折叠的 条评论
为什么被折叠?



