树莓派raspberrypi上先安装好Docker
树莓派raspberrypi当边缘节点在线加入kubeedge集群
kubeedge官网下载keadm: https://github.com/kubeedge/kubeedge/releases
树莓派是arm架构的,注意不是arm64位, 下载包: keadm-v1.5.0-linux-arm.tar.gz
#查看树莓派内核版本
uname -r
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
#或者使用 uname -a
#在cloudcore主机上,即k8s master节点, 获取kubeedge的token, 执行命令获取token
./keadm-v1.6.1-linux-arm64/keadm/keadm gettoken
# 树莓派上执行,解压
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主机IP和端口
--cgroupdriver=systemd 使用systemd驱动, 在/etc/docker/daemon.json配置文件中添加: "exec-opts": ["native.cgroupdriver=systemd"]
--edgenode-name=raspberrypi 节点名称
--kubeedge-version=1.5.0 kubeedge版本
--token 在cloudcore主机上获取的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
添加在同一行的最后面,接着内容后空格后添加, 注意:不要换行添加
#重启机器配置生效
reboot
配置edgecore开机自启动服务
#查看edgecore启动情况
ps aux|grep edgecore
#查看启动状态
sudo systemctl status edgecore
#查看docker开机启动状态 enabled:开启, disabled:关闭
systemctl is-enabled edgecore
#设置开机自启动
systemctl enable edgecore
网友评论