將 GPU 與 Microk8s Pod(2023 年 7 月版本)結合使用

產品開發

這次的主題是之前寫過類似文章的更新版。請您也一併查看下面的相關文章。以下是對每個部分的概要解釋:

MicroK8s 是什麼: MicroK8s 是由 Ubuntu 的 Canonical 公司開發的工具,可以輕鬆設置 Kubernetes 集群。您可以在其官方網站上找到相關信息,它可以在常見的 x86 PC、服務器以及類似 Raspberry Pi 的 ARM 板上創建 Kubernetes 集群。

在 Kubernetes 中使用 GPU: Kubernetes 是一個容器編排工具的標準工具。通過使用該工具,您可以在筆記本電腦上或大規模集群中部署容器運行環境。

在 Kubernetes 中使用 GPU 的好處包括提供應用程序的並行性和高速內存,以及改善容器應用程序的圖形性能等。

最初階段,它僅支持 NVIDIA 的 GPU,但現在除了 NVIDIA 的 GPU 之外,還部分支持 AMD 和 Intel 的 GPU。您可以根據要在容器中運行的應用程序類型進行選擇。

使用 Kubernetes 中的 GPU 的好處和缺點: 使用 Kubernetes 中的 GPU 有很多好處,比如提供並行性、快速內存、圖形性能等。然而,當將物理設備分配給容器時,會帶來一些可伸縮性和容錯性的問題。在使用時需要明白好處和不足,以便進行合理的利用。

MicroK8s 中使用 GPU 的注意事項: MicroK8s 提供了插件機制,通過使用 gpu 插件,您可以自動安裝為在 Kubernetes 中使用 NVIDIA GPU 所需的軟件。具體來說,會自動安裝 NVIDIA GPU Operator 和 nvidia-container-runtime。

MicroK8s 會及時跟隨 Kubernetes 的發布,當前可用的是 MicroK8s 1.27,如果使用 GPU 插件,可以在 GPU Operator Platform Support 中找到支持情況。作者確認其在以下配置中正常工作:

  • Ubuntu Server 22.04.2
  • CUDA Driver 12.0.1
  • MicroK8s 1.26/stable (測試時是1.26.5)

在生成容器映像並進行檢查時,作者還安裝了以下軟件,版本使用常規的最新版本即可:

  • Docker Engine 24.0.2
  • 最新的NVIDIA Container Toolkit

在MicroK8s 中使用GPU 的安裝概述: 詳細的步驟請查看相關文章,如果準備工作已經做好,通過執行以下三個命令,您就可以在Kubernetes 中使用GPU:

  1. sudo snap install microk8s -- classic --channel=1.26/stable
  2. sudo microk8s.start
  3. sudo microk8s enable gpu

請參閱相關文章以獲取詳細信息。

在Docker和MicroK8s中嘗試使用多實例GPU(Multi-Instance GPU)
在Docker和MicroK8s中嘗試使用多實例GPU(Multi-Instance GPU)
使用 Ansible Playbook 構建 PG-Strom 環境
使用 Ansible Playbook 構建 PG-Strom 環境
使用 MicroK8s 運行 PG-Strom 容器
使用 MicroK8s 運行 PG-Strom 容器
我嘗試使用了 containerd + nerdctl
我嘗試使用了 containerd + nerdctl
從 GT-ONE 到 Dshot 更新的賽車方向盤支架到 PS5
從 GT-ONE 到 Dshot 更新的賽車方向盤支架到 PS5