本文根据KubeEdge官方gitHub中的keadm工具部署KubeEdge(version=1.7.2)
1 实验环境
1.1 环境
云服务器Ubuntu 18.04.3 LTS
边缘服务器Ubuntu Ubuntu 18.04.5 LTS
注意事项:本安装教程假定已在云端安装好k8s集群
1.2 依赖
golang 1.17.1
k8s v1.18.4
mosquitto:直接通过apt-get安装即可
2 安装
2.1 下载keadm并解压
使用命令下载
wget https://github.com/kubeedge/kubeedge/releases/download/v1.7.2/keadm-v1.7.2-linux-amd64.tar.gz
如果网络状况不好,可提前下载好
https://github.com/kubeedge/kubeedge/releases
笔者选择的版本为:
笔者的下载目录为/keadm
使用如下命令解压到当前文件夹下,
tar -zxvf keadm-v1.7.2-linux-amd64.tar.gz
2.2 设置云端
注意:默认情况下需要开放10000,10002端口
进入到keadm命令,
在集群节点使用如下命令,将安装cloudcore,生成证书并安装CRD,–advertise-address指定云端的公开地址(边缘端可ping通)
./keadm init --advertise-address=10.168.59.111 --kube-config=$HOME/.kube/config --kubeedge-version=1.7.2
使用此命令会从gitHub上下载很多文件,网络有问题的用户,建议提前下载好,放置/etc/kubeedge目录下。
F0608 11:40:15.689702 5530 keadm.go:27] failed to exec 'bash -c cd /etc/kubeedge/crds/devices && wget -k --no-check-certificate --progress=bar:force https://raw.githubusercontent.com/kubeedge/kubeedge/release-1.7/build/crds/devices/devices_v1alpha2_device.yaml', err: --2021-06-08 11:39:54-- https://raw.githubusercontent.com/kubeedge/kubeedge/release-1.7/build/crds/devices/devices_v1alpha2_device.yaml
类似这种报错都是文件没有下载下来...
用红框标记的文件可以提前从gitHub上下载好,
kubeedge-v1.7.2-linux-amd64.tar.gz 文件位置https://github.com/kubeedge/kubeedge/releases
cloudcore.service在源码目录,先选择对应版本下载源码
crds目录,里面是kubeedge需要的yaml文件
运行init后,查看日志是否报错,出现如下状况证明安装成功。这里笔者生成证书时,出现错误,自己手动生成证书(虽成功启动,但边缘节点一直加入不了集群),踩了很多坑。采坑记录在后面
使用如下命令获取边缘节点加入集群的token
./keadm gettoken
至此云端节点部分已经安装完毕。
2.3 设置边缘端
同理先下载keadm,解压,使用如下命令加入到集群
./keadm join --cloudcore-ipport=10.168.59.111:10000 --kubeedge-version=1.7.2 --token=云端生成的token
这里也可能会因为网络原因下载失败,可以将文件提前下载好,创建/etc/kubeedge目录,将提前准备好的文件放入即可,边缘端所需文件如下,其余文件会自动生成。
执行完毕后使用如下命令,查看是否报错
journalctl -u edgecore.service -f
出现如下信息,即安装成功,这里笔者又因为证书问题,边缘节点加入集群失败…
在边缘节点使用如下命令,查看节点状态,
kubectl get nodes
祝各位安装顺利!!!
2.4重置Kubeedge
./keadm reset
3 采坑记录
3.1 二进制部署
官方建议使用keadm部署,笔者使用二进制失败了
3.2 证书问题
云端生成证书失败!
边缘节点加入云节点失败!
目前的版本都不需要自己生成证书,如果遇到此类问题,建议删除之前的所有文件,重来一遍!!!