Kubeedge架构介绍

KubeEdge这个架构主要是分了云、边、端三部分

云上就是KubeEdge的控制面,边就是KubeEdge的边缘节点

端就是跑了一些端侧设备

云上是一个Kubernetes的master,是没有做过改动的原生的Kubernetes控制面

后边我们加了一个组件叫CloudCore

它云上的组件主要是会拿一些Kubernetes控制面上的东西

通过EdgeController和DeviceController做一些处理,然后通过下边的CloudHub

CloudHub主要是跟边端通信的

边端有个EdgeHub和Cloud Hub通信,然后把数据拿下来
在这里插入图片描述
边端是主要做了一个应用管理和设备管理的能力

应用管理左边会有一个Edged

右边有DeviceTwin、EventBus

分别是应用管理和设备管理

DataStore就是我们说的本地自治的能力

组件介绍:

CloudHub

CloudHub是cloudcore 的一个模块,是Controller(EdgeController和DeviceController)和Edge端之间的中介

它同时支持基于web-socket 的连接以及QUIC协议访问。

EdgeHub可以选择其中一种协议来访问CloudHub。CloudHub 的功能是实现边缘和控制器之间的通信。

边缘的连接(通过EdgeHub模块)是通过websocket连接上的 HTTP 完成的。

对于内部通信,它直接与控制器通信。

发送到CloudHub的所有请求都是context对象的请求,该对象与标记为其nodeID的事件对象的映射通道一起存储。

CloudHub执行的主要功能

获取消息context并为事件创建ChannelQ

通过websocket创建http连接

服务websocket连接

从边缘节点读取消息

将消息写入边缘节点

向Controller发布消息

DeviceController(设备控制器)

DeviceController是 KubeEdge 的云组件,负责设备管理。

KubeEdge 中的设备管理是通过使用 Kubernetes 自定义资源定义 (CRD)来描述设备元数据/状态和设备控制器来在边缘和云之间同步这些设备更新来实现的。

DeviceController启动两个独立的 goroutines,称为upstream controller和downstream controller。

DeviceController利用设备模型和设备实例来实现设备管理

设备模型:Device model描述设备和属性访问者公开的设备属性以访问这些属性。设备模型就像一个可重复使用的模板,使用它可以创建和管理许多设备。

设备实例:一个Device instance代表一个实际的设备对象。它就像一个实例化Device model并引用模型中定义的属性。

DeviceController主要功能

upstream controller

通过device twin将设备更新从边缘节点同步到云端。

downstream controller

通过在 K8S API 从云端更新边缘节点上的设备属性。

EdgeHub

EdgeHub负责与云中端的CloudHub组件进行交互。它使用 websocket 连接或使用QUIC协议连接到CloudHub。支持同步云端资源更新、报告边缘端主机和设备状态变化等功能。

EdgeHub 执行的主要功能

Keep Alive
发布客户信息
边端路由到云端
云端路由到边缘

DeviceTwin (设备孪生)

DeviceTwin 模块负责存储设备状态、处理设备属性、处理DeviceTwin操作、在边缘设备和边缘节点之间创建成员、将设备状态同步到云端以及在边端节点和云之间同步DeviceTwin信息。

它还为应用程序提供查询接口。DeviceTwin由四个子模块(即成员模块、通信模块、设备模块和设备孪生模块)组成。

以下是设备双控制器执行的功能:

将元数据同步到db(Sqlite )和从db(Sqlite )中获取数据

注册和启动子模块

向子模块分发消息

健康检查

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值