启动带 GPU 的 Google Cloud GKE 集群以使用 KubeRay#

有关完整详情,请参阅 https://cloud.google.com/kubernetes-engine/docs/how-to/gpus,或继续阅读以快速入门。

步骤 1:在 GKE 上创建 Kubernetes 集群#

在本地计算机或 Google Cloud Shell 上运行此命令及所有后续命令。如果从本地计算机运行,则需要安装 Google Cloud SDK。以下命令将在 us-west1-b 区域创建一个名为 kuberay-gpu-cluster 的 Kubernetes 集群,其中包含 1 个 CPU 节点。本示例使用 e2-standard-4 机器类型,该类型具有 4 个 vCPU 和 16 GB RAM。

gcloud container clusters create kuberay-gpu-cluster \
    --num-nodes=1 --min-nodes 0 --max-nodes 1 --enable-autoscaling \
    --zone=us-west1-b --machine-type e2-standard-4

注意

您也可以从 Google Cloud Console 创建集群。

第 2 步:创建 GPU 节点池#

运行以下命令为 Ray GPU 工作节点创建 GPU 节点池。您也可以从 Google Cloud Console 创建: https://cloud.google.com/kubernetes-engine/docs/how-to/gpus#console

gcloud container node-pools create gpu-node-pool \
  --accelerator type=nvidia-l4-vws,count=1 \
  --zone us-west1-b \
  --cluster kuberay-gpu-cluster \
  --num-nodes 1 \
  --min-nodes 0 \
  --max-nodes 1 \
  --enable-autoscaling \
  --machine-type g2-standard-4

`--accelerator` 标志指定节点池中每个节点的 GPU 类型和数量。本示例使用 NVIDIA L4 GPU。机器类型 g2-standard-4 具有 1 个 GPU、24 GB GPU 内存、4 个 vCPU 和 16 GB RAM。

注意

GKE 会自动配置污点和容差,以便仅将 GPU Pod 调度到 GPU 节点。有关更多详细信息,请参阅 GKE 文档

第 3 步:配置 kubectl 以连接到集群#

运行以下命令以下载 Google Cloud 凭据并配置 Kubernetes CLI 以使用它们。

gcloud container clusters get-credentials kuberay-gpu-cluster --zone us-west1-b

有关更多详细信息,请参阅 GKE 文档

第 4 步:安装 GPU 驱动程序(可选)#

如果在 GKE 安装的 GPU 驱动程序时遇到任何问题,可以按照以下说明手动安装 GPU 驱动程序。

# Install NVIDIA GPU device driver
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded-latest.yaml

# Verify that your nodes have allocatable GPUs
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"

# Verify that your nodes have allocatable GPUs
# NAME     GPU
# ......   <none>
# ......   1