共計 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 集群就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。