共计 2512 个字符,预计需要花费 7 分钟才能阅读完成。
这篇文章给大家介绍基于树莓派 raspberry pi 如何部署 Kubernetes 集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
基于树莓派(Raspberry Pi)部署 Kubernetes 集群,可以使用 MicroK8s 或 K3s 分发版。
关于 MicroK8s 或 K3s 的使用,请参考:
MicroK8s 与 K3s 的简单对比
MicroK8s 快速入门
MicroK8s- 部署到 Windows、macOS 和 Raspberry Pi
k3s- 轻量容器集群,快速入门
k3s- 轻量容器集群,架构与高可用
建立全球部署的容器集群应用的开源技术栈
1、准备树莓派
目前树莓派(https://www.raspberrypi.org)的官方 OS(https://www.raspberrypi.org/downloads/)和第三方系统(如 Hypriot、Ubuntu Core/Server/Mate)都可以支持。推荐使用 4B,使用 64 位的系统。
1.1 安装操作系统
现在使用 Raspberry Pi Imager 可以直接烧写 SD 卡,点击下面的链接下载安装,然后运行:
Raspberry Pi Imager for Windows
Raspberry Pi Imager for macOS
Raspberry Pi Imager for Ubuntu
也可以下载操作系统镜像,然后烧写到 SD 卡上(参考:福利:一个开源的超好用的 SD 卡 / U 盘烧写工具)。
Hypriot- 支持 ARM64 的服务器操作系统
Nvidia 和 arm 合作推进物联网智能
1.2 容器镜像仓库
docker 的镜像服务是可以跨平台使用的,但镜像不同。arm 上可以使用同一个 registry 服务,但镜像需要有不同的标识。
Ubuntu 安装私有 Docker Hub 服务 Harbor
Docker 镜像仓库服务 -Nexus
1.3 安装容器引擎
arm 上的容器引擎与 x86 体系不同,需要单独编译、安装(已有分发版,可以通过 get.docker.com 直接安装。)。
ARM64 上的 Docker 编译与安装
ARM64 上 Docker 编译问题与解决
96Boards(410C)中的 Docker 使用方法
使用 Portainer 或者 UI for Docker 可视化管理树莓派容器
安装过程:
sudo apt-get install wget git-core
curl -sSL https://get.docker.com | sh
# 树莓派专属脚本福利,一句搞定!sudo docker --version
# 确认版本号,返回类似:Docker version 19.03.5, build 633a0ea
sudo nano /etc/docker/daemon.json
# 添加国内镜像,写入如下内容: registry-mirrors : [https://registry.docker-cn.com]
#保存(ctrl+o)退出(ctrl+x)sudo systemctl restart docker.service
sudo systemctl enable docker.service
# 重启 docker 并常驻服务
sudo docker pull portainer/portainer
# 安装 docker 图形化 UI
sudo docker volume create portainer_data
sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
# 创建 UI 容器,可以在浏览器中输入树莓派 IP:9000 访问,设置帐号密码后选择 local(本地)
1.4 安装 K8s 服务软件
主要有三种版本:Kubernetes、K3s、MicroK8s。其中,包括服务器程序和需要的系统容器镜像两个部分,服务程序通过 apt 安装,系统容器镜像需要使用 Docker 等容器工具单独下载到各个节点。
2、获取树莓派上 K8s 的系统镜像
树莓派上 K8s 的系统镜像,根据 K8s 版本的不同有些差异。需要根据分发版的选择进行安装。
参考:
MicroK8s 快速入门
MicroK8s- 部署到 Windows、macOS 和 Raspberry Pi
k3s- 轻量容器集群,快速入门
k3s- 轻量容器集群,架构与高可用
3、制作树莓派上应用的容器镜像
树莓派上需要使用为对应指令集 CPU 创建的容器镜像,并添加 tag 标签。
3.1 可用的容器镜像源
很多软件都提供了 arm 下的容器镜像。
树莓派可用的 docker 镜像源:
树莓派专用,https://hub.docker.com/search?q=rasp type=image
arm 和 arm64,https://hub.docker.com/search?q= type=image architecture=arm%2Carm64
arm64v8,https://hub.docker.com/u/arm64v8
https://hub.docker.com/u/arm32v7
https://hub.docker.com/u/armhf
以上内含大量 arm 镜像,不同的镜像表示不同的容器镜像:
https://hub.docker.com/r/izone/arm/tags/
上面是单独的镜像,以不同的 tag 表示不同的服务镜像。
3.2 制作自己的容器镜像
可以使用同一个 Dockerfile 编译出多种架构下可用的容器镜像。
可以使用 os/arch 作为特殊标签或者使用自定义的标签来标明是 arm 架构下的镜像。
注意:
需要将镜像通过 tag 标记为 arm 指令集,使用时也需指明 tag。
如果下载了与硬件环境不对应的镜像,容器运行将会报错,但不会指明错误的原因。
关于基于树莓派 raspberry pi 如何部署 Kubernetes 集群就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。