Shifu基本架构
Last updated
Last updated
Shifu是一个Kubernetes原生的平台,它的所有组件都以Pod的形式运行。下图是Shifu架构的概览:
Shifu定义了一个CRD EdgeDevice
,它描述了一个连接到Shifu的实际设备的各项信息。
每一个EdgeDevice拥有两个部分: EdgeDeviceSpec
和 EdgeDeviceStatus
. 在EdgeDeviceStatus
当中,最主要的部分是EdgeDevicePhase
.
EdgeDeviceSpec包含了设备的基本信息。它拥有四个元素:
EdgeDevicePhase定义了设备的当前状态:
EdgeDevice定义了名为DeviceShifu
的Kubernetes Pod. DeviceShifu是一个实际设备的数字化表示,或数字孪生
。
每一个DeviceShifu都与一个实际设备相关联。用户与DeviceShifu进行交互,就可以实现与实际设备的交互。
南向 - DeviceShifu接收用户的请求,对请求进行转换并发送到设备。 北向 - DeviceShifu收集设备数据,进行转换并发送给用户端。
Shifu在持续加入新的工具类服务来保证不同协议和驱动的兼容。
MQTT Broker被用来帮助MQTT信息的订阅和发布。当前,Shifu使用了Mosquitto来实现兼容。
RTSP Client保证了流媒体信息的传输。
Siemens S7 Suite支持了西门子S7系列PLC的操作。当前,Shifu使用了Snap7来实现兼容。
HTTP to SSH driver stub使得Shifu可以允许用户任意添加新的命令行驱动。 参见快速上手:添加新的命令行驱动。