环境安装
Ubuntu 18.04
docker 20.10.7
kebuedge 1.8.2
swap禁用
///部分云端服务器不需要,master和边端node都需要禁用
///临时禁用,重启主机恢复
swapoff -a
///永久修改配置文件
vim /etc/fstab
///#在弹出的文件中,注释掉swap,重启主机
free -g
docker安装
参照docker官方文档
//以前docker版本卸载,注意这种方式不能完全干净,需要参照文档进一步操作
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
///配置错误参照下面给予权限,不出错不需要
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update
///这里安装的是20.10.7版本
//列出所以支持的版本
apt-cache madison docker-ce | awk '{ print $3 }'
///选择对应的版本进行安装
VERSION_STRING=5:20.10.7~3-0~ubuntu-bionic
sudo apt-get install docker-ce=5:20.10.7~3-0~ubuntu-bionic docker-ce-cli=5:20.10.7~3-0~ubuntu-bionic containerd.io docker-buildx-plugin docker-compose-plugin
//查看版本和测试
docker -v
sudo docker run hello-world
边缘环境搭建
非同一网络下,边缘端能访问到云端,云端不能访问边缘端
///在服务器环境下,经常访问master地址,进行配置
vim /etc/hosts
123.249.112.195 master
///拷贝keadm到边缘端
scp root@master:/usr/local/bin/keadm /usr/local/bin/
///拷贝kubeedge目录到边缘
///可以删除解压的1.8.2源码。避免影响速度
scp -r root@master:/etc/kubeedge /etc/
///确定边端有容器运行时环境
docker --version
keadm join -h
//在云端keadm gettoken获取令牌
///修改version和name ip 端口默认云端是10000端口
keadm join --cloudcore-ipport=123.249.112.195:10000 --kubeedge-version=1.8.2 --token=d4143460867e37a127f4c252650cd024b376e0b5df5e683837914a8a6cdc228a.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NzY4MTY1NjJ9.7pOQV4k_iTQ3SUrQpNR4j60W8MtDWaedBgtor8JrAuM
systemctl status edgecore.service
报错及解决方案
//打印日志
journalctl -u edgecore -n 50
vim /etc/docker/daemon.json
"exec-opts": ["native.cgroupdriver=cgroupfs"]
systemctl daemon-reload
systemctl restart docker
systemctl restart edgecore.service
systemctl status edgecore.service