基于树莓派raspberry pi如何部署Kubernetes集群
这篇文章给大家介绍基于树莓派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-corecurl -sSL https://get.docker.com | sh# 树莓派专属脚本福利,一句搞定!sudo docker --version# 确认版本号,返回类似:Docker version 19.03.5, build 633a0easudo 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图形化UIsudo docker volume create portainer_datasudo 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集群就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。