KubeEdge部署
准备工作
首先要配置好Kubernetes集群
使用VMware虚拟机搭建Kubernetes的Master和Worker节点 最全教程(1)准备工作
在Master节点要启动Kubernetes集群,即使用kubeadm init命令,可以看上面教程(2)中的前半部分,在worker节点上不要加入集群,不要使用kubeadm join命令,因为我们要用kubeedge来加入。
Master节点配置
进入GitHub的release页面复制keadm的下载地址,使用wget命令下载:
wget https://github.com/kubeedge/kubeedge/releases/download/v1.3.1/keadm-v1.3.1-linux-amd64.tar.gz
解压下载好的文件
tar -zxvf keadm-v1.3.1-linux-amd64.tar.gz
然后进入解压后的目录
cd keadm-v1.3.1-linux-amd64
cd keadm/
然后运行
./keadm init
我这里出现了这样的错误:
就是GitHub连不上,但是我明明可以访问GitHub,我就手动执行了一下
wget -k --no-check-certificate --progress=bar:force https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/devices/devices_v1alpha1_device.yaml
显示下载成功,然后又执行了
./keadm init
这次就正常了,等待下载完成后,结果如下:
CloudCore成功启动。
使用
./keadm gettoken
获取token
Edge节点配置
下载keadm,与上面Master的下载方法相同
进入GitHub的release页面复制keadm的下载地址,使用wget命令下载:
wget https://github.com/kubeedge/kubeedge/releases/download/v1.3.1/keadm-v1.3.1-linux-amd64.tar.gz
解压下载好的文件
tar -zxvf keadm-v1.3.1-linux-amd64.tar.gz
然后进入解压后的目录
cd keadm-v1.3.1-linux-amd64
cd keadm/
然后这里就和Master端不一样了,需要运行
#<ip>是master的ip,<token>就是上面获取的token
./keadm join --cloudcore-ipport=<ip>:10000 --token=<token>
我这里是:
./keadm join --cloudcore-ipport=192.168.224.128:10000 --token=d1d954a9f2e6a326124c4b4c1fa06106dd889705cdaac8d473ddae5e9cdb1894.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTQ5NjUwMTF9.luIKz7WTaaYkA9OKxHaBkU7QmH1MeJzquI1iiwsJY4o
然后又要经过一段漫长的等待下载。就启动成功了
在Master上验证是否成功,使用
kubectl get nodes -owide
如果出现版本中带有kubeedge的node,则说明部署成功。
否则可以去/var/log/kubeedge/edgecore.log中查看日志。
我第一次失败的原因是Docker中Cgroup Driver的问题,因为kubeedge的默认驱动为cgroupfs,而我的docker以前把默认驱动改成了systemd,所以无法启动。解决方法是修改/etc/docker/daemon.json,把 "exec-opts": ["native.cgroupdriver=systemd"]删掉。