【吐血整理】KubeEdge在树莓派上的安装,小白再也不用怕安装问题了
KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展到边缘端设备。 它基于Kubernetes构建,为网络和应用程序提供核心基础架构支持,并在云端和边缘端部署应用,同步元数据。
开始之前
装系统
刷入Ubuntu系统,按照教程进行基本设置。
设置挂载cgroup
/boot/boot/cmdline.txtcgroup_enable=memory cgroup_memory=1
关闭自动更新
apt autoremove --purge
dpkg-reconfigure -plow unattended-upgrades
reboot
设置WiFi
/etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"HUAWEI-PKAWX9_HiLink":
password: "87654321"
"yin_Home":
password: "409987654321"
su
安装Docker
以下内容摘自官方教程。
apt-get update
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io
keadm
安装Golang
wget https://golang.org/dl/go1.15.2.linux-arm64.tar.gz
tar -C /usr/local -xzf go1.15.2.linux-arm64.tar.gz
export PATH=$PATH:/usr/local/go/bin
export GOPATH="/root/go" #安装过程中Golang只用一次所以不加到profile中
go version
安装make
apt-get install -y make
下载编译KubeEdge源码
git clone https://github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge
cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=keadm
加入集群
从云端获取token
cloudcore
keadm gettoken
记录下输出的token字符串。
将树莓派加入集群
cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin
./keadm join --cloudcore-ipport=<云端的IP>:<cloudcore端口号,默认为10000> --edgenode-name=<为这个边缘节点取名> --token=<从云端获取到的token>
量产边缘节点
keadmkeadm
构造原型系统
keadm/etc/kubeedge
keadm/bin/etc/kubeedge/etc/kubeedge
生成镜像
用读卡器
在Linux系统上:
dd bs=4M if=/dev/<SD卡设备名> | gzip | cat > rasp.img.gz
在Windows系统上:用Win32DiskImager读取即可。
基于网络
选择一个硬盘容量足够的主机,记录下IP地址,在原型系统上执行:
dd bs=4M if=/dev/mmcblk0 | gzip | ssh <目标主机IP> "cat > rasp.img.gz"
使用镜像量产边缘节点
对于每个树莓派,将系统镜像刷入SD卡,开机后执行:
keadm join --kubeedge-version=1.4.0 --cloudcore-ipport=<云端的IP>:<cloudcore端口号,默认为10000> --edgenode-name=<为这个边缘节点取名> --token=<从云端获取到的token>
即可完成设置。
(未完成)设置自动初始化代码
这里给大家推荐一个在线软件复杂项交易平台:米鼠网 https://www.misuland.com
米鼠网自成立以来一直专注于从事软件项目、人才招聘、软件商城等,始终秉承“专业的服务,易用的产品”的经营理念,以“提供高品质的服务、满足客户的需求、携手共创双赢”为企业目标,为中国境内企业提供国际化、专业化、个性化、的软件项目解决方案,我司拥有一流的项目经理团队,具备过硬的软件项目设计和实施能力,为全国不同行业客户提供优质的产品和服务,得到了客户的广泛赞誉。