推送至 TDengine
创建TelemetryService Yaml 文件
apiVersion: shifu.edgenesis.io/v1alpha1
kind: TelemetryService
metadata:
name: push-endpoint-1
namespace: devices
spec:
telemetryServiceEndpoint: http://telemetryservice.shifu-service.svc.cluster.local
serviceSettings:
SQLSetting:
serverAddress: 192.168.14.163:6041
secret: my-secret
dbName: shifu
dbTable: testTable2
dbtype: TDengine
telemetryServiceEndpoint
是telemetryService的端点地址serverAddress
表示数据库地址username
表示你的数据库用户名secret
表示存储你的数据库用户名与密码的Secret
名字dbName
表示数据库名dbTable
表示数据库表(table)名dbtype
表示数据库类型
创建Secret
以上面的secret
中内容为名创建Secret
,在username
和password
域中分别填写数据库用户名与密码。
kubectl create secret generic my-secret --from-literal=username=your_username --from-literal=password=your_password -n devices
备注
如果你有多个遥测服务,你可以把它们写在一个文件里,用---
进行分割。
编辑Configmap Yaml文件
# configmap.yaml
data:
telemetries: |
telemetries:
device_health1:
properties:
instruction: status
pushSettings:
telemetryCollectionService: push-endpoint-1 # Edit it to the name same with TelemetryService's name
然后编辑 Configmap.yaml 文件,确保 telemetryCollectionService 的值与你在上一步创建的遥测服务的名称相同。
再次部署deviceShifu
然后你需要再次部署 deviceShifu ,这样TelemetryService就会将采集到的数据推送到TDengine中。
例子
下面是一个例子,帮助你更好地了解如何使用它。
https://github.com/Edgenesis/shifu/tree/main/examples/tdengineTelemetryService/deployment