kubeedge-temperature-demo 示例

本文是基于github上提供的kubeedge-temperature-demo进行的。
由于没有硬件设备,所以本示例中注释了硬件相关的代码,并通过随机生成数字的方式来实现temperature的变化。

1、准备工作

1)kubeedge v1.2.0版本安装成功,并正常运行。
2)本文接下来的验证将使用边缘节点bluejoy-jing进行(如果你参考本文进行相关验证,后续边缘节点名称的配置需要根据你的实际情况进行更改)。
在这里插入图片描述
3)从github上clone示例代码

mkdir /home/bluejoy/kubeedge/kubeedge-example/
git clone https://github.com/kubeedge/examples.git

2、temperature-mapper代码的修改

修改temperature-mapper/main.go中的代码,主要修改以下三部分:
1)注释硬件相关的代码
2)增加温度生成的代码(通过随机函数生成)
3)配置MQTT服务器的地址
具体修改部分如下图所示:
在这里插入图片描述在这里插入图片描述

3、创建device model和device

3.1 创建device model

cd /home/bluejoy/kubeedge/kubeedge-example/examples/kubeedge-temperature-demo/crds
kubectl apply -f devicemodel.yaml

3.2 修改device.yaml文件的边缘节点名称

vim device.yaml
apiVersion: devices.kubeedge.io/v1alpha1
kind: Device
metadata:
  name: temperature
  labels:
    description: 'temperature'
    manufacturer: 'test'
spec:
  deviceModelRef:
    name: temperature-model
  nodeSelector:
    nodeSelectorTerms:
      - matchExpressions:
          - key: 'name'
            operator: In
            values:
              - bluejoy-jing
status:
  twins:
    - propertyName: temperature-status
      desired:
        metadata:
          type: string
        value: ''

3.3 部署设备

kubectl apply -f device.yaml

4、构建temperature-mapper镜像

4.1 构建temperature-mapper镜像 (master节点)

cd /home/bluejoy/kubeedge/kubeedge-example/examples/kubeedge-temperature-demo/
docker build -t kubeedge-temperature-mapper:test-0629 .
docker save -o kubeedge-temperature-mapper.tar kubeedge-temperature-mapper:test-0629

4.2 拷贝temperature-mapper镜像到边缘节点bluejoy-jing (master节点)

scp kubeedge-temperature-mapper.tar root@bluejoy-jing:/home/bluejoy/

4.3 load temperature-mapper镜像(edge节点)

docker load -i kubeedge-temperature-mapper.tar

5、部署temperature mapper(master节点)

5.1 修改deployment.yaml文件

cd /home/bluejoy/kubeedge/kubeedge-example/examples/kubeedge-temperature-demo/
vim deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: temperature-mapper
  labels:
    app: temperature
spec:
  replicas: 1
  selector:
    matchLabels:
      app: temperature
  template:
    metadata:
      labels:
        app: temperature
    spec:
      hostNetwork: true
      nodeSelector:
        name: "bluejoy-jing"
      containers:
      - name: temperature
        image: kubeedge-temperature-mapper:test-0629
        imagePullPolicy: IfNotPresent
        securityContext:
          privileged: true

根据你的实际情况修改如下两个地方:
a. 边缘节点名称
b. 镜像名称

5.2 部署temperature-mapper

kubectl create -f deployment.yaml

6、观察temperature的变化情况(master节点)

多次执行以下命令,将会看到temperature的变化:

kubectl get device temperature -o yaml

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值