

 **協助改進此頁面** 

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為 AI/ML 工作負載設定 Amazon EKS 叢集
<a name="ml-cluster-setup"></a>

**提示**  
 [註冊](https://events.eksworkshop.com/workshops/genai/)即將舉行的 Amazon EKS AI/ML 研討會。

本節會引導您建立準備好執行推論工作負載的 Amazon EKS 叢集，包括使用 GPUs 的運算、監控堆疊和模型權重的 Amazon S3 儲存，以及必要的 AWS IAM 許可。

## 架構概觀
<a name="_architecture_overview"></a>

設定會建立下列基礎設施：
+  **具有啟用 GPU 節點的 EKS 叢集** — 由 Karpenter 管理的 NodePool，使用 Spot 容量搭配隨需備用，動態佈建 G 系列的 GPU 執行個體。
+  **監控堆疊** — Prometheus 會抓取叢集、節點和 GPU 指標，並將其遠端寫入 Amazon Managed Service for Prometheus (AMP)。Grafana 提供用於視覺化的儀表板。NVIDIA DCGM Exporter 新增 GPU 特定的指標，包括使用率、記憶體、溫度、耗電量、NVLink 頻寬和張量活動。
+  **模型權重 S3 儲存貯**體 — 用於存放模型權重的 Amazon S3 儲存貯體，具有授予工作負載 Pod 讀取/寫入存取權的 EKS Pod Identity 關聯。

## 叢集運算選項
<a name="_cluster_compute_options"></a>

本指南提供兩種設定叢集的路徑。選擇其中一個，並持續執行所有步驟。
+  **EKS Auto Mode** — 單一命令會佈建已啟用 EKS Auto Mode 的 EKS 叢集。所有必要的元件都是out-of-the-box提供，包括 Karpenter 型自動擴展、EKS 節點監控代理程式、使用 SOCI 提取的快速容器，以及 NVIDIA 裝置外掛程式。
+  **自我管理的 Karpenter**：您可以明確地安裝和設定每個元件：透過 進行 Karpenter`eksctl`、透過其功能閘道進行自動節點修復、將 EKS 節點監控代理程式作為 EKS 附加元件，以及透過 Helm 進行 NVIDIA 裝置外掛程式。您也可以建立使用 EKS 最佳化 NVIDIA AL2023 AMIs 的自訂`EC2NodeClass`，並設定 SOCI。

## 您將設定的內容
<a name="_what_youll_set_up"></a>


| 步驟 | 說明 | 
| --- | --- | 
|  **建立叢集**  | 佈建 GPU 工作負載所需的 EKS 控制平面和叢集層級元件。 | 
|  **建立動態佈建的 GPU 節點**  | 定義動態 GPU NodePool，在排程工作負載時佈建 G 系列 GPU 執行個體。 | 
|  **使用範例 Pod 進行測試**  | 執行 Pod 來觸發 Karpenter `nvidia-smi` 佈建已啟用 GPU 的節點，以end-to-end驗證設定。 | 
|  **新增預留容量 （選用）**  | 將隨需容量保留 (ODCR) 連接至 NodeClass，以使用 Spot/隨需備用進行預留優先。 | 
|  **安裝監控**  | 使用遠端寫入 AMP 部署 kube-prometheus-stack (Prometheus \+ Grafana)，以及適用於 GPU 指標的 NVIDIA DCGM Exporter。 | 
|  **建立模型權重儲存貯體**  | 建立 S3 儲存貯體並設定 EKS Pod Identity，讓工作負載 Pod 可以讀取和寫入模型權重。 | 

## 開始使用
<a name="_get_started"></a>

如需使用 CLI AWS 的step-by-step說明，請參閱 [使用 CLIs 為 AI/ML 工作負載設定 Amazon EKS 叢集](ml-cluster-setup-cli.md)。