安装KubeEdge
下载 keadm(云边共用)
keadm主要用于 kubeedge 管理、安装和使用
官方发行版本链接:Release KubeEdge v1.9.2 release · kubeedge/kubeedge (github.com)
#查看自己的架构
uname -a
#下载对应版本以及架构
wget https://github.com/kubeedge/kubeedge/releases/download/v1.9.2/keadm-v1.9.2-linux-amd64.tar.gz
#解压
tar zxvf keadm-v1.9.2-linux-amd64.tar.gz
#添加执行权限
chmod +x keadm-v1.9.2-linux-amd64/keadm/keadm
#移动目录
cp keadm-v1.9.2-linux-amd64/keadm/keadm /usr/local/bin/
启动 KubeEdge(云端)
重置环境(第一次安装时跳过)
keadm reset
启动 cloudcore
通过 keadm 启动
# 注意修改--advertise-address的ip地址
keadm init --advertise-address=114.212.81.11 --kubeedge-version=1.9.2
# 打开转发路由
kubectl get cm tunnelport -n kubeedge -o yaml
# 找到10350 或者 10351
# 设置CLOUDCOREIPS
export CLOUDCOREIPS=xxx.xxx.xxx.xxx
# 设置dport(内容对应之前获取的tunnelport)
iptables -t nat -A OUTPUT -p tcp --dport 10351 -j DNAT --to $CLOUDCOREIPS:10003
cd /etc/kubeedge/
# 或者从网站下载 https://github.com/kubeedge/kubeedge/blob/master/build/tools/certgen.sh
wget https://raw.githubusercontent.com/kubeedge/kubeedge/refs/heads/master/build/tools/certgen.sh
bash certgen.sh stream
cloudcore 配置
vim /etc/kubeedge/config/cloudcore.yaml
# 修改 cloudcore.yaml 内容
modules:
..
cloudStream:
enable: true
streamPort: 10003
..
dynamicController:
enable: true
重启 cloudcore:
sudo systemctl restart cloudcore.service
如果直接重启cloudcore失败,解决方法如下:
# 将生成的cloudcore.service放到systemctl管理的文件夹下
cp /etc/kubeedge/cloudcore.service /etc/systemd/system
使用 journalctl -u cloudcore.service -xe
查看cloudcore是否正常运行且没有报错
加入KubeEdge集群(边端)
可能出现 问题五:edgecore-符号链接已存在
如果 keadm join
失败可以从 keadm reset
开始重新尝试
重置环境(第一次安装时跳过)
# 重启
keadm reset
# 重新加入时,报错存在文件夹,直接删除
rm -rf /etc/kubeedge
# docker容器占用(通常是mqtt)
docker ps -a
docker stop mqtt
docker rm mqtt
启动 edgecore
启动edgecore时,需要在云端获取token:
keadm gettoken
在边端执行:
# 注意这里是要加入master的IP地址,token是master上获取的
keadm join --cloudcore-ipport=114.212.81.11:10000 --kubeedge-version=1.9.2 --token=9e1832528ae701aba2c4f7dfb49183ab2487e874c8090e68c19c95880cd93b50.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTk1NjU4MzF9.1B4su4QwvQy_ZCPs-PIyDT9ixsDozfN1oG4vX59tKDs
可能出现 问题二十五:边端join报错
# 加入后,先查看信息
journalctl -u edgecore.service -f