本文档介绍如何基于 A3 Ultra 或 A4 机器系列创建挂接 GPU 的实例。如需详细了解如何创建挂接 GPU 的实例,请参阅创建挂接 GPU 的实例概览。
A4 和 A3 Ultra 机器系列旨在让您能够运行大规模 AI/ML 集群,并提供目标工作负载放置、高级集群维护控制和拓扑感知调度等功能。如需了解详情,请参阅集群管理概览。
准备工作
- 如需查看创建挂接 GPU 的实例的限制和其他前提步骤(例如,如何选择操作系统映像或检查 GPU 配额),请参阅创建挂接 GPU 的实例概览。
-
如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 Google Cloud 服务和 API。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (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
权限
确定如何创建 A3 Ultra 或 A4 实例
如需确定要使用哪些选项来创建 A3 Ultra 或 A4 实例,请完成以下步骤:
选择使用选项:如需了解如何为 A3 Ultra 或 A4 实例选择使用选项,请参阅 AI Hypercomputer 文档中的选择使用选项。
获取容量:如需了解如何为所选的使用选项获取 A3 Ultra 或 A4 实例的容量,请参阅 AI Hypercomputer 文档中的容量概览。
选择创建说明:如需了解可用于创建 A3 Ultra 或 A4 实例的所有选项(例如受管实例组 [MIG] 或集群),请参阅 AI Hypercomputer 文档中的创建虚拟机和集群概览。
如果您想使用 A3 Ultra 或 A4 的集群管理功能,或者不想创建独立实例,请改为选择 AI Hypercomputer 文档中的创建选项。
创建 A3 Ultra 或 A4 实例
如需创建 A3 Ultra 或 A4 实例,请完成以下步骤:
创建 VPC 网络
如需为 A4 或 A3 Ultra 机器类型设置网络,请为以下网络接口创建三个 VPC 网络:
- 2 个常规 VPC 网络,用于 gVNIC 网络接口 (NIC)。这些接口用于主机到主机的通信。
- CX-7 NIC 需要 1 个采用 RoCE 网络配置文件的 VPC 网络。RoCE VPC 网络需要有 8 个子网,每个 CX-7 NIC 对应一个子网。这些 NIC 使用 RDMA over Converged Ethernet (RoCE),可提供对于 GPU 到 GPU 通信至关重要的高带宽、低延迟通信。
如需详细了解 NIC 配置,请参阅查看网络带宽和 NIC 配置。
您可以按照说明指南手动创建网络,也可以使用提供的脚本自动创建。
说明指南
如需创建网络,您可以按照以下说明操作:
- 如需为 gVNIC 创建常规 VPC 网络,请参阅创建和管理 Virtual Private Cloud 网络。
- 如需创建 RoCE VPC 网络,请参阅为 RDMA NIC 创建 Virtual Private Cloud 网络。
对于这些 VPC 网络,我们建议将最大传输单元 (MTU) 设置为更大的值。对于 A4 或 A3 Ultra 机器类型,建议的 MTU 为
8896
字节。 如需查看其他 GPU 机器类型的建议 MTU 设置,请参阅 GPU 机器类型的 MTU 设置。脚本
如需创建网络,请按照以下步骤操作。
对于这些 VPC 网络,我们建议将最大传输单元 (MTU) 设置为更大的值。对于 A4 或 A3 Ultra 机器类型,建议的 MTU 为
8896
字节。 如需查看其他 GPU 机器类型的建议 MTU 设置,请参阅 GPU 机器类型的 MTU 设置。使用以下脚本为 gVNIC 和 CX-7 NIC 创建 VPC 网络。
#!/bin/bash # Create regular VPC networks and subnets for the gVNICs for N in $(seq 0 1); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom \ --mtu=8896 gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Assumes that an external IP is only created for vNIC 0 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # List and make sure network profiles exist in the machine type's zone gcloud compute network-profiles list --filter "location.name=ZONE" # Create network for CX-7 gcloud compute networks create RDMA_NAME_PREFIX-mrdma \ --network-profile=ZONE-vpc-roce \ --subnet-mode custom \ --mtu=8896 # Create subnets for N in $(seq 0 7); do gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \ --network=RDMA_NAME_PREFIX-mrdma \ --region=REGION \ --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs done
替换以下内容:
GVNIC_NAME_PREFIX
:用于 gVNIC 的常规 VPC 网络和子网的自定义名称前缀。RDMA_NAME_PREFIX
:用于 CX-7 NIC 的 RoCE VPC 网络和子网的自定义名称前缀。ZONE
:指定提供您要使用的机器类型的可用区,例如us-central1-a
。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。REGION
:您想要在其中创建子网的区域。此区域必须与指定的可用区相对应。例如,如果可用区为us-central1-a
,则区域为us-central1
。IP_RANGE
:用于 SSH 防火墙规则的 IP 范围。
- 可选:如需验证 VPC 网络资源是否已成功创建,请在 Google Cloud 控制台中检查网络设置:
- 在 Google Cloud 控制台中,前往 VPC 网络页面。
- 在列表中搜索您在上一步中创建的网络。
- 如需查看子网、防火墙规则和其他网络设置,请点击网络的名称。
创建实例
如需创建实例,请使用以下选项之一。
控制台
在 Google Cloud 控制台中,前往创建实例页面。
此时将显示创建实例屏幕,并显示机器配置窗格。
在机器配置窗格中,完成以下步骤:
为您的实例指定名称。请参阅资源命名惯例。
选择您已预留容量的区域和可用区。
点击 GPU 标签页,然后完成以下步骤:
在 GPU 类型列表中,选择您的 GPU 类型。
对于 A4 实例,选择 NVIDIA B200。
对于 A3 Ultra 实例,选择 NVIDIA H200 141GB。
在 GPU 数量列表中,选择 8。
在导航菜单中,点击操作系统和存储空间。在显示的操作系统和存储空间窗格中,完成以下步骤:
点击更改。系统会显示启动磁盘配置窗格。
在公共映像标签页中,选择推荐的映像。如需查看推荐映像的列表,请参阅操作系统。
如需确认您的启动磁盘选项,请点击选择。
如需创建多 NIC 实例,请完成以下步骤。否则,如需创建单 NIC 实例,请跳过这些步骤。
在导航菜单中,点击网络。在显示的网络窗格中,完成以下步骤:
在网络接口部分中,完成以下步骤:
删除默认网络接口。如需删除该接口,请点击
删除。点击添加网络接口。使用此选项添加连接到您在上一部分中创建的 VPC 网络的网络接口。添加网络接口时,请注意以下事项:
对于用于主机到主机通信的网络接口,请从网络和子网列表中选择常规 VPC 网络和子网,并将网络接口卡列表设置为 gVNIC。
对于用于 GPU 到 GPU 通信的网络接口,请从网络和子网列表中选择 RoCE VPC 网络和子网,并将这些网络接口的网络接口卡列表设置为 MRDMA。
在导航菜单中,点击高级。然后,根据您要使用的配置模型完成以下步骤。
灵活启动
- 在预配模型部分中,从虚拟机预配模型列表中选择弹性启动。
在输入小时数中,输入您希望虚拟机运行的最长时间。该值必须介于 46 秒 (
0.01
) 和 7 天(168
,即 168 小时)之间。选择设置虚拟机创建等待时间。
根据工作负载的可用区要求,我们建议您指定以下时长之一,以提高虚拟机创建请求的成功率:
- 对可用区有严格要求的工作负载:如果您的工作负载要求您在特定可用区中创建虚拟机,请指定介于 90 秒和 2 小时之间的时长。 持续时间越长,获得资源的机会就越大。
- 对可用区没有严格要求的工作负载:如果虚拟机可以在区域内的任何可用区中运行,请指定 0 秒的持续时间,或清除设置虚拟机创建等待时间复选框。此操作指定 Compute Engine 仅在资源可立即使用时才分配资源。如果虚拟机创建请求因资源不可用而失败,请在其他可用区中重试该请求。
受预留约束
点击选择预留。此操作会打开一个窗格,其中列出了所选可用区内的可用预留。在预订列表中,完成以下步骤:
- 选择要用于虚拟机的预留。您还可以选择预留中的特定区块。
- 点击选择。
Spot
- 在预配模型部分中,从虚拟机预配模型列表中选择 Spot。
可选:如需选择 Compute Engine 抢占虚拟机时发生的终止操作,请完成以下步骤:
- 展开虚拟机预配模型高级设置部分。
- 在虚拟机终止时列表中,选择以下选项之一:
- 如需在抢占期间停止虚拟机,请选择停止(默认)。
- 如需在抢占期间删除虚拟机,请选择删除。
要创建并启动该实例,请点击创建。
gcloud
如需创建虚拟机,请使用
gcloud compute instances create
命令。您需要指定的参数取决于您为此部署使用的消费选项。选择与您的消费选项的配置模型对应的标签页。
灵活启动
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --zone=ZONE \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --scopes=cloud-platform \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \ --reservation-affinity=none \ --provisioning-model=FLEX_START \ --request-valid-for-duration=REQUEST_VALID_FOR_DURATION \ --max-run-duration=MAX_RUN_DURATION \ --instance-termination-action=DELETE \ --maintenance-policy=TERMINATE
替换以下内容:
VM_NAME
:虚拟机的名称。MACHINE_TYPE
:要用于虚拟机的机器类型。 如需了解详情,请参阅 GPU 机器类型。IMAGE_FAMILY
:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅操作系统详细信息。IMAGE_PROJECT
:操作系统映像的项目 ID。ZONE
:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。DISK_SIZE
:启动磁盘的大小(以 GB 为单位)。GVNIC_NAME_PREFIX
:您在创建使用 gVNIC 的标准 VPC 网络和子网时指定的名称前缀。RDMA_NAME_PREFIX
:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。REQUEST_VALID_FOR_DURATION
:创建虚拟机的请求的有效时长。您必须将该值的格式设置为天数、小时数、分钟数或秒数,并分别添加对应的后缀d
、h
、m
或s
。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。如果您未指定时长,则默认时长为 90 秒。根据工作负载的可用区要求,我们建议您指定以下时长之一,以提高虚拟机创建请求的成功率:
- 对可用区有严格要求的工作负载:如果您的工作负载要求您在特定可用区中创建虚拟机,请指定 90 秒到 2 小时之间的时长。时长越长,获得资源的机会就越大。
- 对可用区没有严格要求的工作负载:如果虚拟机可以在区域内的任何可用区中运行,则指定时长为零秒 (
0
)。此操作指定 Compute Engine 仅在资源立即可用时才分配资源。如果虚拟机创建请求因资源不可用而失败,请在其他可用区中重试该请求。
MAX_RUN_DURATION
:您希望请求的虚拟机运行的时长。您必须将该值的格式设置为天数、小时数、分钟数或秒数,后面分别跟d
、h
、m
和s
。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。该值必须介于 10 分钟到 7 天之间。
受预留约束
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --zone=ZONE \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --scopes=cloud-platform \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \ --reservation-affinity=specific \ --reservation=RESERVATION \ --provisioning-model=RESERVATION_BOUND \ --instance-termination-action=TERMINATION_ACTION \ --maintenance-policy=TERMINATE
替换以下内容:
VM_NAME
:虚拟机的名称。MACHINE_TYPE
:要用于虚拟机的机器类型。 如需了解详情,请参阅 GPU 机器类型。IMAGE_FAMILY
:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅操作系统详细信息。IMAGE_PROJECT
:操作系统映像的项目 ID。ZONE
:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。DISK_SIZE
:启动磁盘的大小(以 GB 为单位)。GVNIC_NAME_PREFIX
:您在创建使用 gVNIC 的标准 VPC 网络和子网时指定的名称前缀。RDMA_NAME_PREFIX
:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。-
RESERVATION
:预留名称或预留中的特定块。如需获取预留名称或可用块,请参阅查看预留容量。根据您对实例布置的要求,请按以下方式之一操作:如需在任意块上创建实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
此外,如需在同一块中创建多个实例,请在创建每个实例时应用相同的紧凑布置政策,该政策指定了块共置 (
maxDistance=2
)。 然后,Compute Engine 会将该政策应用于预留,并在同一块上创建实例。如需在特定块上创建实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION
:指示在预留期结束时,Compute Engine 是关停 (STOP
) 还是删除 (DELETE
) 虚拟机。
Spot
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --zone=ZONE \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --scopes=cloud-platform \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \ --provisioning-model=SPOT \ --instance-termination-action=TERMINATION_ACTION
替换以下内容:
VM_NAME
:虚拟机的名称。MACHINE_TYPE
:要用于虚拟机的机器类型。 如需了解详情,请参阅 GPU 机器类型。IMAGE_FAMILY
:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅操作系统详细信息。IMAGE_PROJECT
:操作系统映像的项目 ID。ZONE
:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。DISK_SIZE
:启动磁盘的大小(以 GB 为单位)。GVNIC_NAME_PREFIX
:您在创建使用 gVNIC 的标准 VPC 网络和子网时指定的名称前缀。RDMA_NAME_PREFIX
:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。TERMINATION_ACTION
:当 Compute Engine 抢占实例时执行的操作(STOP
[默认] 或DELETE
)。
REST
如需创建虚拟机,请向
instances.insert
方法发出POST
请求。您需要指定的参数取决于您为此部署使用的消费选项。选择与您的消费选项的配置模型对应的标签页。
灵活启动
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb": "DISK_SIZE", "diskType": "hyperdisk-balanced", "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" ] } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT" } ], "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0", "nicType": "GVNIC", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1", "nicType": "GVNIC", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7" } ], "reservationAffinity":{ "consumeReservationType": "NO_RESERVATION", }, "scheduling":{ "provisioningModel": "FLEX_START", "requestValidForDuration": { "seconds": REQUEST_VALID_FOR_DURATION }, "maxRunDuration": { "seconds": MAX_RUN_DURATION }, "instanceTerminationAction": "DELETE", "onHostMaintenance": "TERMINATE", } }
替换以下内容:
PROJECT_ID
:您要在其中创建虚拟机的项目的 ID。ZONE
:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。MACHINE_TYPE
:要用于虚拟机的机器类型。 如需了解详情,请参阅 GPU 机器类型。VM_NAME
:虚拟机的名称。DISK_SIZE
:启动磁盘的大小(以 GB 为单位)。IMAGE_PROJECT
:操作系统映像的项目 ID。IMAGE_FAMILY
:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅操作系统详细信息。NETWORK_PROJECT_ID
:网络的项目 ID。GVNIC_NAME_PREFIX
:您在创建使用 gVNIC 的标准 VPC 网络和子网时指定的名称前缀。REGION
:子网所在的区域。RDMA_NAME_PREFIX
:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。REQUEST_VALID_FOR_DURATION
:创建虚拟机的请求的有效时长。您必须将该值的格式设置为天数、小时数、分钟数或秒数,并分别添加对应的后缀d
、h
、m
或s
。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。如果您未指定时长,则默认时长为 90 秒。根据工作负载的可用区要求,我们建议您指定以下时长之一,以提高虚拟机创建请求的成功率:
- 对可用区有严格要求的工作负载:如果您的工作负载要求您在特定可用区中创建虚拟机,请指定 90 秒到 2 小时之间的时长。时长越长,获得资源的机会就越大。
- 对可用区没有严格要求的工作负载:如果虚拟机可以在区域内的任何可用区中运行,则指定时长为零秒 (
0
)。此操作指定 Compute Engine 仅在资源立即可用时才分配资源。如果虚拟机创建请求因资源不可用而失败,请在其他可用区中重试该请求。
MAX_RUN_DURATION
:您希望请求的虚拟机运行的时长。您必须将该值格式化为秒数。例如,指定86400
表示 1 天。该值必须介于 10 分钟到 7 天之间。
受预留约束
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb": "DISK_SIZE", "diskType": "hyperdisk-balanced", "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" ] } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT" } ], "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0", "nicType": "GVNIC", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1", "nicType": "GVNIC", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7" } ], "reservationAffinity":{ "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values":[ "RESERVATION" ] }, "scheduling":{ "provisioningModel": "RESERVATION_BOUND", "instanceTerminationAction": "TERMINATION_ACTION", "onHostMaintenance": "TERMINATE", "automaticRestart": true } }
替换以下内容:
PROJECT_ID
:您要在其中创建虚拟机的项目的 ID。ZONE
:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。MACHINE_TYPE
:要用于虚拟机的机器类型。 如需了解详情,请参阅 GPU 机器类型。VM_NAME
:虚拟机的名称。DISK_SIZE
:启动磁盘的大小(以 GB 为单位)。IMAGE_PROJECT
:操作系统映像的项目 ID。IMAGE_FAMILY
:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅操作系统详细信息。NETWORK_PROJECT_ID
:网络的项目 ID。GVNIC_NAME_PREFIX
:您在创建使用 gVNIC 的标准 VPC 网络和子网时指定的名称前缀。REGION
:子网所在的区域。RDMA_NAME_PREFIX
:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。-
RESERVATION
:预留名称或预留中的特定块。如需获取预留名称或可用块,请参阅查看预留容量。根据您对实例布置的要求,请按以下方式之一操作:如需在任意块上创建实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
此外,如需在同一块中创建多个实例,请在创建每个实例时应用相同的紧凑布置政策,该政策指定了块共置 (
maxDistance=2
)。 然后,Compute Engine 会将该政策应用于预留,并在同一块上创建实例。如需在特定块上创建实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION
:指示在预留期结束时,Compute Engine 是关停 (STOP
) 还是删除 (DELETE
) 虚拟机。
Spot
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb": "DISK_SIZE", "diskType": "hyperdisk-balanced", "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" ] } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT" } ], "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0", "nicType": "GVNIC", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1", "nicType": "GVNIC", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6" }, { "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7" } ], "scheduling": { "provisioningModel": "SPOT", "instanceTerminationAction": "TERMINATION_ACTION" } }
替换以下内容:
PROJECT_ID
:您要在其中创建虚拟机的项目的 ID。ZONE
:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。MACHINE_TYPE
:要用于虚拟机的机器类型。 如需了解详情,请参阅 GPU 机器类型。VM_NAME
:虚拟机的名称。DISK_SIZE
:启动磁盘的大小(以 GB 为单位)。IMAGE_PROJECT
:操作系统映像的项目 ID。IMAGE_FAMILY
:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅操作系统详细信息。NETWORK_PROJECT_ID
:网络的项目 ID。GVNIC_NAME_PREFIX
:您在创建使用 gVNIC 的标准 VPC 网络和子网时指定的名称前缀。REGION
:子网所在的区域。RDMA_NAME_PREFIX
:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。TERMINATION_ACTION
:当 Compute Engine 抢占实例时执行的操作(STOP
[默认] 或DELETE
)。
准备好实例以供使用
如需准备挂接了 GPU 的实例以供使用,请完成以下步骤:
如需让 A4 或 A3 Ultra 实例使用其挂接的 GPU,该实例必须安装 GPU 驱动程序。除非实例中的映像已包含所需的 GPU 驱动程序,否则请安装 GPU 驱动程序。
如果您在上一个部分中创建了 Spot 虚拟机,请完成以下步骤:
如需为 Spot 虚拟机做好应对潜在抢占的准备,请参阅管理 Spot 虚拟机抢占。
可选:了解 Spot 虚拟机的最佳实践。
后续步骤
如需监控 GPU 性能,请参阅监控 GPU 性能。
如需排查 GPU 实例的问题,请参阅排查 GPU 虚拟机问题。
详细了解 GPU 平台。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-10-19。
-