乐趣区

关于程序员:用户手册遥测服务之推送至-MinIO

创立 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

usernamepassword域中填写在 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/…

本文由边无际受权公布

退出移动版