使用实例模板创建 GPU 虚拟机组


您可以使用实例模板创建托管实例组,并为每个实例添加 GPU。托管实例组使用该模板创建多个相同的实例。您可以根据工作负载扩缩实例组中的实例数量。

由于创建的实例必须安装 CUDA 工具包和 NVIDIA 驱动程序,因此为 GPU 实例创建实例模板的流程如下:

  1. 创建已挂接 GPU 的实例。
  2. 在实例上安装 GPU 驱动程序
  3. 根据挂接到已安装 GPU 和驱动程序的虚拟机实例的磁盘创建映像
  4. 使用该映像创建实例模板
  5. 使用模板创建实例组

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

    Terraform

    如需从本地开发环境使用本页面上的 Terraform 示例,请安装并初始化 gcloud CLI,然后使用用户凭据设置应用默认凭据。

    1. 安装 Google Cloud CLI。
    2. 如需初始化 gcloud CLI,请运行以下命令:

      gcloud init
    3. 为您的 Google 账号创建本地身份验证凭据:

      gcloud auth application-default login

    如需了解详情,请参阅 为本地开发环境设置身份验证

创建实例模板

您可以创建全局或区域实例模板。如果您要创建区域级实例模板,请确保您选择的区域中至少有一个可用区支持您所需的 GPU 型号。

要了解创建实例模板的步骤,请参阅创建实例模板

控制台

如果使用控制台创建实例模板,请确保执行以下自定义操作:

  • 指定机器类型。
  • 为已挂接 GPU 和驱动程序的自定义映像指定映像名称和系列。

如需详细了解如何使用自定义映像,请参阅在您的实例模板中使用自定义或公共映像

gcloud

如需使用 gcloud compute instance-templates create 创建实例模板,请加入 --accelerators--maintenance-policy TERMINATE 标志。 如果要创建区域实例模板,则必须使用 --instance-template-region 标志来指定模板的区域。

以下示例会创建一个包含 2 个 vCPU、一个基于您映像(已安装驱动程序)的 250 GB 启动磁盘和一个 NVIDIA T4 GPU 的全局实例模板。将 my-imagemy-project 替换为包含已挂接 GPU 和驱动程序的映像的名称和项目名称。

gcloud compute instance-templates create gpu-template \
    --machine-type n1-standard-2 \
    --boot-disk-size 250GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family my-image \
    --image-project my-project \
    --maintenance-policy TERMINATE \
    --restart-on-failure

Terraform

以下示例会创建一个包含 2 个 vCPU、一个基于您映像(已安装驱动程序)的 250 GB 启动磁盘和一个 NVIDIA T4 GPU 的全局实例模板。如需详细了解示例中使用的资源,请参阅 google_compute_instance_template 资源

如需创建区域实例模板,请使用 google_compute_region_instance_template 资源

resource "google_compute_instance_template" "default" {
  name         = "gpu-template"
  machine_type = "n1-standard-2"

  disk {
    source_image = "debian-cloud/debian-11"
  }

  network_interface {
    network = "default"
  }

  guest_accelerator {
    type  = "nvidia-tesla-t4"
    count = 1
  }

  scheduling {
    on_host_maintenance = "TERMINATE"
  }
}

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

创建实例组

创建模板后,请使用该模板创建实例组。 当您每次向实例组添加实例时,系统都会使用该实例模板中的设置启动该实例。

如果要创建区域托管实例组,请确保选择支持所需的特定 GPU 型号的地区。如需 GPU 型号和可用地区的列表,请参阅 Compute Engine 上的 GPU。以下示例会在两个支持 nvidia-tesla-t4 型号的地区中创建一个区域级托管实例组。

gcloud compute instance-groups managed create example-rmig \
    --template gpu-template --base-instance-name example-instances \
    --size 30 --zones us-east1-c,us-east1-d

后续步骤