一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第28天,点击查看活动详情。
KubeEdge通过Kubernetes crd和与所使用的设备相对应的设备映射器(device Mapper)来支持设备管理。目前,我们通过设备控制器和设备孪生模块管理云中的设备,并在边缘节点和云之间同步设备更新。
Device Model
设备模型描述了设备和属性访问器公开的设备属性,以访问这些属性。设备模型就像一个可重用的模板,可以使用它创建和管理许多设备。
Device Instance
设备实例代表一个实际的设备对象。它类似于设备模型的实例化,并引用模型中定义的属性。设备规格是静态的,而设备状态包含动态变化的数据,比如设备属性的期望状态和设备报告的状态。
Device Mapper
Mapper是一个用于连接和控制设备的应用程序。mapper的职责如下:
- 扫描并连接设备。
- 报告设备双属性的实际状态。
- 将device-twin的预期状态映射到实际状态。
- 从设备收集遥测数据。
- 将设备的读数转换为KubeEdge接受的格式。
- 对设备进行动作调度。
- 检查设备健康状态
Device CRD 的用法
- 在云节点中创建设备模型。
- 在云节点中创建一个设备实例。设备实例的创建还将导致配置映射的创建,该配置映射将包含mapper应用程序所需的设备信息。配置映射的名称如下:配置映射的更新是由设备控制器内部处理的。
- 运行对应于协议的映射程序。
- 编辑步骤2中创建的设备实例yaml的状态部分,并应用yaml来更改设备双胞胎的状态。这种变化将反映在边缘,通过设备控制器和设备孪生模块。基于边缘的设备孪生的更新值,映射器将能够在设备上执行其操作。
- 设备双胞胎报告的值由位于边缘的映射程序更新,这些数据由设备控制器同步回云。用户可以通过检查他的设备实例对象来查看云上的更新。