创立 TelemetryService Yaml 文件
#telemetry_service.yaml
apiVersion: shifu.edgenesis.io/v1alpha1
kind: TelemetryService
metadata:
name: push-file-mp4
namespace: devices
spec:
telemetrySeriveEndpoint: http://telemetryservice.shifu-service.svc.cluster.local
serviceSettings:
MinIOSetting:
# MinIO 服务应用的 Secret,或者你能够指定 AccessKey 和 SecretKey
Secret: minio-secret
# deviceShifu 发送给 TelemetryService 的申请的超时工夫
RequestTimeoutMS: 2500
# 你要上传到的 Bucket
Bucket: test-bucket
# 上传的文件后缀名
FileExtension: mp4
# MinIO 服务的地址
ServerAddress: minio.data.svc.cluster.local:9000
创立 Secret
在 username
和password
域中填写在 MinIO GUI 中创立的 AccessId 和 AccessKey,或者间接填写装置 MinIO 时指定的用户名和明码。
kubectl create secret generic minio-secret --from-literal=username=your_username --from-literal=password=your_password -n devices
备注
如果你有多个遥测服务,你能够把它们写在一个文件里,用 — 进行宰割。
编辑 Configmap Yaml 文件
# configmap.yaml
data:
telemetries: |
telemetrySettings:
# 每次遥测服务的间隔时间
telemetryUpdateIntervalInMilliseconds: 10000
# shifuDevice 从 edgeDevice 取得文件内容的申请的超时工夫
telemetryTimeoutInMilliseconds: 2500
telemetries:
push-file:
properties:
# 拜访你的 edgeDevice 的这个办法, 取得要发送给 TelemetryService 的数据
instruction: get_file_mp4
pushSettings:
# 将其批改为你刚创立 TelemetryService 的名字
telemetryCollectionService: push-file-mp4
再次部署 deviceShifu
而后你须要再次部署 deviceShifu,这样 TelemetryService 就会将采集到的文件内容存到 MinIO 中。文件名会按 {device-name}/{time(RFC3339)}.{file-extension}
的格局存入对应的 Bucket 内。
例子
上面是一个例子,帮忙你更好地理解如何应用它。如果你想测试能够在本地运行 mockdevice.go 而后批改 edgedevice.yaml 中的 address,改为本人本地的 IP 即可。
https://github.com/Edgenesis/…
本文由边无际受权公布