首页 > 其他分享 >KubeEdge v1.15.0发布!新增5大特性

KubeEdge v1.15.0发布!新增5大特性

时间:2023-10-24 15:01:12浏览次数:46  
标签:Mapper KubeEdge v1.15 特性 边缘 版本 kubeedge

本文分享自华为云社区《KubeEdge v1.15.0发布!新增Windows 边缘节点支持,基于物模型的设备管理,DMI 数据面支持等功能》,作者:云容器大未来 。

北京时间2023年10月13日,KubeEdge 发布 v1.15.0 版本。新版本新增多个增强功能,在边缘节点管理、边缘应用管理、边缘设备管理等方面均有大幅提升。

kubeedge.png

KubeEdge v1.15.0 新增特性:

  • 支持 Windows 边缘节点
  • 基于物模型的新版本设备管理 API v1beta1发布
  • 承载 DMI 数据面的 Mapper 自定义开发框架 Mapper-Framework 发布
  • 支持边缘节点运行静态 Pod
  • 支持更多的 Kubernetes 原生插件运行在边缘节点

新特性概览

▍支持 Windows 边缘节点

随着边缘计算应用场景的不断拓展,涉及到的设备类型也越来越多,其中包括很多基于Windows 操作系统的传感器、摄像头和工控设备等,因此新版本的KubeEdge 支持在 Windows 上运行边缘节点,覆盖更多的使用场景。

在 v1.15.0 版本中,KubeEdge 支持边缘节点运行在 Windows Server 2019,并且支持 Windows 容器运行在边缘节点上,将 KubeEdge 的使用场景成功拓展到 Windows 生态。

Windows 版本的 EdgeCore 配置新增了 windowsPriorityClass 字段,默认为NORMAL_PRIORITY_CLASS。用户可以在 Windows 边缘主机上下载 Windows 版本的 EdgeCore 安装包[1],解压后执行如下命令即可完成 Windows 边缘节点的注册与接入,用户可以通过在云端执行 kubectl get nodes 确认边缘节点的状态,并管理边缘 Windows 应用。

edgecore.exe --defaultconfig > edgecore.yaml
edgecore.exe --config edgecore.yaml

更多信息可参考:

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

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

▍基于物模型的新版本设备管理 API v1beta1 发布

v1.15.0 版本中,基于物模型的设备管理 API,包括 Device Model 与 Device Instance,从 v1alpha2 升级到了 v1beta1,新增了边缘设备数据处理相关等的配置,北向设备 API 结合南向的 DMI 接口,实现设备数据处理,API 的主要更新包括:

  • Device Model 中按物模型标准新增了设备属性描述、设备属性类型、设备属性取值范围、设备属性单位等字段。
// ModelProperty describes an individual device property / attribute like temperature / humidity etc.
type ModelProperty struct {
   // Required: The device property name.
   Name string `json:"name,omitempty"`
   // The device property description.
   // +optional
   Description string `json:"description,omitempty"`
   // Required: Type of device property, ENUM: INT,FLOAT,DOUBLE,STRING,BOOLEAN,BYTES
   Type PropertyType `json:"type,omitempty"`
   // Required: Access mode of property, ReadWrite or ReadOnly.
   AccessMode PropertyAccessMode `json:"accessMode,omitempty"`
   // +optional
   Minimum string `json:"minimum,omitempty"`
   // +optional
   Maximum string `json:"maximum,omitempty"`
   // The unit of the property
   // +optional
   Unit string `json:"unit,omitempty"`
}
  • Device Instance 中内置的协议配置全部移除,包括 Modbus、Opc-UA、Bluetooth 等。用户可以通过可扩展的 Protocol 配置来设置自己的协议,以实现任何协议的设备接入。Modbus、Opc-UA、Bluetooth 等内置协议的 Mapper 不会从 mappers-go 仓库移除,并且会更新到对应的最新版本,且一直维护。
type ProtocolConfig struct {
   // Unique protocol name
   // Required.
   ProtocolName string `json:"protocolName,omitempty"`
   // Any config data
   // +optional
   // +kubebuilder:validation:XPreserveUnknownFields
   ConfigData *CustomizedValue `json:"configData,omitempty"`
}

type CustomizedValue struct {
   Data map[string]interface{} `json:"-"`
}   
  • 在 Device Instance 的设备属性中增加了数据处理的相关配置,包括设备上报频率、收集数据频率、属性是否上报云端、推送到边缘数据库等字段,数据的处理将在 Mapper 中进行。
type DeviceProperty struct {
   ......
   // Define how frequent mapper will report the value.
   // +optional
   ReportCycle int64 `json:"reportCycle,omitempty"`
   // Define how frequent mapper will collect from device.
   // +optional
   CollectCycle int64 `json:"collectCycle,omitempty"`
   // whether be reported to the cloud
   ReportToCloud bool `json:"reportToCloud,omitempty"`
   // PushMethod represents the protocol used to push data,
   // please ensure that the mapper can access the destination address.
   // +optional
   PushMethod *PushMethod `json:"pushMethod,omitempty"`
}

更多信息可参考:

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

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

▍承载 DMI 数据面的 Mapper 自定义开发框架 Mapper-Framework 发布

v1.15.0 版本中,对 DMI 数据面部分提供了支持,主要承载在南向的 Mapper 开发框架 Mapper-Framework中。Mapper-Framework 提供了全新的 Mapper 自动生成框架,框架中集成了 DMI 设备数据管理(数据面)能力,允许设备在边缘端或云端处理数据,提升了设备数据管理的灵活性。Mapper-Framework 能够自动生成用户的 Mapper 工程,简化用户设计实现 Mapper 的复杂度,提升 Mapper 的开发效率。

  • DMI 设备数据面管理能力支持

v1.15.0 版本 DMI 提供了数据面能力的支持,增强边缘端处理设备数据的能力。设备数据在边缘端可以按配置直接被推送至用户数据库或者用户应用,也可以通过云边通道上报至云端,用户也可以通过 API 主动拉取设备数据。设备数据管理方式更加多样化,解决了 Mapper 频繁向云端上报设备数据,易造成云边通信阻塞的问题,能够减轻云边通信的数据量,降低云边通信阻塞的风险。DMI 数据面系统架构如下图所示:

  • Mapper 自动生成框架 Mapper-Framework

v1.15.0 版本提出全新的 Mapper 自动生成框架 Mapper-Framework。框架中已经集成 Mapper 向云端注册、云端向 Mapper 下发 Device Model 与 Device Instance 配置信息、设备数据传输上报等功能,大大简化用户设计实现 Mapper 的开发工作,便于用户体验 KubeEdge 边缘计算平台带来的云原生设备管理体验。

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

▍支持边缘节点运行 Kubernetes 静态 Pod

新版本的 KubeEdge 支持了 Kubernetes 原生静态 Pod 能力,与 Kubernetes 中操作方式一致,用户可以在边缘主机的指定目录中,以 JSON 或者 YAML 的形式写入 Pod 的 Manifests 文件,Edged 会监控这个目录下的文件来创建/删除边缘静态 Pod,并在集群中创建镜像 Pod。

静态 Pod 默认目录是 /etc/kubeedge/manifests,您也可以通过修改 EdgeCore 配置的 staticPodPath 字段来指定目录。

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

▍支持更多的 Kubernetes 原生插件运行在边缘节点

v1.15.0 版本的 KubeEdge 支持更多原生插件在边缘节点上运行。KubeEdge 提供了高扩展性的 Kubernetes 原生非资源类 API 透传框架,满足了原生插件对此类 API 的依赖。插件可以从边缘节点的 MetaServer 中获取集群 version 等信息,MetaServer 将对请求进行数据缓存,保证边缘节点网络中断时仍能正常服务。

当前框架下,社区开发者将更容易的开放更多非资源类 API。开发者只需关注插件依赖的 API,而不需要考虑请求如何传递至边缘节点。

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

▍升级 Kubernetes 依赖到 v1.26

新版本将依赖的 Kubernetes 版本升级到 v1.26.7,您可以在云和边缘使用新版本的特性。

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

升级注意事项

  • 新版本 v1beta1 的 Device API不兼容 v1alpha1 版本,如果您需要在 KubeEdge v1.15.0 中使用设备管理特性,您需要更新 Device API 的 yaml 配置。

  • 如果您使用 containerd 作为边缘容器运行时,您需要将 containerd 版本升级到 v1.6.0 或者更高版本,KubeEdge v1.15.0 不再支持 containerd 1.5 以及更早的版本。

    参考:https://kubernetes.io/blog/2022/11/18/upcoming-changes-in-kubernetes-1-26/#cri-api-removal

  • 在 KubeEdge v1.14 中,EdgeCore 已经移除了对 dockershim 的支持,边缘运行时仅支持 remote 类型,并且使用 containerd 作为默认运行时。如果您想要继续使用 docker 作为边缘运行时,您需要安装 cri-dockerd,并且在启动 EdgeCore 过程中,设置 runtimeType=remote 以及 remote-runtime-endpoint=unix:///var/run/cri-dockerd.sock。

    参考:https://github.com/kubeedge/kubeedge/issues/4843

▍致谢

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

▍相关链接

[1] Windows 版本 EdgeCore 安装包:

https://github.com/kubeedge/kubeedge/releases/download/v1.15.0/kubeedge-v1.15.0-windows-amd64.tar.gz

[2] Release Notes:https://github.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.15.md

点击关注,第一时间了解华为云新鲜技术~

标签:Mapper,KubeEdge,v1.15,特性,边缘,版本,kubeedge
From: https://www.cnblogs.com/huaweiyun/p/17784801.html

相关文章

  • .NET 7新特性全面解析
    在2021年11月8日发布的.NET6当前已经广泛使用。微软团队已经开始着手为.NET7制定计划和新特性。本文将为您全面解析.NET7的新特性,并提供源代码示例。1.更好的性能.NET7将继续提高运行时性能,改进JIT编译器,减少内存分配,优化GC,以及提高ASP.NETCore和EntityFram......
  • .NET 7 为 C# 11和F# 7 带来了更好的性能和新特性
    2022年11月8日,.NET7正式发布了,从11月8号到10号,线上的.NETConf2022会议正在举行,可以通过https://www.dotnetconf.net/了解相关情况。微软现在节奏越来越快,相信很多人还没在生产上使用.NET6,7就发布了,先来看看都有什么新特性吧。.NET7为C#11/F#7带来......
  • Oracle Database 23c 新特性预览
    OracleDatabase23c新特性预览甲骨文云技术2022-11-18999在2022年10月18号的OracleCloudWorld大会上,Oracle宣布了令人期待的OracleDatabase23cBeta版。这是世界领先的融合数据库的最新版本,支持所有数据类型、任意工作负载和多种开发风格。Oracle提出了最新......
  • OSPF高级特性
    前言OSPF和IS-IS都是基于链路状态的内部网关路由协议,运行这两种协议的路由器通过同步LSDB,采用SPF算法计算最优路由。当网络拓扑发生变化时,OSPF和IS-IS支持多种快速收敛和保护机制,能够降低网络故障导致的流量丢失。,为了实现对路由表规模的控制,OSPF和IS-IS支持路由选路及路由信息的控......
  • 【C#9.0篇】Switch匹配模式新特性
    概述C#9.0中的switch匹配模式引入了许多新特性,其中一些特性是C#8.0中不存在的,比如以下特性:关系模式:可以使用关系运算符模式匹配+逻辑模式:可以使用模式匹配+逻辑模式(如and、or)来组合多个模式模式匹配+关系模式:可以使用模式匹配+关系运算符(如<、>、<=、>=、==、!=)默认的匹配......
  • 18_JDK8-17新特性
    ......
  • G1垃圾回收器特性
    G1具备以下几种特性1、并行与并发G1能充利用CPU、多核环境下的硬件优势,使用多个CPU(CPU或者CPU核心)来缩短Stop-The-World停顿时间。G1收集器可以通过并行和并发的方式让应用程序继续执行。2、分代收集虽然G1可以不需要其他收集器配合就能独立管理整个GC堆,但是还是保留了分代的概念。......
  • 深入了解 PostgreSQL:功能、特性和部署
    PostgreSQL,通常简称为Postgres,是一款强大且开源的关系型数据库管理系统(RDBMS),它在数据存储和处理方面提供了广泛的功能和灵活性。本文将详细介绍PostgreSQL的功能、特性以及如何部署和使用它。什么是PostgreSQL?PostgreSQL是一款开源的、免费的关系型数据库管理系统。它具有以下......
  • Kafka Broker一些特性
    4.1无状态的KafkaBroker:1.Broker没有副本机制,一旦broker宕机,该broker的消息将都不可用。2.Broker不保存订阅者的状态,由订阅者自己保存。3.无状态导致消息的删除成为难题(可能删除的消息正在被订阅),kafka采用基于时间的SLA(服务水平保证),消息保存一定时间(通常为7天)后会被删除。......
  • PHP 核心特性之匿名函数
    来源:http://www.shanhubei.com/archives/2814.html在匿名函数出现之前,所有的函数都需要先命名才能使用functionincrement($value){return$value+1;}array_map('increment',[1,2,3]);有的时候函数可能只需要使用一次,这时候使用匿名函数会使得代码更加简洁直观,......