Temperature demo 测试
本实例主要是部署了 基于树莓派的temperatrue 温度测量(由于树莓派不具备温度测量模块,故采用了自然累加的方式来产生温度变化)
一. 准备工作
1)准备好集群,-master: kubeedgecloud, -node01: ke-node2
PS. 大部分操作都在master节点上完成,包括mapper编写和development 下发
2)修改边缘节点的demo,使得温度计按时间随机生成温度
3)下载example的代码(自带)
git clone https://github.com/kubeedge/examples.git
二. Temperature-demo 代码修改
修改temperature-mapper/main.go中的代码,主要修改以下三部分:
1)注释硬件相关的代码
2)增加温度生成的代码(通过随机函数生成)
3)配置MQlTT服务器的地址
具体修改部分如下图所示:
1.注释硬件相关代码
2.配置MQTT服务器地址 --> broker --> localhost
三. 创建device-model
3.1 创建device model
cd /temperature-demo/crds
kubectl apply -f model.yaml
3.2 修改 instant.yaml内容,添加边缘节点 && 部署
kubectl apply -f install.yaml
四. 构建temperature-mapper镜像
docker build -t kubeedge-temperature-mapper:v1.0 .
ps. 注意不要忘记了末尾的“. ” 否则无法编译, -t 是指编译当前目录内容
然后将镜像上传到docker hub,在边缘节点(ke-node)获取image
vim deployement.yaml
修改deployment.yaml文件
- node节点 2.images镜像文件
五. 部署temperature-mapper
kubectl create -f deployment.yaml
观察返回信息变化:
kubectl get device temperature -o yaml
OR
kubectl get device temperature -o yaml | grep value .\ C
六. 一些小问题
1) deployement 一直 pending
原因:没有指定label造成的调度问题
解决方法: kubectl label name=
kubectl label ke-node2 name=ke-node2
2.Seed 报错,import math/rand package
- mosquitto未启动问题
本次在测试时,遇到kubeedge边缘节点Mqtt拒绝连接问题
connect error: Network Error : dial tcp 192.168.50.40:1883: connect: connection refused
原因:通过systemctl status mosquitto查看状态mosquitto没有启动
root@localhost:/kubeedge# systemctl status mosquitto
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
解决:systemctl start mosquitto
再次查看状态:
root@localhost:/kubeedge# systemctl status mosquitto
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-03-31 01:50:13 UTC; 3s ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Main PID: 1386 (mosquitto)
Tasks: 1
Memory: 564.0K
CPU: 26ms
CGroup: /system.slice/mosquitto.service
osquitto(8)
Main PID: 1386 (mosquitto)
Tasks: 1
Memory: 564.0K
CPU: 26ms
CGroup: /system.slice/mosquitto.service
└─1386 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf