创建具有 GPU 的 AI 优化型 N1 MIG

本文档介绍如何创建使用 N1 系列并挂接 GPU 的代管式实例组 (MIG)。如需详细了解这些机器类型,请参阅 N1 系列

创建 MIG 后,您可以将多个虚拟机 (VM) 作为单个实体进行管理。MIG 中的每个虚拟机均基于实例模板。通过自动管理实例组中的虚拟机,MIG 可提供高可用性和可伸缩性。如需详细了解 MIG,请参阅 Compute Engine 文档中的托管式实例组

如需了解创建虚拟机或集群的其他方法,请参阅部署选项概览

限制

创建具有搭载 GPU 的 N1 虚拟机的 MIG 时,请考虑机器类型和 MIG 的限制。

具有 GPU 的 N1 虚拟机的限制

如需了解适用于搭载了 GPU 的 N1 机器类型的限制,请参阅以下所有内容:

MIG 的限制

准备工作

在创建 MIG 之前,如果您尚未完成以下步骤,请先完成这些步骤:

  1. 选择使用选项:您选择的使用选项决定了您如何获取和使用 GPU 资源。如需了解详情,请参阅选择消费选项
  2. 获取容量:每种使用选项的容量获取流程各不相同。如需了解为所选使用选项获取容量的流程,请参阅容量概览

所需的角色

如需获得创建 MIG 所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含创建 MIG 所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

您需要具备以下权限才能创建 MIG:

  • 如需创建 MIG:针对项目的 compute.instanceGroupManagers.create 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

概览

创建具有 N1(含 T4 或 V100 GPU)机器类型的 MIG 包括以下步骤:

  1. 创建实例模板
  2. 创建 MIG
  3. 安装 GPU 驱动程序

创建实例模板

通过创建实例模板来指定 MIG 的虚拟机属性。

如需创建实例模板,请选择以下选项之一:

以下命令还会设置实例的访问权限范围。为简化权限管理,Google 建议您将实例的访问权限范围设置为 cloud-platform 访问权限,然后使用 IAM 角色定义实例可以访问哪些服务。如需了解详情,请参阅范围最佳实践

gcloud

如需创建区域级实例模板,请使用 gcloud compute instance-templates create 命令

您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项对应的标签页。

预留

配备 T4 或 V100 GPU 的 N1 实例支持以下类型的预留

  • 按需预留
  • 标准未来预留

如需使用这些类型的预留,实例必须使用标准预配模型。例如,使用以下创建参数。

在运行命令之前,请查看以下所有步骤,以确定是否要添加其他标志。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • RESERVATION_AFFINITY:实例可以使用的预留(如果可能)。指定以下其中一项:

      • any(预留容量是可选的):这是默认选项。实例尝试使用自动使用的预留中的容量,只有在有匹配的预留容量时才会发生这种情况。否则,实例将使用按需容量。

      • specific(需要预留容量):要求实例使用明确针对的预留中的容量。 不允许实例使用按需容量。如果预留容量不可用,则实例创建会失败。

    • RESERVATION:要使用的预留。根据您为 RESERVATION_AFFINITY 指定的值,指定以下值之一:

      • 如果您指定了 any,请将 RESERVATION 替换为空字符串 ("")。或者,您也可以完全移除 --reservation 标志。
      • 如果您指定了 specific,请将 RESERVATION 替换为以下内容:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        替换以下内容:

        • RESERVATION_OWNER_PROJECT_ID:在其中创建预留的项目的项目 ID。
        • RESERVATION_NAME:预留的名称。
  2. 默认情况下,如果实例崩溃或 Compute Engine 因计划停止(例如维护事件)而停止实例,则实例会自动重启。如果您想停用自动重启,请添加以下标志:

    --no-restart-on-failure
  3. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  4. 运行以上命令。

按需

在运行命令之前,请查看以下所有步骤,以确定是否要添加其他标志。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • RESERVATION_AFFINITY:实例可以使用的预留(如果可能)。指定以下其中一项:

      • any(预留容量是可选的):这是默认选项。实例尝试使用自动使用的预留中的容量,只有在有匹配的预留容量时才会发生这种情况。否则,实例将使用按需容量。

      • none(需要按需容量):阻止实例使用任何预留容量。

  2. 默认情况下,如果实例崩溃或 Compute Engine 因计划停止(例如维护事件)而停止实例,则实例会自动重启。如果您想停用自动重启,请添加以下标志:

    --no-restart-on-failure
  3. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  4. 运行以上命令。

灵活启动

在运行命令之前,请查看以下所有步骤,以确定是否要添加其他标志。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • RUN_DURATION:您希望请求的虚拟机运行的时长。您必须将该值的格式设置为天数、小时数、分钟数或秒数,后面分别跟 dhms。例如,指定 30m 表示 30 分钟,或指定 1d2h3m4s 表示 1 天 2 小时 3 分钟 4 秒。该值必须介于 10 分钟到 7 天之间。
  2. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  3. 运行以上命令。

Spot

在运行命令之前,请查看以下所有步骤,以确定是否要添加其他标志。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • TERMINATION_ACTION:当 Compute Engine 抢占实例时执行的操作(STOP [默认] 或 DELETE)。

  2. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  3. 运行以上命令。

REST

如需创建区域级实例模板,请向 regionInstanceTemplates.insert 方法发出 POST 请求。

您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项对应的标签页。

预留

配备 T4 或 V100 GPU 的 N1 实例支持以下类型的预留

  • 按需预留
  • 标准未来预留

如需使用这些类型的预留,实例必须使用标准预配模型。例如,使用以下创建参数。

在提交请求之前,请查看以下所有步骤,以确定是否需要添加其他字段。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • AUTOMATIC_RESTART:如果实例崩溃或 Compute Engine 因计划停机(如维护事件)而停止实例,是否自动重启实例。指定 true 可启用自动重启(默认),指定 false 可停用自动重启。

    • RESERVATION_AFFINITY:实例可以使用的预留(如果可能)。指定以下其中一项:

      • ANY_RESERVATION(预留容量是可选的):这是默认选项。实例尝试使用自动使用的预留中的容量,只有在有匹配的预留容量时才会发生这种情况。否则,实例将使用按需容量。

      • SPECIFIC_RESERVATION(需要预留容量):要求实例使用明确针对的预留中的容量。 不允许实例使用按需容量。如果预留容量不可用,则实例创建会失败。

    • RESERVATION:要使用的预留。根据您为 RESERVATION_AFFINITY 指定的值,指定以下值之一:

      • 如果您指定了 ANY_RESERVATION,请删除 RESERVATION,使该值为一个空字符串 ("")。或者,您也可以完全移除 keyvalues 字段。
      • 如果您指定了 SPECIFIC_RESERVATION,请将 RESERVATION 替换为以下内容:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        替换以下内容:

        • RESERVATION_OWNER_PROJECT_ID:在其中创建预留的项目的项目 ID。
        • RESERVATION_NAME:预留的名称。
  2. 可选:如需使用本地 SSD 磁盘,请将以下字段添加到每个本地 SSD 磁盘的 disks[] 字段中。使用英文逗号分隔每个 disks[] 子字段(包括启动磁盘)。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    替换以下内容:

    • ZONE:您指定的可用区。
    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  3. 提交请求。

按需

在提交请求之前,请查看以下所有步骤,以确定是否需要添加其他字段。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • AUTOMATIC_RESTART:如果实例崩溃或 Compute Engine 因计划停机(如维护事件)而停止实例,是否自动重启实例。指定 true 可启用自动重启(默认),指定 false 可停用自动重启。

    • RESERVATION_AFFINITY:实例可以使用的预留(如果可能)。指定以下其中一项:

      • ANY_RESERVATION(预留容量是可选的):这是默认选项。实例尝试使用自动使用的预留中的容量,只有在有匹配的预留容量时才会发生这种情况。否则,实例将使用按需容量。

      • NO_RESERVATION(需要按需容量):阻止实例使用任何预留容量。

  2. 可选:如需使用本地 SSD 磁盘,请将以下字段添加到每个本地 SSD 磁盘的 disks[] 字段中。使用英文逗号分隔每个 disks[] 子字段(包括启动磁盘)。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    替换以下内容:

    • ZONE:您指定的可用区。
    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  3. 提交请求。

灵活启动

在提交请求之前,请查看以下所有步骤,以确定是否需要添加其他字段。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • RUN_DURATION:您希望请求的虚拟机运行的时长(以秒为单位)。该值必须介于 600(600 秒,即 10 分钟)到 604800(604,800 秒,即 7 天)之间。
  2. 可选:如需使用本地 SSD 磁盘,请将以下字段添加到每个本地 SSD 磁盘的 disks[] 字段中。使用英文逗号分隔每个 disks[] 子字段(包括启动磁盘)。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    替换以下内容:

    • ZONE:您指定的可用区。
    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  3. 提交请求。

Spot

在提交请求之前,请查看以下所有步骤,以确定是否需要添加其他字段。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

请完成以下步骤:

  1. 替换以下内容:

    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:用于具有 T4 或 V100 GPU 的 N1 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • ACCELERATOR_COUNT:要挂接到 N1 虚拟机的 GPU 数量。如需查看基于虚拟机的机器类型的 GPU 限制列表,请参阅 Compute Engine 文档中有关 N1 GPU 的信息。
    • ACCELERATOR_TYPE:您要使用的 N1 虚拟机的加速器类型。对于 AI 工作负载,我们建议您使用 T4 或 V100 GPU。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • TERMINATION_ACTION:当 Compute Engine 抢占实例时执行的操作(STOP [默认] 或 DELETE)。

  2. 可选:如需使用本地 SSD 磁盘,请将以下字段添加到每个本地 SSD 磁盘的 disks[] 字段中。使用英文逗号分隔每个 disks[] 子字段(包括启动磁盘)。

    确保您挂接的本地 SSD 磁盘数量符合您的机器类型允许的数量;有关详情,请参阅 Compute Engine 文档中的本地 SSD 磁盘简介

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    替换以下内容:

    • ZONE:您指定的可用区。
    • INTERFACE_TYPE:要用于本地 SSD 磁盘的磁盘接口类型。如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定 NVME。请为其他映像指定 SCSI

    创建具有本地 SSD 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  3. 提交请求。

创建实例模板后,您可以查看该模板以查看其 ID 并检查其实例属性。

创建 MIG

完成上述所有步骤后,请根据您的使用情形创建 MIG,如下所示:

场景 用于创建 MIG 及其中虚拟机的相应方法 示例
您有多个或并行作业,这些作业可以从任意数量的虚拟机开始。 创建 MIG,并使用目标大小来指定您希望实例组中包含的虚拟机数量。

请参阅创建具有目标大小的 MIG

机器学习推理作业
您的作业需要分布在确切数量的虚拟机中。 创建一个不含任何虚拟机的 MIG,然后在该 MIG 中创建调整大小请求。 借助调整大小请求,您可以一次性获取所有虚拟机。

请参阅创建 MIG 和规模调整请求

分布式机器学习训练和微调作业

创建具有目标大小的 MIG

如果您可以在不同时创建所有虚拟机的情况下启动作业,请创建具有目标大小的 MIG。目标大小决定了 MIG 中的虚拟机数量。MIG 会根据当前资源可用性开始创建虚拟机。如果任何资源暂时不可用,MIG 会持续尝试创建虚拟机,以达到目标大小。

如需创建具有目标大小的 MIG,请选择以下选项之一:

gcloud

如需创建具有指定目标大小的 MIG,请使用 instance-groups managed create 命令

按如下所示创建可用区级或区域级 MIG:

  • 如需创建可用区级 MIG,请使用以下命令:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --zone=ZONE
    
  • 如需创建区域级 MIG,请使用以下命令:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --region=REGION
    
请替换以下内容:
  • MIG_NAME:MIG 的名称。
  • INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:
    • 对于区域级实例模板:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 对于全球实例模板:INSTANCE_TEMPLATE_ID
  • TARGET_SIZE:MIG 中所需的实例数量。
  • ZONE:您要在其中创建 MIG 的可用区。
  • REGION:您要在其中创建 MIG 的区域。 对于区域级 MIG,您可以使用 --zones 标志指定相应区域中的可用区,而不是指定区域。

REST

如需创建具有指定目标大小的 MIG,请发出 POST 请求。

按如下所示创建可用区级或区域级 MIG:

  • 如需创建可用区级 MIG,请向 instanceGroupManagers.insert 方法发出 POST 请求。
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": TARGET_SIZE
    }
    
  • 如需创建区域级 MIG,请向 regionInstanceGroupManagers.insert 方法发出 POST 请求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE
      }
    
请替换以下内容:
  • PROJECT_ID:项目 ID。
  • ZONE:您要在其中创建 MIG 的可用区。
  • REGION:您要在其中创建 MIG 的区域。
  • INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:
    • 对于区域级实例模板:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 对于全球实例模板:INSTANCE_TEMPLATE_ID
  • MIG_NAME:MIG 的名称。
  • TARGET_SIZE:MIG 中所需的实例数量。

创建 MIG 和规模调整请求

如果您需要同时使用多个虚拟机才能启动作业,请创建一个 MIG,然后在该 MIG 中创建规模调整请求,如本部分中所述。

如需在 MIG 中创建规模调整请求,请选择以下选项之一:

gcloud

您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项的配置模式对应的标签页。

预留

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建可用区级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 命令在可用区级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建区域级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 instance-groups managed resize-requests create 命令在区域级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

按需

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建可用区级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 命令在可用区级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建区域级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 instance-groups managed resize-requests create 命令在区域级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

灵活启动

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建可用区级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 命令在可用区级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建区域级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 instance-groups managed resize-requests create 命令在区域级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Spot

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建可用区级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 命令在可用区级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:

    1. 使用 instance-groups managed create 命令创建区域级 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 instance-groups managed resize-requests create 命令在区域级 MIG 中创建规模调整请求,如下所示。 此命令用于指定您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
替换以下内容:
  • MIG_NAME:MIG 的名称。
  • INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:
    • 对于区域级实例模板:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 对于全球实例模板:INSTANCE_TEMPLATE_ID
  • ZONE:您要在其中创建 MIG 的可用区。对于地区级 MIG,您还必须指定可用区。此可用区必须是包含 VPC 网络配置文件的可用区,并且必须是提供相应机器类型的可用区。 如需了解详情,请参阅限制
  • RESIZE_REQUEST_NAME:调整大小请求的名称,该名称在指定的 MIG 中必须是唯一的。否则,创建调整大小请求的操作将失败。
  • COUNT:要一次性添加到 MIG 的实例数量。
  • REGION:您要在其中创建 MIG 的区域。

通过指定虚拟机名称列表来创建调整大小请求

如果您的工作负载需要特定的虚拟机名称,请指定一个名称列表来创建虚拟机。您指定的名称数量决定了 MIG 一次性创建的虚拟机数量。

如需在 MIG 中创建具有特定虚拟机名称的规模调整请求,请使用带有 --instances 标志的 Beta 版 gcloud compute instance-groups managed resize-requests create 命令

  • 在可用区级 MIG 中,运行以下命令:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --zone=ZONE
    
  • 在区域级 MIG 中,运行以下命令:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --region=REGION
    
INSTANCE_NAMES 替换为以英文逗号分隔的虚拟机名称列表。例如,instance-1,instance-2,instance-3

REST

您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项的配置模式对应的标签页。

预留

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. instanceGroupManagers.insert 方法发出 POST 请求,以创建可用区级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0
      }
      
    2. 在可用区级 MIG 中,向 instanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. regionInstanceGroupManagers.insert 方法发出 POST 请求以创建区域级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. 在区域级 MIG 中,向 regionInstanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

按需

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. instanceGroupManagers.insert 方法发出 POST 请求,以创建可用区级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0
      }
      
    2. 在可用区级 MIG 中,向 instanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. regionInstanceGroupManagers.insert 方法发出 POST 请求以创建区域级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. 在区域级 MIG 中,向 regionInstanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

灵活启动

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. instanceGroupManagers.insert 方法发出 POST 请求,以创建可用区级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. 在可用区级 MIG 中,向 instanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. regionInstanceGroupManagers.insert 方法发出 POST 请求以创建区域级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. 在区域级 MIG 中,向 regionInstanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

创建可用区级或区域级 MIG 以及规模调整请求,如下所示:

  • 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. instanceGroupManagers.insert 方法发出 POST 请求,以创建可用区级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0
      }
      
    2. 在可用区级 MIG 中,向 instanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如需创建区域级 MIG 并在其中创建规模调整请求,请执行以下操作:
    1. regionInstanceGroupManagers.insert 方法发出 POST 请求以创建区域级 MIG,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. 在区域级 MIG 中,向 regionInstanceGroupManagerResizeRequests.insert 方法发出 POST 请求,以创建规模调整请求,如下所示。 此请求指定了您要创建的虚拟机的数量。如果您的工作负载需要特定的虚拟机名称,请通过指定虚拟机名称列表来创建调整大小请求
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
替换以下内容:
  • PROJECT_ID:项目 ID。
  • ZONE:您要在其中创建 MIG 的可用区。此可用区必须与包含 VPC 网络配置文件的可用区相同,并且必须是所选机器类型可用的可用区。如需了解详情,请参阅限制
  • REGION:您要在其中创建 MIG 的区域。此区域必须与包含 VPC 网络配置文件的区域相同,并且必须包含所选机器类型可用的可用区。如需了解详情,请参阅限制
  • INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:
    • 对于区域级实例模板:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 对于全球实例模板:INSTANCE_TEMPLATE_ID
  • MIG_NAME:MIG 的名称。
  • RESIZE_REQUEST_NAME:调整大小请求的名称,该名称在指定的 MIG 中必须是唯一的。否则,创建调整大小请求的操作将失败。
  • COUNT:要同时添加到 MIG 的实例数量。

通过指定虚拟机名称列表来创建调整大小请求

如果您的工作负载需要特定的虚拟机名称,请指定一个名称列表来创建虚拟机。您指定的名称数量决定了 MIG 一次性创建的虚拟机数量。

如需在 MIG 中创建具有特定虚拟机名称的规模调整请求,请使用以下方法之一:

例如,如需指定两个虚拟机名称,请在请求正文中添加以下内容:

{
  "name": "RESIZE_REQUEST_NAME",
  "instances": [
    {
      "name": "INSTANCE_NAME_1"
    },
    {
      "name": "INSTANCE_NAME_2"
    }
  ]
}

INSTANCE_NAME_1, INSTANCE_NAME_2 替换为虚拟机的名称。

安装 GPU 驱动程序

创建实例后,除非已安装正确的 GPU 驱动程序,否则该实例无法使用其 GPU。 您需要安装的驱动程序取决于实例是否启用了 NVIDIA RTX 虚拟工作站 (vWS)。使用以下任一选项:

接下来怎么做?