批量创建经过 AI 优化的 G2 虚拟机

本文档介绍了如何批量创建使用 G2 机器类型的虚拟机 (VM) 实例。如需详细了解这些加速器优化机器类型,请参阅 G2 系列

如需详细了解如何批量创建虚拟机,请参阅 Compute Engine 文档中的虚拟机批量创建简介

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

限制

创建 G2 虚拟机时,存在以下限制:

  • 使用 G2 机器类型的实例不会获得持续使用折扣灵活承诺使用折扣。
  • 只能在部分区域和可用区使用 G2 机器类型。
  • G2 机器类型仅在 Cascade Lake 平台上提供。
  • 使用 G2 机器类型的实例不支持标准永久性磁盘 (pd-standard)。如需了解支持的磁盘类型,请参阅 G2 支持的磁盘类型
  • 不能在使用 G2 机器类型的实例上创建多实例 GPU
  • 如果您需要更改 G2 实例的机器类型,请查看修改加速器优化实例
  • 不能将 Deep Learning VM Image 映像用作使用 G2 机器类型的实例的启动磁盘。
  • Container-Optimized OS 的当前默认驱动程序不支持在 G2 机器类型上运行的 L4 GPU。此外,Container-Optimized OS 仅支持一组选定的驱动程序。如需在 G2 机器类型上使用 Container-Optimized OS,请查看以下说明:
    • 使用支持推荐的最低 NVIDIA 驱动程序版本 525.60.13 或更高版本的 Container-Optimized OS 版本。如需了解详情,请查看 Container-Optimized OS 版本说明
    • 安装驱动程序时,请指定适用于 L4 GPU 的最新可用版本。 例如 sudo cos-extensions install gpu -- -version=525.60.13
  • 在以下情况下,必须使用 Google Cloud CLI 或 REST 创建 G2 实例
    • 您想要指定自定义内存值。
    • 您想要自定义可见 CPU 核心数。
如果您想使用紧凑布置政策,请查看布置政策的限制

准备工作

在批量创建虚拟机之前,如果您尚未完成以下步骤,请先完成这些步骤:

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

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

控制台

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

gcloud

在 Google Cloud 控制台中,激活 Cloud Shell。

激活 Cloud Shell

Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

REST

如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。

    安装 Google Cloud CLI。

    如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

所需的角色

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

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

所需权限

批量创建虚拟机需要以下权限:

  • 针对项目的 compute.instances.create 权限
  • 使用自定义映像创建虚拟机:针对映像的 compute.images.useReadOnly 权限
  • 使用快照创建虚拟机:针对快照的 compute.snapshots.useReadOnly 权限
  • 使用实例模板创建虚拟机:针对实例模板的 compute.instanceTemplates.useReadOnly 权限
  • 为虚拟机指定子网:针对项目或所选子网的 compute.subnetworks.use 权限
  • 为虚拟机指定静态 IP 地址:针对项目的 compute.addresses.use 权限
  • 在使用 VPC 网络时为虚拟机分配外部 IP 地址:针对项目或所选子网的 compute.subnetworks.useExternalIp 权限
  • 为虚拟机分配旧版网络:针对项目的 compute.networks.use 权限
  • 使用旧版网络时为虚拟机分配外部 IP 地址:针对项目的 compute.networks.useExternalIp 权限
  • 为虚拟机设置虚拟机实例元数据:针对项目的 compute.instances.setMetadata 权限
  • 为虚拟机设置标记:针对虚拟机的 compute.instances.setTags 权限
  • 为虚拟机设置标签:针对虚拟机的 compute.instances.setLabels 权限
  • 为虚拟机设置要使用的服务账号:针对虚拟机的 compute.instances.setServiceAccount 权限
  • 为虚拟机创建新磁盘:针对项目的 compute.disks.create 权限
  • 以只读或读写模式挂接现有磁盘:针对磁盘的 compute.disks.use 权限
  • 以只读模式挂接现有磁盘:针对磁盘的 compute.disks.useReadOnly 权限

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

概览

使用 G2 机器类型批量创建实例包括以下步骤:

  1. 可选: 创建紧凑布置政策
  2. 批量创建实例
  3. 安装 GPU 驱动程序

可选:创建紧凑布置政策

您可以通过创建紧凑布置政策来指定虚拟机布置。当您将紧凑布置政策应用于虚拟机时,Compute Engine 会尽力尝试创建尽可能彼此靠近的虚拟机。如果您的应用对延迟时间敏感,并且需要实现最大紧凑性,请在创建紧凑布置政策时指定 maxDistance 字段(预览版)。maxDistance 值越小,虚拟机布置得越靠近,但也会增加部分虚拟机创建失败的概率。

如需创建紧凑布置政策,请选择以下选项之一:

gcloud

如需创建紧凑布置政策,请使用 gcloud beta compute resource-policies create group-placement 命令

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

替换以下内容:

  • POLICY_NAME:紧凑布置政策的名称。
  • MAX_DISTANCE:虚拟机的最大距离配置,可以指定(预览版,推荐)或不指定(移除 --max-distance 标志)。确保最大距离配置支持您计划创建的机器系列和虚拟机数量。如需了解详情,请参阅 Compute Engine 文档中的紧凑布置政策简介。例如,最大距离为 3 时,系统会将虚拟机布置在相邻的块中;最大距离为 2 时,系统会将虚拟机布置在同一块中。
  • REGION:要用于创建紧凑布置政策的区域。 指定包含您计划创建实例的可用区的区域,并验证您要使用的机器类型是否在该区域中可用。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性

REST

如需创建紧凑布置政策,请向 Beta 版 resourcePolicies.insert 方法发出 POST 请求。 在请求正文中,添加设置为 COLLOCATEDcollocation 字段和 maxDistance 字段。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • POLICY_NAME:紧凑布置政策的名称。
  • MAX_DISTANCE:虚拟机的最大距离配置,可以指定(预览版,推荐)或不指定(移除 maxDistance 字段)。确保最大距离配置支持您计划创建的机器系列和虚拟机数量。如需了解详情,请参阅 Compute Engine 文档中的紧凑布置政策简介。例如,最大距离为 3 时,系统会将虚拟机布置在相邻的块中;最大距离为 2 时,系统会将虚拟机布置在同一块中。
  • REGION:要用于创建紧凑布置政策的区域。 指定包含您计划创建实例的可用区的区域,并验证您要使用的机器类型是否在该区域中可用。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性

批量创建 G2 虚拟机

如需批量创建 G2 虚拟机,请使用以下方法之一。

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

gcloud

如需批量创建实例,请使用 gcloud compute instances bulk create 命令

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

预留

G2 实例支持以下预留类型

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

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

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --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. 替换以下内容:

    • NAME_PATTERN:要用于 G2 实例的名称格式。 例如,将 instance-# 用于名称模式会生成名称为 instance-1instance-2 等依次递增的 G2 实例,数量最多为 --count 指定的 G2 实例数量。
    • COUNT:要创建的 G2 实例数量。
    • MACHINE_TYPE:要用于 G2 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 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. 可选:如果您选择使用紧凑布置政策,请向命令添加以下标志:

    --resource-policies=POLICY_NAME
    

    替换以下内容:

    • POLICY_NAME:紧凑布置政策的名称。
  4. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

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

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

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

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

  5. 可选:如需使用 NVIDIA RTX 虚拟工作站 (vWS),请添加以下标志。

    当您创建使用 NVIDIA RTX 虚拟工作站的实例时,Compute Engine 会自动添加 vWS 许可。如需了解虚拟工作站的价格,请参阅 GPU 价格页面

    --accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT
    

    VWS_ACCELERATOR_COUNT 替换为您需要的虚拟 GPU 数量。

  6. 运行以上命令。

按需

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --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. 替换以下内容:

    • NAME_PATTERN:要用于 G2 实例的名称格式。 例如,将 instance-# 用于名称模式会生成名称为 instance-1instance-2 等依次递增的 G2 实例,数量最多为 --count 指定的 G2 实例数量。
    • COUNT:要创建的 G2 实例数量。
    • MACHINE_TYPE:要用于 G2 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 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. 可选:如果您选择使用紧凑布置政策,请向命令添加以下标志:

    --resource-policies=POLICY_NAME
    

    替换以下内容:

    • POLICY_NAME:紧凑布置政策的名称。
  4. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

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

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

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

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

  5. 可选:如需使用 NVIDIA RTX 虚拟工作站 (vWS),请添加以下标志。

    当您创建使用 NVIDIA RTX 虚拟工作站的实例时,Compute Engine 会自动添加 vWS 许可。如需了解虚拟工作站的价格,请参阅 GPU 价格页面

    --accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT
    

    VWS_ACCELERATOR_COUNT 替换为您需要的虚拟 GPU 数量。

  6. 运行以上命令。

Spot

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --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. 替换以下内容:

    • NAME_PATTERN:要用于 G2 实例的名称格式。 例如,将 instance-# 用于名称模式会生成名称为 instance-1instance-2 等依次递增的 G2 实例,数量最多为 --count 指定的 G2 实例数量。
    • COUNT:要创建的 G2 实例数量。
    • MACHINE_TYPE:要用于 G2 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 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. 可选:如果您选择使用紧凑布置政策,请向命令添加以下标志:

    --resource-policies=POLICY_NAME
    

    替换以下内容:

    • POLICY_NAME:紧凑布置政策的名称。
  3. 可选:如需挂接本地 SSD 磁盘,请为每个本地 SSD 磁盘添加以下 --local-ssd 标志。

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

    --local-ssd interface=INTERFACE_TYPE
    

    替换以下内容:

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

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

  4. 可选:如需使用 NVIDIA RTX 虚拟工作站 (vWS),请添加以下标志。

    当您创建使用 NVIDIA RTX 虚拟工作站的实例时,Compute Engine 会自动添加 vWS 许可。如需了解虚拟工作站的价格,请参阅 GPU 价格页面

    --accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT
    

    VWS_ACCELERATOR_COUNT 替换为您需要的虚拟 GPU 数量。

  5. 运行以上命令。

REST

如需批量创建实例,请向 instances.bulkInsert 方法发出 POST 请求。

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

预留

G2 实例支持以下预留类型

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

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

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_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. 替换以下内容:

    • PROJECT_ID:您希望创建 G2 实例的项目的 ID。
    • ZONE:指定您要使用的机器类型所在的可用区。如果您要指定紧凑布置政策,则必须使用与紧凑布置政策位于同一区域的可用区。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • NAME_PATTERN:要用于 G2 实例的名称格式。 例如,将 instance-# 用于名称模式会生成名称为 instance-1instance-2 等依次递增的 G2 实例,数量最多为 --count 指定的 G2 实例数量。
    • COUNT:要创建的 G2 实例数量。
    • MACHINE_TYPE:要用于 G2 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • 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. 可选:如果您选择使用紧凑布置政策,请将以下 instanceProperties 子字段添加到请求正文中:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    替换以下内容:

    • PROJECT_ID:紧凑布置政策的项目 ID。
    • REGION:紧凑布置政策所在的区域。
    • POLICY_NAME:紧凑布置政策的名称。
  3. 可选:如需使用本地 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 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  4. 可选:如需使用 NVIDIA RTX 虚拟工作站 (vWS),请添加以下字段。

    当您创建使用 NVIDIA RTX 虚拟工作站的实例时,Compute Engine 会自动添加 vWS 许可。如需了解虚拟工作站的价格,请参阅 GPU 价格页面

    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
    

    VWS_ACCELERATOR_COUNT 替换为您需要的虚拟 GPU 数量。

  5. 提交请求。

按需

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_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. 替换以下内容:

    • PROJECT_ID:您希望创建 G2 实例的项目的 ID。
    • ZONE:指定您要使用的机器类型所在的可用区。如果您要指定紧凑布置政策,则必须使用与紧凑布置政策位于同一区域的可用区。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • NAME_PATTERN:要用于 G2 实例的名称格式。 例如,将 instance-# 用于名称模式会生成名称为 instance-1instance-2 等依次递增的 G2 实例,数量最多为 --count 指定的 G2 实例数量。
    • COUNT:要创建的 G2 实例数量。
    • MACHINE_TYPE:要用于 G2 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • AUTOMATIC_RESTART:如果实例崩溃或 Compute Engine 因计划停机(如维护事件)而停止实例,是否自动重启实例。指定 true 可启用自动重启(默认),指定 false 可停用自动重启。

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

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

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

  2. 可选:如果您选择使用紧凑布置政策,请将以下 instanceProperties 子字段添加到请求正文中:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    替换以下内容:

    • PROJECT_ID:紧凑布置政策的项目 ID。
    • REGION:紧凑布置政策所在的区域。
    • POLICY_NAME:紧凑布置政策的名称。
  3. 可选:如需使用本地 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 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  4. 可选:如需使用 NVIDIA RTX 虚拟工作站 (vWS),请添加以下字段。

    当您创建使用 NVIDIA RTX 虚拟工作站的实例时,Compute Engine 会自动添加 vWS 许可。如需了解虚拟工作站的价格,请参阅 GPU 价格页面

    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
    

    VWS_ACCELERATOR_COUNT 替换为您需要的虚拟 GPU 数量。

  5. 提交请求。

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_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. 替换以下内容:

    • PROJECT_ID:您希望创建 G2 实例的项目的 ID。
    • ZONE:指定您要使用的机器类型所在的可用区。如果您要指定紧凑布置政策,则必须使用与紧凑布置政策位于同一区域的可用区。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性
    • NAME_PATTERN:要用于 G2 实例的名称格式。 例如,将 instance-# 用于名称模式会生成名称为 instance-1instance-2 等依次递增的 G2 实例,数量最多为 --count 指定的 G2 实例数量。
    • COUNT:要创建的 G2 实例数量。
    • MACHINE_TYPE:要用于 G2 实例的机器类型。如需了解详情,请参阅 Compute Engine 文档中的 GPU 机器类型
    • DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请参阅 Google Cloud Hyperdisk 大小限制永久性磁盘大小限制(具体取决于磁盘类型)。
    • DISK_TYPE:启动磁盘的类型。 如需详细了解您的机器类型支持的磁盘类型,请参阅 Compute Engine 文档中的加速器优化型机器家族中的 GPU 机器
    • IMAGE_PROJECT:操作系统映像的项目 ID。
    • IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统
    • TERMINATION_ACTION:当 Compute Engine 抢占实例时执行的操作(STOP [默认] 或 DELETE)。

  2. 可选:如果您选择使用紧凑布置政策,请将以下 instanceProperties 子字段添加到请求正文中:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    替换以下内容:

    • PROJECT_ID:紧凑布置政策的项目 ID。
    • REGION:紧凑布置政策所在的区域。
    • POLICY_NAME:紧凑布置政策的名称。
  3. 可选:如需使用本地 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 磁盘的虚拟机后,必须先格式化并装载每个设备,然后才能使用。

  4. 可选:如需使用 NVIDIA RTX 虚拟工作站 (vWS),请添加以下字段。

    当您创建使用 NVIDIA RTX 虚拟工作站的实例时,Compute Engine 会自动添加 vWS 许可。如需了解虚拟工作站的价格,请参阅 GPU 价格页面

    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
    

    VWS_ACCELERATOR_COUNT 替换为您需要的虚拟 GPU 数量。

  5. 提交请求。

如需详细了解批量创建虚拟机时的配置选项,请参阅 Compute Engine 文档中的批量创建虚拟机

安装 GPU 驱动程序

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

后续步骤