安装KubeEdge时master服务器一要要注意k8s的版本!!,我之前k8s版本是1.15,一直出问题,然后把k8s版本更新到1.22,一下子就搞定了

(我的其他文章有详细的k8s安装包含docker安装部署,以及bug持续更新ing,有兴趣可以去看看)
1.cloud需要先装k8s,docker
1.edge需要先装docker,不要装k8s!!!
所有主机关闭防火墙

sudo systemctl stop ufw
sudo systemctl disable ufw

所有主机一定要关闭swap,否则会导致kubelet无法启动

# 查看swap分区情况
sudo swapon -s
# 临时关闭swap
sudo swapoff -a
# 永久禁用swap分区
sudo vi /etc/fstab
# 禁用swap分区那一行

master:192.168.40.2
edge:192.168.40.4

一:cloud端安装(master:192.168.40.2)

准备下载包

wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.0/keadm-v1.10.0-linux-amd64.tar.gz
# 同时提前下载kubeedge压缩包和校验文件
wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.0/kubeedge-v1.10.0-linux-amd64.tar.gz
wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.0/checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt

避免下载过慢,将kubeedge-v1.10.0-linux-amd64.tar.gz文件和checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt预先下载存放

sudo mkdir /etc/kubeedge/
sudo cp kubeedge-v1.10.0-linux-amd64.tar.gz /etc/kubeedge/
sudo cp checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt /etc/kubeedge/

使用keadm安装kubeedge的云端组件cloudcore

sudo keadm init --advertise-address=192.168.40.4 --kubeedge-version=1.10.0

–advertise-address=xxx.xx.xx.xx 这里的xxx.xx.xx.xx换成你master机器的ip,可以是内网地址,也可以是公网ip地址,–kubeedge-version=1.10.0 意思是指定安装的kubeEdge的版本,如果你默认不指定那么keadm会自动去下载最新的版本。

重点!!!:如果出了问题,大部分问题都是下载问题,可以手动下载kubeedge文件:

红框里面这些文件都是必须的,其他文件自动生成的
在这里插入图片描述
在这里插入图片描述

成功:
在这里插入图片描述
我们可以看到cloudcore守护进程已经在运行了,cloudcore会监听本地的10000和10002端口

ps -ef|grep cloudcore

在这里插入图片描述
cloudcore可能不会自动启动,我们将其加入systemd自启动管理中

sudo cp /etc/kubeedge/cloudcore.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl start cloudcore.service
sudo systemctl enable cloudcore.service

获得边缘设备接入的token(后面边缘端加入云端需要用到token)

sudo keadm gettoken
3d68b3620337e71200fd622f35a537395362f48f0f371a67ec110950625ee508.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTU4MjQyODV9.ypZ8BopEyDCCgPE7ZHixmN0EpsFtmfXTzt8I2CkGk8U

二:边缘端安装(edge:192.168.40.4)

和master一样,需要这三个文件,直接复制进去
在这里插入图片描述
下载解压安装keadm

tar -xvf keadm-v1.10.0-linux-amd64.tar.gz
sudo cp keadm-v1.10.0-linux-amd64/keadm/keadm /usr/bin/
sudo mkdir /etc/kubeedge/
sudo cp kubeedge-v1.10.0-linux-amd64.tar.gz /etc/kubeedge/
sudo cp checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt /etc/kubeedge/

加入集群,keadm会安装edgecore和mqtt协议的实现软件mosquitto,mosquitto会监听localhost:1183端口

keadm join --cloudcore-ipport=192.168.40.2:10000 --token=3d68b3620337e71200fd622f35a537395362f48f0f371a67ec110950625ee508.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTU4MjQyODV9.ypZ8BopEyDCCgPE7ZHixmN0EpsFtmfXTzt8I2CkGk8U --kubeedge-version=1.10.0

–cloudcore-ipport是边缘节点能访问的云master主机的IP端口号,–token是上面云matster生成的识别码

安装成功

kubeedge-v1.10.0-linux-amd64/edge/edgecore
kubeedge-v1.10.0-linux-amd64/version

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

发现服务失败,使用journalctl -u edgecore.service -xe查看日志

journalctl -u edgecore.service -xe

查看edge边缘已加入master云端

kubectl get nodes

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐