KubeEdge安装部署

在前文kubeadm搭建k8s集群的基础上安装Kube Edge

再用前文制作的镜像创建一个虚拟机当做edge节点,没有的话,环境可以照着上一篇配一下,至于版本为什么用的1.6.2,因为现在最新1.7好多不兼容,后续要做实验
现在的兼容就是k8s版本1.19+KubeEdge1.6.2,然后才能被kubesphere支持

我的配置

192.168.80.10   k8s-master-lb #相当于ELB/SLB,若不是高可用集群,改IP为master01的IP
192.168.80.11	k8s-master01 
192.168.80.12	k8s-master02
192.168.80.13	k8s-master03
192.168.80.21	k8s-node01
192.168.80.22	k8s-node02

现在多加入一台edge01

192.168.80.25	k8s-edge01

在master01节点和edge01节点安装go

yum install wget -y
wget https://golang.google.cn/dl/go1.15.3.linux-amd64.tar.gz
tar zxvf go1.15.3.linux-amd64.tar.gz
mv go /usr/local/

vim /etc/profile在最结尾添加

export HOME=/root
export GOROOT=/usr/local/go
export GOPATH=/opt/idcus/go
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin

source /etc/profile
go version #查看是否生效

Cloud端

在master01节点上下载keadm1.6.2

wget https://github.com/kubeedge/kubeedge/releases/download/v1.6.2/keadm-v1.6.2-linux-amd64.tar.gz
tar -zxvf keadm-v1.6.2-linux-amd64.tar.gz

配置环境变量才能全局使用keadm命令

cp keadm /usr/local/sbin

说多了都是泪,由于国内要FQ,所以请自己准备好kubeedge文件,这步出现问题,大多是网络问题,可以自己去github下载好拖进来

mkdir /etc/kubeedge
cd /etc/kubeedge
wget https://github.com/kubeedge/kubeedge/releases/download/v1.6.2/kubeedge-v1.6.2-linux-amd64.tar.gz

使用keadm安装cloudcore,一遍不行,就多执行几遍,因为还要下载service文件,也是要FQ的问题

注意:这里的advertise-address为apiserver的IP地址,我apiserver配置了高可用,所以这里为192.168.80.10,如果没有配置高可用,那么这里改为你的master01的IP地址

keadm init --advertise-address="192.168.80.10" --kubeedge-version=1.6.2
[Run as service] start to download service file for cloudcore
[Run as service] success to download service file for cloudcore
kubeedge-v1.6.2-linux-amd64/
kubeedge-v1.6.2-linux-amd64/edge/
kubeedge-v1.6.2-linux-amd64/edge/edgecore
kubeedge-v1.6.2-linux-amd64/cloud/
kubeedge-v1.6.2-linux-amd64/cloud/csidriver/
kubeedge-v1.6.2-linux-amd64/cloud/csidriver/csidriver
kubeedge-v1.6.2-linux-amd64/cloud/admission/
kubeedge-v1.6.2-linux-amd64/cloud/admission/admission
kubeedge-v1.6.2-linux-amd64/cloud/cloudcore/
kubeedge-v1.6.2-linux-amd64/cloud/cloudcore/cloudcore
kubeedge-v1.6.2-linux-amd64/version

KubeEdge cloudcore is running, For logs visit:  /var/log/kubeedge/cloudcore.log
CloudCore started

获取token

keadm gettoken
1a2c1717df205f2f39b2257c00845c1cacc9772fc0f7ac0a8b409ee38cb6dcb4.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Mjg4NjQxNDF9.qcJba63gHDNZerT5txRvuUmqkgEG-VOf1gM-xh0g1Ho

如果过程有错,重新配置的命令如下

keadm reset

Edge端

将keadm安装包从master节点传到edge节点

scp keadm-v1.6.2-linux-amd64.tar.gz 192.168.80.25:/root

解压,配置环境变量

tar -zxvf keadm-v1.6.2-linux-amd64.tar.gz
cp keadm-v1.6.2-linux-amd64/keadm/keadm /usr/local/sbin

将kube edge安装包从master节点传到edge节点

mkdir /etc/kubeedge
scp /etc/kubeedge/kubeedge-v1.6.2-linux-amd64.tar.gz 192.168.80.25:/etc/kubeedge

加入CloudCore,同样,一遍不行,就多执行几遍,因为还要下载service文件,也是要FQ的问题

keadm join --cloudcore-ipport=192.168.80.10:10000 --edgenode-name=edge01 --kubeedge-version=1.6.2 --token=1a2c1717df205f2f39b2257c00845c1cacc9772fc0f7ac0a8b409ee38cb6dcb4.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Mjg4NjQxNDF9.qcJba63gHDNZerT5txRvuUmqkgEG-VOf1gM-xh0g1Ho
[Run as service] start to download service file for edgecore
[Run as service] success to download service file for edgecore
kubeedge-v1.6.2-linux-amd64/
kubeedge-v1.6.2-linux-amd64/edge/
kubeedge-v1.6.2-linux-amd64/edge/edgecore
kubeedge-v1.6.2-linux-amd64/cloud/
kubeedge-v1.6.2-linux-amd64/cloud/csidriver/
kubeedge-v1.6.2-linux-amd64/cloud/csidriver/csidriver
kubeedge-v1.6.2-linux-amd64/cloud/admission/
kubeedge-v1.6.2-linux-amd64/cloud/admission/admission
kubeedge-v1.6.2-linux-amd64/cloud/cloudcore/
kubeedge-v1.6.2-linux-amd64/cloud/cloudcore/cloudcore
kubeedge-v1.6.2-linux-amd64/version

KubeEdge edgecore is running, For logs visit: journalctl -u edgecore.service -b

从master节点查看是否加入成功

$ kubectl get nodes -o wide
$ kubectl get nodes
NAME           STATUS   ROLES        AGE     VERSION
edge01         Ready    agent,edge   9m26s   v1.19.3-kubeedge-v1.6.2
k8s-master01   Ready    master       4d      v1.19.9
k8s-master02   Ready    master       3d23h   v1.19.9
k8s-master03   Ready    master       3d23h   v1.19.9
k8s-node01     Ready    <none>       4d      v1.19.9
k8s-node02     Ready    <none>       3d23h   v1.19.9

若edge节点没有出现,则去排除错误

在edge节点

journalctl -u edgecore.service -b

我这里显示

Aug 12 22:29:23 k8s-edge01 edgecore[1407]: E0812 22:29:23.433701    1407 edged.go:264] init new edged error, misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
Aug 12 22:29:23 k8s-edge01 systemd[1]: edgecore.service: main process exited, code=exited, status=1/FAILURE
Aug 12 22:29:23 k8s-edge01 systemd[1]: Unit edgecore.service entered failed state.
Aug 12 22:29:23 k8s-edge01 systemd[1]: edgecore.service failed.

说明需要把docker的驱动改为cgroupfs

vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=cgroupfs"]
}

重启docker,然后查看

systemctl daemon-reload
systemctl restart docker
docker info

重新加入

keadm reset
keadm join --cloudcore-ipport=192.168.80.10:10000 --edgenode-name=edge01 --kubeedge-version=1.6.2 --token=1a2c1717df205f2f39b2257c00845c1cacc9772fc0f7ac0a8b409ee38cb6dcb4.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Mjg4NjQxNDF9.qcJba63gHDNZerT5txRvuUmqkgEG-VOf1gM-xh0g1Ho

再去master01节点执行命令查看,显示成功

posted @ 2021-08-12 23:19  请务必优秀  阅读(2520)  评论(0编辑  收藏  举报