使用 EKS 最佳化加速 Amazon Linux AMIs 建立節點 - Amazon EKS

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

使用 EKS 最佳化加速 Amazon Linux AMIs 建立節點

Amazon EKS 最佳化加速 Amazon Linux AMI 建置在標準 Amazon EKS 最佳化 Amazon Linux AMI 之上。如需這些 AMIs 的詳細資訊,請參閱 Amazon EKS 最佳化加速 Amazon Linux AMIs。下列文字說明如何啟用 AWS Neuron 型工作負載。

啟用 AWS Neuron (ML 加速器) 型工作負載

如需使用 訓練和推論工作負載的詳細資訊 Neuron 在 Amazon EKS 中,請參閱下列參考:

下列程序說明如何使用 Amazon GPU 最佳化加速 AMI 在以 EKS 為基礎的執行個體上執行工作負載。

  1. GPU 節點加入叢集後,您必須將 Kubernetes 的 NVIDIA 裝置外掛程式套用為 DaemonSet 在您的叢集上。Replace (取代) vX.X.X 在執行下列命令之前,使用您想要的 NVIDIA/k8s-device-plugin 版本。

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
  2. 您可以使用下列命令來驗證節點是否具有可配置的 GPUs。

    kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"
  3. 使用下列內容建立名為 nvidia-smi.yaml 的檔案。Replace (取代) tag 搭配您想要的 nvidia/cuda 標籤。此資訊清單會啟動在節點nvidia-smi上執行的 NVIDIA CUDA容器。

    apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: nvidia-smi image: nvidia/cuda:tag args: - "nvidia-smi" resources: limits: nvidia.com/gpu: 1
  4. 執行以下命令,套用此清單檔案。

    kubectl apply -f nvidia-smi.yaml
  5. 在 之後 Pod 已完成執行,請使用下列命令檢視其日誌。

    kubectl logs nvidia-smi

    範例輸出如下。

    Mon Aug 6 20:23:31 20XX +-----------------------------------------------------------------------------+ | NVIDIA-SMI XXX.XX Driver Version: XXX.XX | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1C.0 Off | 0 | | N/A 46C P0 47W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+