【吐血整理】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

米鼠网自成立以来一直专注于从事软件项目、人才招聘、软件商城等,始终秉承“专业的服务,易用的产品”的经营理念,以“提供高品质的服务、满足客户的需求、携手共创双赢”为企业目标,为中国境内企业提供国际化、专业化、个性化、的软件项目解决方案,我司拥有一流的项目经理团队,具备过硬的软件项目设计和实施能力,为全国不同行业客户提供优质的产品和服务,得到了客户的广泛赞誉。