樹莓派raspberrypi上先安裝好Docker
樹莓派raspberrypi當(dāng)邊緣節(jié)點在線加入kubeedge集群
kubeedge官網(wǎng)下載keadm: https://github.com/kubeedge/kubeedge/releases
樹莓派是arm架構(gòu)的,注意不是arm64位, 下載包: keadm-v1.5.0-linux-arm.tar.gz
#查看樹莓派內(nèi)核版本
uname -r
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
#或者使用 uname -a
#在cloudcore主機(jī)上,即k8s master節(jié)點, 獲取kubeedge的token, 執(zhí)行命令獲取token
./keadm-v1.6.1-linux-arm64/keadm/keadm gettoken
# 樹莓派上執(zhí)行,解壓
tar -zxvf keadm-v1.5.0-linux-arm.tar.gz
#加入kubeedge集群管理
./keadm-v1.5.0-linux-arm/keadm/keadm join --cloudcore-ipport=192.168.0.5:10000 --cgroupdriver=systemd --edgenode-name=raspberrypi --kubeedge-version=1.5.0 --token=3cca11140cab1c229d9cfcb9fec5b56fc46d8a61d5607e6d28a1df949d228136.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MTI0MjMxNzF9.lW1VhW-II45HZ9Hx3cROi2Q2zp8MNEcjmgh1I4jZZY0
#需要等待, 它會在線安裝mosquitto MQTT, 然后從github下載kubeedge的包,訪問github比較慢,后面的博客我會講到離線部署kubeedge
--cloudcore-ipport=192.168.0.5:10000 cloudcore主機(jī)IP和端口
--cgroupdriver=systemd 使用systemd驅(qū)動, 在/etc/docker/daemon.json配置文件中添加: "exec-opts": ["native.cgroupdriver=systemd"]
--edgenode-name=raspberrypi 節(jié)點名稱
--kubeedge-version=1.5.0 kubeedge版本
--token 在cloudcore主機(jī)上獲取的token
解決error: system validation failed - Following Cgroup subsystem not mounted: [memory]
#上面加入kubeedge集群管理, 報錯:
Failed to start container manager, err: system validation failed - Following Cgroup subsystem not mounted: [memory]
E0125 16:42:09.131414 1655 edged.go:291] initialize module error: system validation failed - Following Cgroup subsystem not mounted: [memory]
#解決問題
#修改/boot/cmdline.txt
sudo vim /boot/cmdline.txt
cgroup_enable=memory cgroup_memory=1
添加在同一行的最后面,接著內(nèi)容后空格后添加, 注意:不要換行添加
#重啟機(jī)器配置生效
reboot
配置edgecore開機(jī)自啟動服務(wù)
#查看edgecore啟動情況
ps aux|grep edgecore
#查看啟動狀態(tài)
sudo systemctl status edgecore
#查看docker開機(jī)啟動狀態(tài) enabled:開啟, disabled:關(guān)閉
systemctl is-enabled edgecore
#設(shè)置開機(jī)自啟動
systemctl enable edgecore