使用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 内存。

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 控制台创建它: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