deviceShifu Deployment
apiVersion: apps/v1
import "k8s.io/api/apps/v1"
Deployment
Deployment under the Shifu architecture is a Kubernetes-native Deployment, which represents a digital twin in Shifu that allows us to update Pods declaratively.
- apiVersion: apps/v1
- kind: Deployment
- metadata
Kubernetes ObjectMeta under metadata standards. - spec
spec describes the expected behavior of a Deployment.
General Configuration for Deviceshifu Deployment
- spec.template.spec.containers[0].env
- EDGEDEVICE_NAME (string)
name of the EdgeDevice to which DeviceShifu corresponds to. - EDGEDEVICE_NAMESPACE (string)
namespace of the EdgeDevice corresponding to DeviceShifu.
- EDGEDEVICE_NAME (string)
- spec.template.spec.volumes[0].configMap
- volume
- name
name of the ConfigMap to be mounted. - configMap
name of the DeviceShifu configuration ConfigMap.- name (string)
- name
- volume
- spec.template.spec.containers[0].volumeMounts[].name
- volumeMount
- name (string)
name of the ConfigMap to be mounted.
- name (string)
- mountPath (string)
path of the mounted ConfigMap, which has to be/etc/edgedevice/config
.
- volumeMount
- spec.template.spec.serviceAccountName (string)
service account name used by DeviceShifu to update EdgeDevice information, which has to beedgedevice-sa
OPC UA DeviceShifu Deployment
For a detailed example, please refer to https://github.com/Edgenesis/shifu/tree/main/examples/opcuaDeviceShifu.
- spec.template.spec.volumes[].configMap
- volume
- name
name of the ConfigMap to be mounted. - configMap
name of the ConfigMap of the OPC UA certificate. - name (string)
- name
- volume
- spec.template.spec.containers[0].volumeMounts[].name
- volumeMount
- name (string)
name of the ConfigMap to be mounted. - mountPath (string)
path of the mounted ConfigMap, which has to be/etc/edgedevice/certificate
.
- name (string)
- volumeMount
Siemens PLC DeviceShifu Deployment
For a detailed example, please refer to https://github.com/Edgenesis/shifu/tree/main/examples/siemensPLCDeviceShifu.
- spec.template.spec.containers[1].image
- name (string)
driver image of the Siemens PLC, which has to beedgehub/plc-device:v0.0.1
(for now).
- name (string)
- spec.template.spec.containers[1].env
- PLC_ADDRESS (string)
IP address of the PLC, e.g.192.168.0.1
. - PLC_RACK (string)
RACK value of the PLC. - PLC_SLOT (string)
SLOT value of the PLC. - PLC_CONTAINER_PORT
port of the PLC drive container, which has to be11111
(for now).
- PLC_ADDRESS (string)
RTSP DeviceShifu Deployment
For a detailed example, please refer to https://github.com/Edgenesis/shifu/tree/main/examples/rtspDeviceShifu
- spec.template.spec.containers[1].image
- name (string)
driver image for the RTSP camera, which has to beedgehub/camera-python:v0.0.1
(for now).
- name (string)
- spec.template.spec.containers[1].env
- IP_CAMERA_ADDRESS (string)
IP address of the camera,192.168.0.1
- IP_CAMERA_USERNAME (string)
user name of the camera RTSP stream. - IP_CAMERA_PASSWORD (string)
password for the camera RTSP stream. - IP_CAMERA_CONTAINER_PORT
port of the RTSP camera driver container, which has to be
11111
(for now).
- IP_CAMERA_ADDRESS (string)