本文档介绍了如何创建使用 H4D 机器类型的托管式实例组 (MIG)。
创建 MIG 后,您可以将多个虚拟机 (VM) 作为单个实体进行管理。MIG 中的每个虚拟机均基于实例模板。通过自动管理实例组中的虚拟机,MIG 可提供高可用性和可伸缩性。如需详细了解 MIG,请参阅托管式实例组。
如需了解 HPC 虚拟机和 HPC 集群创建选项,请参阅 HPC 集群创建概览。
如果您想创建 MIG,但未使用 H4D 机器类型,或者不需要创建密集部署的实例,请参阅创建托管式实例组 (MIG) 的基本场景。
准备工作
选择使用选项:如需批量创建计算实例并启用增强型集群管理功能,您可以选择日历模式下的未来预留或 Spot 虚拟机。
如果您选择使用 Spot 虚拟机,则这些虚拟机可能不会紧凑地共置。此外,Spot 虚拟机可以根据需要被抢占,并且不符合管理一组虚拟机的主机维护事件的条件。
获取容量:每种使用选项的容量获取流程各不相同。
如需了解详情,请参阅选择使用选项并获取容量。
-
如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 Cloud de Confiance by S3NS 服务和 API。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
安装 Google Cloud CLI,然后使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init - Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI,然后使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init如需了解详情,请参阅 Cloud de Confiance 身份验证文档中的使用 REST 时进行身份验证。
概览
创建具有 H4D 机器类型的 MIG 包括以下步骤:
限制
创建包含 H4D 虚拟机的 MIG 时,存在以下限制:
如果您创建的是区域级 MIG,则该 MIG 只能在包含 VPC 网络配置文件的可用区中创建虚拟机。
您无法在 MIG 中配置实例灵活性。
如果您将工作负载政策应用于 MIG,则当该组包含虚拟机时,您无法更改 MIG 中的政策。如需更改包含虚拟机的 MIG 中的政策,您必须先将 MIG 调整为零。
您无法使用指定了放置政策的实例模板来创建使用工作负载政策的 MIG。
创建 MIG 调整大小请求时,需要遵循以下限制:
可选:创建 VPC 网络
创建计算实例时,您可以指定 VPC 网络和子网。如果省略此配置,则系统会使用默认网络和子网。
如果您想将 MIG 中的 H4D 实例配置为使用 Cloud RDMA,请完成本部分中的步骤;否则,您可以跳过本部分,改为使用默认网络。
如需将 Cloud RDMA 与 H4D 实例搭配使用,您必须至少配置两个网络,每个网络接口 (NIC) 类型对应一个网络:
- NIC 类型
GVNIC:使用gve驱动程序处理 TCP/IP 和网络流量,以实现正常的虚拟机间和虚拟机到网络的通信。 - NIC 类型
IRDMA:使用 IDPF/iRDMA 驱动程序在实例之间实现 Cloud RDMA 网络通信。
使用 Cloud RDMA 的实例只能有一个
IRDMA接口。您最多可以添加 8 个额外的GVNIC网络接口,使每个实例的总 vNIC 数达到 10 个。如需设置 Falcon VPC 网络以供实例使用,您可以按照文档中的说明操作,也可以使用提供的脚本。
说明指南
如需创建网络,您可以按照以下说明操作:
如需为
GVNIC网络接口创建主机网络,请参阅创建和管理 VPC 网络。如果您仅配置一个
GVNIC网络接口,则可以使用默认 VPC 网络以及与实例位于同一区域的自动子网。如需为
IRDMA网络接口创建网络,请参阅创建使用 Falcon VPC 网络配置文件的 VPC 网络。 为 Falcon VPC 网络使用最大传输单元 (MTU) 的默认值,即8896。
脚本
您最多可以为每个实例创建 9 个 gVNIC 网络接口和 1 个 IRDMA 网络接口。每个网络接口都必须连接到单独的网络。如需创建网络,您可以使用以下脚本,该脚本会为 gVNIC 创建两个网络,并为 IRDMA 创建一个网络。
- 可选:在运行脚本之前,列出 Falcon VPC 网络配置文件,以验证是否有可用的配置文件。
gcloud compute network-profiles list
复制以下代码,然后在 Linux shell 窗口中运行该代码。
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create regular VPC networks and subnets for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom 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 # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface 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 # Create a Falcon VPC network for the Cloud RDMA network interface gcloud compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet in the Falcon VPC network gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet ranges替换以下内容:
NUMBER_OF_GVNIC:要创建的 GVNIC 接口的数量。 指定一个介于 1 到 9 之间的数字。GVNIC_NAME_PREFIX:用于使用 GVNIC NIC 类型的常规 VPC 网络和子网的名称前缀。REGION:要在其中创建网络的区域。此区域必须与创建 Falcon VPC 网络时为--network-profile标志指定的可用区对应。 例如,如果您将可用区指定为europe-west4-b,则区域为europe-west4。IP_RANGE:VPC 网络外部用于 SSH 防火墙规则的 IP 地址范围。 最佳实践是指定您需要允许访问的特定来源 IP 地址范围,而不是所有 IPv4 或 IPv6 来源。 请勿使用0.0.0.0/0或::/0作为来源范围,因为这会允许来自所有 IPv4 或 IPv6 来源(包括 Cloud de Confiance by S3NS外部的来源)的流量。RDMA_NAME_PREFIX:用于使用 IRDMA NIC 类型的 VPC 网络和子网的名称前缀。ZONE:您要在其中创建网络和计算实例的可用区。请使用us-central1-a或europe-west4-b。
可选:如需验证 VPC 网络资源是否已成功创建,请在 Cloud de Confiance 控制台中检查网络设置:
- 在 Cloud de Confiance 控制台中,前往 VPC 网络页面。
- 在列表中搜索您在上一步中创建的网络。
- 如需查看子网、防火墙规则和其他网络设置,请点击网络的名称。
可选:创建工作负载政策
如果您希望 Compute Engine 将虚拟机实例布置在单个块或相邻的块中,请通过创建工作负载政策来指定实例布置。不过,如果您希望 Compute Engine 将实例放置在特定块中,请跳过此步骤,并在创建实例模板时在预留亲和性中提供该块的名称。
如果您已有工作负载政策,可以重复使用。当您将工作负载政策应用于 MIG 时,Compute Engine 会尽力尝试创建尽可能彼此靠近的实例。如果您的应用对延迟时间敏感,并且您希望实例布置得更靠近(紧凑性最大),请在创建工作负载政策时指定
maxTopologyDistance字段。工作负载政策创建后无法更新。如需更改工作负载政策,您必须创建新的政策。
如需创建工作负载政策,请选择以下选项之一:
gcloud
如需创建工作负载政策,请使用
gcloud compute resource-policies create workload-policy命令。-
如需尽力布置虚拟机,请仅在命令中指定
--type=high-throughput标志:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
如需严格将虚拟机放置在同一位置,请在命令中指定
--max-topology-distance标志:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
替换以下内容:
WORKLOAD_POLICY_NAME:工作负载政策的名称。REGION:要用于创建工作负载政策的区域。指定要在其中创建 MIG 且提供您要使用的机器类型的区域。如需了解区域和可用区,请参阅可用区域和可用区。
REST
如需创建工作负载政策,请向
resourcePolicies.insert方法发出POST请求。-
如需尽力布置虚拟机,请在请求中仅指定
type字段,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
如需严格将虚拟机放置在同一位置,请在请求中指定
maxTopologyDistance字段,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
替换以下内容:
PROJECT_ID:您的项目 IDREGION:要用于创建工作负载政策的区域。 指定要在其中创建 MIG 且提供您要使用的机器类型的区域。如需了解区域和可用区,请参阅可用区域和可用区。WORKLOAD_POLICY_NAME:工作负载政策的名称。
创建实例模板
如需为 MIG 中的每个实例指定实例和使用属性,请使用以下方法之一创建实例模板。
以下命令还会设置实例的访问权限范围。为了简化权限管理,Google 建议您将实例的访问权限范围设置为cloud-platform访问权限,然后使用 IAM 角色定义实例可以访问哪些服务。如需了解详情,请参阅范围最佳实践。gcloud
您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项和配置模型对应的标签页。
灵活启动
如需创建区域级实例模板,请使用
gcloud compute instance-templates create命令。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --instance-template-region=REGION \ --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, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY,no-address \ --reservation-affinity=none \ --instance-termination-action=DELETE \ --max-run-duration=RUN_DURATION \ --maintenance-policy=TERMINATE \ --provisioning-model=FLEX_START替换以下内容:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:用于实例的 H4D 机器类型。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。DISK_SIZE:启动磁盘的大小(以 GiB 为单位)。GVNIC_NAME_PREFIX:您在为 gVNIC 接口创建标准 VPC 网络和子网时使用的名称前缀。如果您使用的是默认网络,请仅添加一个
--network-interface字段,并将nic-type字段设置为GVNIC。此外,还应省略此网络接口的network和subnetwork设置。STACK_TYPE(可选):用于 gVNIC 接口的栈类型。 请指定IPV4_ONLY或IPV4_IPV6。 如果您未指定值,则系统会默认使用IPV4_ONLY。EXTERNAL_IPV4_ADDRESS(可选):要与 gVNIC 网络接口搭配使用的静态外部 IPv4 地址。您之前必须已预留外部 IPv4 地址。 执行下列其中一项操作:- 指定子网中的有效 IPv4 地址。
- 如果您不希望网络接口具有外部 IP 地址,请使用
no-address标志。 - 如果您希望网络接口接收临时外部 IP 地址,请指定
address=''。
如需为 GVNIC 网络接口指定外部 IPv6 地址,请改用
--external-ipv6-address标志。RDMA_NAME_PREFIX:您在为 IRDMA 网络接口创建 VPC 网络和子网时使用的名称前缀。如果您未将 Cloud RDMA 与 H4D 实例搭配使用,请省略 IRDMA 接口的
--network-interface字段。RUN_DURATION:您希望请求的实例运行的时长。您必须将该值的格式设置为天数、小时数、分钟数或秒数,后面分别跟d、h、m和s。例如,指定30m表示 30 分钟,或指定1d2h3m4s表示 1 天 2 小时 3 分钟 4 秒。该值必须介于 10 分钟到 7 天之间。
受预留约束
如需创建区域级实例模板,请使用
gcloud compute instance-templates create命令。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --instance-template-region=REGION \ --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, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY,no-address \ --reservation-affinity=specific \ --reservation=RESERVATION \ --provisioning-model=RESERVATION_BOUND \ --instance-termination-action=DELETE \ --maintenance-policy=TERMINATE替换以下内容:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:用于实例的 H4D 机器类型。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。DISK_SIZE:启动磁盘的大小(以 GiB 为单位)。GVNIC_NAME_PREFIX:您在为 gVNIC 接口创建标准 VPC 网络和子网时使用的名称前缀。如果您使用的是默认网络,请仅添加一个
--network-interface字段,并将nic-type字段设置为GVNIC。此外,还应省略此网络接口的network和subnetwork设置。STACK_TYPE(可选):用于 gVNIC 接口的栈类型。 请指定IPV4_ONLY或IPV4_IPV6。 如果您未指定值,则系统会默认使用IPV4_ONLY。EXTERNAL_IPV4_ADDRESS(可选):要与 gVNIC 网络接口搭配使用的静态外部 IPv4 地址。您之前必须已预留外部 IPv4 地址。 执行下列其中一项操作:- 指定子网中的有效 IPv4 地址。
- 如果您不希望网络接口具有外部 IP 地址,请使用
no-address标志。 - 如果您希望网络接口接收临时外部 IP 地址,请指定
address=''。
如需为 GVNIC 网络接口指定外部 IPv6 地址,请改用
--external-ipv6-address标志。RDMA_NAME_PREFIX:您在为 IRDMA 网络接口创建 VPC 网络和子网时使用的名称前缀。如果您未将 Cloud RDMA 与 H4D 实例搭配使用,请省略 IRDMA 接口的
--network-interface字段。-
RESERVATION:您要使用的预留的名称。RESERVATION:预留名称或预留中的特定块。如需获取预留名称或可用块,请参阅查看预留容量。根据您对实例布置的要求,请按以下方式之一操作:跨块或在单个块上创建实例:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
此外,对于单个块,请通过应用指定块共置 (
maxTopologyDistance=BLOCK) 的工作负载政策来创建 MIG。 然后,Compute Engine 会将该政策应用于预留,并在同一块上创建实例。在特定块上创建实例:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Spot
如需创建区域级实例模板,请使用
gcloud compute instance-templates create命令。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --instance-template-region=REGION \ --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, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY,no-address \ --provisioning-model=SPOT \ --instance-termination-action=TERMINATION_ACTION替换以下内容:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:用于实例的 H4D 机器类型。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。如需查看受支持的操作系统列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。DISK_SIZE:启动磁盘的大小(以 GiB 为单位)。GVNIC_NAME_PREFIX:您在为 gVNIC 接口创建标准 VPC 网络和子网时使用的名称前缀。如果您使用的是默认网络,请仅添加一个
--network-interface字段,并将nic-type字段设置为GVNIC。此外,还应省略此网络接口的network和subnetwork设置。STACK_TYPE(可选):用于 gVNIC 接口的栈类型。 请指定IPV4_ONLY或IPV4_IPV6。 如果您未指定值,则系统会默认使用IPV4_ONLY。EXTERNAL_IPV4_ADDRESS(可选):要与 gVNIC 网络接口搭配使用的静态外部 IPv4 地址。您之前必须已预留外部 IPv4 地址。 执行下列其中一项操作:- 指定子网中的有效 IPv4 地址。
- 如果您不希望网络接口具有外部 IP 地址,请使用
no-address标志。 - 如果您希望网络接口接收临时外部 IP 地址,请指定
address=''。
如需为 GVNIC 网络接口指定外部 IPv6 地址,请改用
--external-ipv6-address标志。RDMA_NAME_PREFIX:您在为 IRDMA 网络接口创建 VPC 网络和子网时使用的名称前缀。如果您未将 Cloud RDMA 与 H4D 实例搭配使用,请省略 IRDMA 接口的
--network-interface字段。TERMINATION_ACTION:指示 Compute Engine 在抢占时是停止 (STOP) 还是删除 (DELETE) Spot 虚拟机。
REST
您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项和配置模式对应的标签页。
灵活启动
如需创建区域级实例模板,请向
regionInstanceTemplates.insert方法发出POST请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name":"INSTANCE_TEMPLATE_NAME", "properties":{ "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "machineType":"MACHINE_TYPE", "networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ], , "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "instanceTerminationAction": "DELETE", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE", "provisioningModel": "FLEX_START" } } }替换以下内容:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:用于实例的机器类型。指定 H4D 机器类型。如需了解详情,请参阅 H4D 机器类型。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看受支持的操作系统列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅区域和可用区。DISK_SIZE:启动磁盘的大小(以 GiB 为单位)。GVNIC_NAME_PREFIX:您在为 gVNIC 接口创建标准 VPC 网络和子网时使用的名称前缀。如果您使用的是默认网络,请仅添加一个
--network-interface字段,并将nic-type字段设置为GVNIC。此外,还应省略此网络接口的network和subnetwork设置。EXTERNAL_IPV4_ADDRESS(可选):要与 gVNIC 网络接口搭配使用的静态外部 IPv4 地址。您之前必须已预留外部 IPv4 地址。如需为 GVNIC 网络接口指定外部 IPv6 地址,请改用
--external-ipv6-address标志。RDMA_NAME_PREFIX:您在为 IRDMA 网络接口创建 VPC 网络和子网时使用的名称前缀。如果您未将 Cloud RDMA 与 H4D 实例搭配使用,请省略 IRDMA 接口的
--network-interface字段。RUN_DURATION:您希望请求的实例运行的时长(以秒为单位)。该值必须介于600(600 秒,即 10 分钟)到604800(604,800 秒,即 7 天)之间。
受预留约束
如需创建区域级实例模板,请向
regionInstanceTemplates.insert方法发出POST请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name":"INSTANCE_TEMPLATE_NAME", "properties":{ "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "machineType":"MACHINE_TYPE", "networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ], , "reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION" ] }, "scheduling":{ "provisioningModel":"RESERVATION_BOUND", "instanceTerminationAction":"DELETE", "onHostMaintenance": "TERMINATE", "automaticRestart":true } } }替换以下内容:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:用于实例的机器类型。指定 H4D 机器类型。如需了解详情,请参阅 H4D 机器类型。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看受支持的操作系统列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅区域和可用区。DISK_SIZE:启动磁盘的大小(以 GiB 为单位)。GVNIC_NAME_PREFIX:您在为 gVNIC 接口创建标准 VPC 网络和子网时使用的名称前缀。如果您使用的是默认网络,请仅添加一个
--network-interface字段,并将nic-type字段设置为GVNIC。此外,还应省略此网络接口的network和subnetwork设置。EXTERNAL_IPV4_ADDRESS(可选):要与 gVNIC 网络接口搭配使用的静态外部 IPv4 地址。您之前必须已预留外部 IPv4 地址。如需为 GVNIC 网络接口指定外部 IPv6 地址,请改用
--external-ipv6-address标志。RDMA_NAME_PREFIX:您在为 IRDMA 网络接口创建 VPC 网络和子网时使用的名称前缀。如果您未将 Cloud RDMA 与 H4D 实例搭配使用,请省略 IRDMA 接口的
--network-interface字段。-
RESERVATION:您要使用的预留的名称。RESERVATION:预留名称或预留中的特定块。如需获取预留名称或可用块,请参阅查看预留容量。根据您对实例布置的要求,请按以下方式之一操作:跨块或在单个块上创建实例:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
此外,对于单个块,请通过应用指定块共置 (
maxTopologyDistance=BLOCK) 的工作负载政策来创建 MIG。 然后,Compute Engine 会将该政策应用于预留,并在同一块上创建实例。在特定块上创建实例:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Spot
如需创建区域级实例模板,请向
regionInstanceTemplates.insert方法发出POST请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name":"INSTANCE_TEMPLATE_NAME", "properties":{ "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "machineType":"MACHINE_TYPE", "networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ], , "scheduling": { "provisioningModel": "SPOT", "instanceTerminationAction": "TERMINATION_ACTION" } } }替换以下内容:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:用于实例的机器类型。指定 H4D 机器类型。如需了解详情,请参阅 H4D 机器类型。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看受支持的操作系统列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。REGION:要在其中创建实例模板的区域。 指定提供您要使用的机器类型的区域。 如需了解区域,请参阅区域和可用区。DISK_SIZE:启动磁盘的大小(以 GiB 为单位)。GVNIC_NAME_PREFIX:您在为 gVNIC 接口创建标准 VPC 网络和子网时使用的名称前缀。如果您使用的是默认网络,请仅添加一个
--network-interface字段,并将nic-type字段设置为GVNIC。此外,还应省略此网络接口的network和subnetwork设置。EXTERNAL_IPV4_ADDRESS(可选):要与 gVNIC 网络接口搭配使用的静态外部 IPv4 地址。您之前必须已预留外部 IPv4 地址。如需为 GVNIC 网络接口指定外部 IPv6 地址,请改用
--external-ipv6-address标志。RDMA_NAME_PREFIX:您在为 IRDMA 网络接口创建 VPC 网络和子网时使用的名称前缀。如果您未将 Cloud RDMA 与 H4D 实例搭配使用,请省略 IRDMA 接口的
--network-interface字段。TERMINATION_ACTION:指示 Compute Engine 在抢占时是停止 (STOP) 还是删除 (DELETE) Spot 虚拟机。
创建实例模板后,您可以查看该模板以查看其 ID 并检查其实例属性。
创建 MIG
完成上述所有步骤后,请根据您的使用情形创建 MIG,如下所示:
场景 用于创建 MIG 及其中虚拟机的办法 示例 您有多个或并行作业,这些作业可以从任意数量的虚拟机开始。 创建 MIG 并使用目标大小来指定您希望组中包含的虚拟机数量。
请参阅创建具有目标大小的 MIG。
机器学习推理作业 您的作业需要分布在确切数量的虚拟机中。 创建一个不含任何虚拟机的 MIG,然后在该 MIG 中创建规模调整请求。 借助调整大小请求,您可以一次性获取所有虚拟机。
请参阅创建 MIG 和规模调整请求。
分布式机器学习训练和微调作业 创建具有目标大小的 MIG
如果您可以在不同时创建所有虚拟机的情况下启动作业,请创建具有目标大小的 MIG。目标大小决定了 MIG 中的虚拟机数量。MIG 会根据当前资源可用性开始创建虚拟机。如果任何资源暂时不可用,MIG 会持续尝试创建虚拟机,以达到目标大小。
如需创建具有目标大小的 MIG,请选择以下选项之一:
gcloud
如需创建具有指定目标大小的 MIG,请使用
instance-groups managed create命令。用于创建 MIG 的命令使用工作负载政策来指定虚拟机放置位置。如果您不想使用工作负载政策,请移除
--workload-policy标志。按如下所示创建可用区级或区域级 MIG:
- 如需创建可用区级 MIG,请使用以下命令:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE
- 如需创建区域级 MIG,请使用以下命令:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --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 中所需的虚拟机数量。WORKLOAD_POLICY_URL(可选):工作负载政策的网址。例如,projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果您不想使用工作负载政策,可以移除--workload-policy标志。ZONE:您要在其中创建 MIG 的可用区。 如果您使用工作负载政策,请在政策的区域内指定一个可用区。REGION:您要在其中创建 MIG 的区域。 如果您使用工作负载政策,请指定与该政策相同的区域。 对于区域级 MIG,您可以使用--zones标志指定相应区域中的可用区,而不是指定区域。
REST
如需创建具有指定目标大小的 MIG,请发出
POST请求。用于创建 MIG 的请求使用工作负载政策来指定虚拟机放置位置。如果您不想使用工作负载政策,请移除
resourcePolicies.workloadPolicy字段。按如下所示创建可用区级或区域级 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", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 如需创建区域级 MIG,请向
regionInstanceGroupManagers.insert方法发出POST请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } }
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 中所需的虚拟机数量。WORKLOAD_POLICY_URL(可选):工作负载政策的网址。例如:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。 如果您不想使用工作负载政策,可以移除resourcePolicies.workloadPolicy字段。
创建 MIG 和规模调整请求
如果您需要同时使用多个虚拟机才能启动作业,请创建一个 MIG,然后在该 MIG 中创建规模调整请求,如本部分中所述。
如需在 MIG 中创建规模调整请求,请选择以下选项之一。
gcloud
您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项的配置模式对应的标签页。
替换以下内容:灵活启动
创建可用区级或区域级 MIG 以及规模调整请求,如下所示:
-
如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
-
使用
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 -
使用
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 并在其中创建规模调整请求,请执行以下操作:
-
使用
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 \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
使用 Beta 版
instance-groups managed resize-requests create命令在区域级 MIG 中创建规模调整请求,如下所示:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
受预留约束
用于创建 MIG 的命令使用工作负载政策来指定虚拟机放置位置。如果您不想使用工作负载政策,请移除
--workload-policy标志。创建可用区级或区域级 MIG 以及规模调整请求,如下所示:
-
如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
-
使用
instance-groups managed create命令创建可用区级 MIG,如下所示。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
使用
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 并在其中创建规模调整请求,请执行以下操作:
-
使用
instance-groups managed create命令创建区域级 MIG,如下所示。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
使用 Beta 版
instance-groups managed resize-requests create命令在区域级 MIG 中创建规模调整请求,如下所示:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
Spot
用于创建 MIG 的命令使用工作负载政策来指定虚拟机放置位置。如果您不想使用工作负载政策,请移除
--workload-policy标志。创建可用区级或区域级 MIG 以及规模调整请求,如下所示:
-
如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
-
使用
instance-groups managed create命令创建可用区级 MIG,如下所示。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
使用
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 并在其中创建规模调整请求,请执行以下操作:
-
使用
instance-groups managed create命令创建区域级 MIG,如下所示。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
使用 Beta 版
instance-groups managed resize-requests create命令在区域级 MIG 中创建规模调整请求,如下所示:gcloud beta 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
- 对于区域级实例模板:
WORKLOAD_POLICY_URL(可选):工作负载政策的网址。 例如:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。 如果您不想使用工作负载政策,可以移除--workload-policy标志。ZONE:您要在其中创建 MIG 的可用区。对于区域级 MIG,您还必须指定可用区。此可用区必须是包含 VPC 网络配置文件的可用区,并且必须是提供相应机器类型的可用区。如需了解详情,请参阅限制。RESIZE_REQUEST_NAME:调整大小请求的名称,该名称在指定的 MIG 中必须是唯一的。否则,创建调整大小请求的操作将失败。COUNT:要同时添加到 MIG 的虚拟机数量。REGION:MIG 所在的区域。
如果您的工作负载需要特定的虚拟机名称,您可以使用
beta instance-groups managed resize-requests create命令指定要创建的虚拟机的名称列表。在该命令中,将--resize-request标志替换为--instances标志。REST
您需要指定的参数取决于您为此部署使用的使用选项。选择与您的使用选项的配置模式对应的标签页。
替换以下内容:灵活启动
创建可用区级或区域级 MIG 以及规模调整请求,如下所示:
- 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
- 向
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" } } - 在可用区级 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 并在其中创建规模调整请求,请执行以下操作:
- 向
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" } } - 在区域级 MIG 中,向
beta.regionInstanceGroupManagerResizeRequests.insert方法发出POST请求,以创建规模调整请求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 向
受预留约束
用于创建 MIG 的请求使用工作负载政策来指定虚拟机放置位置。如果您不想使用工作负载政策,请移除
resourcePolicies.workloadPolicy字段。创建可用区级或区域级 MIG 以及规模调整请求,如下所示:
- 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
- 向
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, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 在可用区级 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 并在其中创建规模调整请求,请执行以下操作:
- 向
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" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 在区域级 MIG 中,向
beta.regionInstanceGroupManagerResizeRequests.insert方法发出POST请求,以创建规模调整请求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 向
Spot
用于创建 MIG 的请求使用工作负载政策来指定虚拟机放置位置。如果您不想使用工作负载政策,请移除
resourcePolicies.workloadPolicy字段。创建可用区级或区域级 MIG 以及规模调整请求,如下所示:
- 如需创建可用区级 MIG 并在其中创建规模调整请求,请执行以下操作:
- 向
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, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 在可用区级 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 并在其中创建规模调整请求,请执行以下操作:
- 向
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" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 在区域级 MIG 中,向
beta.regionInstanceGroupManagerResizeRequests.insert方法发出POST请求,以创建规模调整请求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 向
PROJECT_ID:项目 ID。ZONE:您要在其中创建 MIG 的可用区。对于区域级 MIG,您还必须指定可用区。此可用区必须是包含 VPC 网络配置文件的可用区,并且必须是提供相应机器类型的可用区。如需了解详情,请参阅限制。REGION:您要在其中创建 MIG 的区域。INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建虚拟机的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:- 对于区域级实例模板:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 对于全球实例模板:
INSTANCE_TEMPLATE_ID
- 对于区域级实例模板:
MIG_NAME:MIG 的名称。WORKLOAD_POLICY_URL(可选):工作负载政策的网址。 例如:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。 如果您不想使用工作负载政策,可以移除resourcePolicies.workloadPolicy字段。RESIZE_REQUEST_NAME:调整大小请求的名称,该名称在指定的 MIG 中必须是唯一的。否则,创建调整大小请求的操作将失败。COUNT:要同时添加到 MIG 的虚拟机数量。
如果您的工作负载需要特定的虚拟机名称,您可以指定要创建的虚拟机的名称列表。为此,请向
beta.regionInstanceGroupManagerResizeRequests.insert方法(对于区域级 MIG)或beta.instanceGroupManagerResizeRequests.insert方法(对于可用区级 MIG)发送POST请求。在请求正文中,将resizeBy字段替换为instanceNames字段。后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-12-10。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-12-10。"],[],[]] -