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節點執行命令查看,顯示成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM