树莓派边端部署文档20200307
一、树莓派系统烧录
1.下载并安装树莓派操作系统
百度网盘网址:链接:https://pan.baidu.com/s/1TkqfFEskuL0Aht0mj1_WYA 提取码:u8uq
解压2019-09-26-raspbian-buster-full.zip文件,将树莓派的SD卡插入到笔记本电脑中,通过格式化SD卡.zip里的软件,格式化SD卡,然后通过Win32DiskImager-0.9.5-binary.zip压缩包里软件选择格式化好的SD卡和解压好树莓派操作系统2019-09-26-raspbian-buster-full,点击write后,等待一段时间后,系统就可以烧录完成。
2.创建SSH文件
在烧录好系统盘里的boot目录下,创建一个名字为SSH的文件(不带任何后缀)。
3.启动系统
将烧录好的SD卡插到树莓派的SD卡槽中,供电,开机。(开机后会引导你设置密码等操作,到软件更新那一步时,直接跳过就好,后面我们会更换国内源,因为网络问题直接更新速度很慢,最后还会失败)
4.root用户的设置
进入终端,修改root用户的密码
sudo passwd root
修改完成后,输入以下命令可以切换到终端用户中
su root
进入root用户下,可以修改主机名
nano /etc/hostname #保存并退出为:Ctrl + X > Y(YES)> 回车
特别提示:如果在后期更换源后,树莓派重启后自动进入的系统不能在图形界面打开终端,可以尝试在左上角的图标处切换用户到root。
二、网络安装与内网穿透
1.网络安装
树莓派作为带有图形化界面的操作系统,你可以直接通过插入网线的方式,也可以点击右上角的WIFI标识,通过无线网连接。
2.内网穿透
在Zerotier官网申请一个虚拟局域网,然后再树莓派系统里输入以下代码安装zerotier
curl -s https://install.zerotier.com | sudo bash
安装完成后,在通过以下代码申请加入到你的虚拟局域网里
sudo zerotier-cli join <你申请的局域网的Network ID>
显示OK时表示申请成功,然后到zerotier的局域网管理端,通过申请并分配一个内网的IP地址。
3.xShell连接树莓派
在树莓派端的终端里输入
ifconfig
查看相关的网络信息,如果你是有线连接,查找eth0后面的类似于192.168.X.X动态IP;如果你是无线WIFI连接,查找wlan0后面的类似于192.168.X.X动态IP。然后在XShell里尝试连接树莓派系统的终端。
三、安装前期所需要的配置和软件
建议以下操作切换到root用户下进行
1.更换源文件
编辑sources.list
在树莓派的终端里输入
sudo nano /etc/apt/sources.list
用#注释了原有的内容,新添加以下两条内容
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
#deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
保存并退出为:Ctrl + X > Y(YES)> 回车
编辑raspi.list
sudo nano /etc/apt/sources.list.d/raspi.list
用#注释了原有的内容,新添加以下两条内容
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
#deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
保存并退出为:Ctrl + X > Y(YES)> 回车
更新软件源
sudo apt-get update
2.安装Docker
下载相关软件
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
加入仓库钥匙
curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -
添加docker客户端仓库
echo "deb [arch=armhf] https://download.docker.com/linux/raspbian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
更新软件列表
sudo apt-get update
下载Docker-ce
sudo apt-get install docker-ce
查看Docker安装情况
docker version
显示 Client 和 Server 两个的版本号,就表示docker安装成功
3.mosquitto安装
直接下载
sudo apt-get install -y mosquitto
4.Golang环境安装
将之前百度网盘里下载的V1.12.16 32位 Linux版本的go的压缩包拖拽到树莓派系统里,然后在其所在目录下解压
tar -xzf go1.12.16.linux-armv6l.tar.gz -C /usr/lib
tar -xzf go1.12.16.linux-armv6l.tar.gz -C /usr/local
vim /etc/profile #打开系统变量的配置文件
将以下内容添加到文件的底端
export HOME=/root
export GOROOT=/usr/lib/go
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
最后让环境变量生效
source /etc/profile
查看go环境是否安装成功
go version
四、部署KubeEdge框架的Edge端
建议以下操作都在root用户下进行
1.克隆KubeEdge源码
安装git
sudo apt-get install -y git
在码云上克隆相关的文件
git clone https://gitee.com/liu_hu_wei/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge
进入到kubeedge V1.2.0的分支
cd $GOPATH/src/github.com/kubeedge/kubeedge
git checkout -b v1.2.0 v1.2.0
编译edgecore二进制文件
cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=edgecore #要求硬件的内存2G以上
复制edgecore二进制文件
cd $GOPATH/src/github.com/kubeedge/kubeedge/edge #可以在此目录下,查看是否存在一个edgecore的二进制文件
mkdir -p ~/cmd
cp edgecore ~/cmd/
创建edgecore配置文件
mkdir -p /etc/kubeedge/config/
~/cmd/edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml
vim /etc/kubeedge/config/edgecore.yaml
将nodeIP:更改成你在zerotier里分配到的内网IP地址
将edgehub.websocket.server:更改成云端公网IP地址+:10000
将modules.edged.podSandboxImage:更改kubeedge/pause-arm:3.1
保存后,将云端生成的证书,拖拽到树莓派的 /etc/kubeedge 下
启动edgecore服务
mosquitto -d -p 1883
cd ~/cmd
./edgecore #这一个是前端启动命令
如果前端启动无误,也可以使用后端启动方式
nohup ./edgecore > edgecore.log 2>&1 &
启动之后,就可以到云端的master查看是否加入成功了
kubectl get nodes #在master端输入后,显示边端加入的节点处于Ready,就说明部署成功。