本文說明如何建立使用 A4 或 A3 Ultra 機型的代管執行個體群組 (MIG)。如要進一步瞭解這些加速器最佳化機器類型,請參閱 A4 或 A3 Ultra。
建立 MIG 後,您就能以單一實體的形式管理多部虛擬機器 (VM)。MIG 中的每個 VM 都是以執行個體範本為基礎。MIG 會自動管理群組中的 VM,因此可提供高可用性和擴充性。如要進一步瞭解 MIG,請參閱 Compute Engine 說明文件中的代管執行個體群組。
如要瞭解建立 VM 或叢集的其他方式,請參閱「VM 和叢集建立總覽」頁面。
限制
使用 A4 或 A3 Ultra VM 建立 MIG 時,請考量機型和 MIG 的限制。
A4 或 A3 Ultra VM 的限制
視 MIG 中 VM 使用的機器系列而定,適用下列限制:
A4
- 使用 A4 機器類型的執行個體不適用續用折扣和彈性承諾使用折扣。
- A4 機型只能在特定區域和可用區使用。
- 您無法使用永久磁碟 (區域或可用區)。只能使用 Google Cloud Hyperdisk。
- A4 機型僅適用於 Emerald Rapids CPU 平台。
- 您無法將執行個體的機型變更為 A4 機型,也無法從 A4 機型變更為其他機型。您必須使用這個機型建立新的執行個體。
- A4 機器類型不支援單一租戶。
- 您無法在 A4 機器類型上執行 Windows 作業系統。
- 如果是 A4 執行個體,使用
ethtool -S監控 GPU 網路時,結尾為_phy的實體連接埠計數器不會更新。這是使用 MRDMA 虛擬函式 (VF) 架構的執行個體預期會發生的行為。詳情請參閱「MRDMA functions and network monitoring tools」。 - 您無法將 2026 年 2 月 4 日前建立的 Hyperdisk ML 磁碟連結至 A4 機器類型。
A3 Ultra
- 使用 A3 Ultra 機型的執行個體不適用續用折扣和彈性承諾使用折扣。
- 您只能在特定區域和可用區使用 A3 Ultra 機器類型。
- 您無法使用永久磁碟 (區域或可用區)。只能使用 Google Cloud Hyperdisk。
- A3 Ultra 機型僅適用於 Emerald Rapids CPU 平台。
- A3 Ultra 機型不支援變更機型。如要改用或停用這類機器類型,必須建立新的執行個體。
- 您無法在 A3 Ultra 機型上執行 Windows 作業系統。
- A3 Ultra 機型不支援單一租戶。
- 如果是 A3 Ultra 執行個體,使用
ethtool -S監控 GPU 網路時,結尾為_phy的實體連接埠計數器不會更新。如果執行個體使用 MRDMA 虛擬函式 (VF) 架構,就會出現這種預期行為。詳情請參閱「MRDMA functions and network monitoring tools」。
MIG 的限制
使用 A4 或 A3 Ultra VM 建立 MIG 時,會受到以下限制:
如果您建立區域性 MIG,則 MIG 只能在包含虛擬私有雲網路設定檔的可用區中建立 VM。
您無法在 MIG 中設定執行個體彈性。
如果將工作負載政策套用至 MIG,且群組內有 VM,就無法變更 MIG 中的政策。如要變更含有 VM 的 MIG 政策,請先將 MIG調整為零。
您無法使用指定配置政策的執行個體範本,建立使用工作負載政策的 MIG。
建立 MIG 調整大小要求時,須遵守下列限制:
事前準備
建立 MIG 前,請先完成下列步驟 (如尚未完成):
必要的角色
如要取得建立 MIG 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備建立 MIG 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立 MIG,必須具備下列權限:
-
如要建立 MIG,請在專案上按一下
compute.instanceGroupManagers.create。
總覽
使用 A4 或 A3 Ultra 機型建立 MIG 的步驟如下:
建立虛擬私有雲網路
如要為 A4 或 A3 Ultra 機型設定網路,請為下列網路介面建立三個虛擬私有雲網路:
- gVNIC 網路介面 (NIC) 適用 2 個一般虛擬私有雲網路。這些位址用於主機間的通訊。
- CX-7 NIC 必須使用 1 個具有 RoCE 網路設定檔的虛擬私有雲網路。RoCE 虛擬私有雲網路需要有 8 個子網路,每個 CX-7 NIC 各有一個子網路。這些 NIC 使用 RDMA over Converged Ethernet (RoCE),提供 GPU 對 GPU 通訊所需的高頻寬、低延遲通訊。
如要進一步瞭解 NIC 配置,請參閱「查看網路頻寬和 NIC 配置」。
您可以按照操作說明手動建立網路,也可以使用提供的指令碼自動建立網路。
操作指南
如要建立網路,請按照下列操作說明進行:
- 如要為 gVNIC 建立一般虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。
- 如要建立 RoCE 虛擬私有雲網路,請參閱「為 RDMA NIC 建立虛擬私有雲網路」。
對於這些虛擬私有雲網路,建議您將最大傳輸單元 (MTU) 設為較大的值。如果是 A4 或 A3 Ultra 機型,建議的 MTU 為 8896 位元組。
如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。
指令碼
如要建立網路,請按照下列步驟操作。
對於這些虛擬私有雲網路,建議您將最大傳輸單元 (MTU) 設為較大的值。如果是 A4 或 A3 Ultra 機型,建議的 MTU 為 8896 位元組。
如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。
使用下列指令碼為 gVNIC 和 CX-7 NIC 建立虛擬私有雲網路。
#!/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 的一般虛擬私有雲網路和子網路的自訂名稱前置字元。RDMA_NAME_PREFIX:用於 CX-7 NIC 的 RoCE 虛擬私有雲網路和子網路的自訂名稱前置字元。ZONE:指定要使用的機型所在的可用區域,例如us-central1-a。如需地區相關資訊,請參閱「各個地區和區域的 GPU 供應情形」。REGION:要建立子網路的區域。這個區域必須與指定的可用區相符。舉例來說,如果可用區是us-central1-a,則區域為us-central1。IP_RANGE:用於 SSH 防火牆規則的 IP 範圍。
- 選用:如要確認虛擬私有雲網路資源是否建立成功,請在 Google Cloud 控制台中檢查網路設定:
- 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。
- 在清單中搜尋您在上一個步驟中建立的網路。
- 如要查看子網路、防火牆規則和其他網路設定,請按一下網路名稱。
選用:建立工作負載政策
如果是彈性啟動用量方案,請略過這個部分,並繼續建立執行個體範本。 由於限制,彈性啟動佈建模式不支援工作負載政策。您可以建立工作負載政策,指定 VM 配置。如果您已有工作負載政策,可以重複使用。將工作負載政策套用至 MIG 時,Compute Engine 會盡可能建立彼此靠近的 VM。如果應用程式對延遲時間很敏感,且您希望 VM 之間的位置更接近 (達到最大密集度),請在建立工作負載政策時指定 maxTopologyDistance 欄位。
工作負載政策建立後即無法更新。如要變更工作負載政策,請建立新的政策。
如要建立工作負載政策,請選取下列任一選項:
gcloud
如要建立工作負載政策,請使用
gcloud compute resource-policies create workload-policy 指令。
-
如要盡量配置 VM,請在指令中只指定
--type=high-throughput旗標:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
如要嚴格共置 VM,請在指令中指定
--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:工作負載政策的名稱。TOPOLOGY_DISTANCE:拓撲距離上限。指定下列其中一個值:- 如要將 VM 放在同一個叢集中,請按照下列步驟操作:
CLUSTER - 如要將 VM 放在同一個區塊,請按照下列步驟操作:
BLOCK - 如要將 VM 放置在同一個子區塊中,請按照下列步驟操作:
SUBBLOCK
注意:縮短最大距離可能會降低 VM 可用性。- 如要將 VM 放在同一個叢集中,請按照下列步驟操作:
REGION:要建立工作負載政策的區域。指定要建立 MIG 的區域,以及可用的機器類型。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
REST
如要建立工作負載政策,請對 resourcePolicies.insert 方法發出 POST 要求。
-
如要盡量配置 VM,請在要求中只指定
type欄位,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
如要嚴格共置 VM,請在要求中指定
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 的區域,以及要使用的機器類型。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。WORKLOAD_POLICY_NAME:工作負載政策的名稱。TOPOLOGY_DISTANCE:拓撲距離上限。指定下列其中一個值:- 如要將 VM 放在同一個區塊,請按照下列步驟操作:
BLOCK - 如要將 VM 放在同一個叢集中,請按照下列步驟操作:
CLUSTER
注意:縮短最大距離可能會降低 VM 可用性。- 如要將 VM 放在同一個區塊,請按照下列步驟操作:
建立執行個體範本
建立執行個體範本,指定 MIG 的 VM 屬性。
如要建立執行個體範本,請選取下列任一選項。
下列指令也會設定執行個體的存取範圍。為簡化權限管理,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 \
--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 \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:VM 要使用的機器類型。請指定 A4 或 A3 Ultra 機型。詳情請參閱「GPU 機器類型」。IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定您要使用的機器類型適用的地區。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。RUN_DURATION:要求的 VM 執行時長。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上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 \
--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=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:VM 要使用的機器類型。請指定 A4 或 A3 Ultra 機型。詳情請參閱「GPU 機器類型」。IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定您要使用的機器類型適用的地區。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。-
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 \
--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 \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:VM 要使用的機器類型。請指定 A4 或 A3 Ultra 機型。詳情請參閱「GPU 機器類型」。IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定您要使用的機器類型適用的地區。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是STOP(預設) 或DELETE。
REST
您需要指定的參數取決於用於這項部署作業的消耗選項。選取與用量選項的佈建模式對應的分頁。
彈性啟動
如要建立區域執行個體範本,請對
regionInstanceTemplates.insert 方法發出 POST 要求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"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": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:VM 要使用的機器類型。請指定 A4 或 A3 Ultra 機型。詳情請參閱「GPU 機器類型」。IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。 指定您要使用的機器類型適用的區域。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。REGION:子網路的區域。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。RUN_DURATION:要求的 VM 執行時間長度 (以秒為單位)。值必須介於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":{
"machineType":"MACHINE_TYPE",
"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":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:VM 要使用的機器類型。請指定 A4 或 A3 Ultra 機型。詳情請參閱「GPU 機器類型」。IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。 指定您要使用的機器類型適用的區域。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。REGION:子網路的區域。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。-
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":{
"machineType":"MACHINE_TYPE",
"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",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:VM 要使用的機器類型。請指定 A4 或 A3 Ultra 機型。詳情請參閱「GPU 機器類型」。IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。 指定您要使用的機器類型適用的區域。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟的大小,單位為 GB。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。REGION:子網路的區域。RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是STOP(預設) 或DELETE。
建立執行個體範本後,您可以查看範本,瞭解其 ID 並檢查執行個體屬性。
建立 MIG
完成所有前置步驟後,請根據您的情境建立 MIG,如下所示:
| 情境 | 在 MIG 中建立 VM 的方法 | 範例 |
|---|---|---|
| 您有多項或並行工作,可使用任意數量的 VM 啟動。 | 建立 MIG,並使用目標大小指定要在群組中的 VM 數量。 請參閱「建立具有目標大小的 MIG」。 |
機器學習推論工作 |
| 您有工作需要分配到特定數量的 VM。 | 建立不含任何 VM 的 MIG,然後在 MIG 中建立規模調整要求。
您可透過大小調整要求一次取得所有 VM。 請參閱建立 MIG 和調整大小要求。 |
分散式機器學習訓練和微調工作 |
建立具有目標大小的 MIG
如果您可以不必一次建立所有 VM 就能啟動工作,請建立具有目標大小的 MIG。目標大小會決定 MIG 中的 VM 數量。MIG 會根據目前的資源可用性開始建立 VM。如果任何資源暫時無法使用,MIG 會持續嘗試建立 VM,以達到目標大小。
如要建立具有目標大小的 MIG,請選取下列任一選項:
gcloud
如要建立具有指定目標大小的 MIG,請使用 instance-groups managed
create 指令。
建立 MIG 的指令會使用工作負載政策來指定 VM 配置。如不想使用工作負載政策,請移除 --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 中建立 VM 的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
TARGET_SIZE:MIG 中所需的 VM 數量。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 的要求會使用工作負載政策來指定 VM 配置。如果不想使用工作負載政策,請移除 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 中建立 VM 的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
MIG_NAME:MIG 的名稱。TARGET_SIZE:MIG 中所需的 VM 數量。WORKLOAD_POLICY_URL:選填:工作負載政策的網址。例如:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果不想使用工作負載政策,請移除resourcePolicies.workloadPolicy欄位。
建立 MIG 和大小調整要求
如要一次啟動多個 VM 來開始工作,請建立 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 的指令會使用工作負載政策來指定 VM 配置。如不想使用工作負載政策,請移除 --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 的指令會使用工作負載政策來指定 VM 配置。如不想使用工作負載政策,請移除 --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 中建立 VM 的執行個體範本網址。網址可以包含執行個體範本的 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 指定可用區。這個區域必須是包含虛擬私有雲網路設定檔的區域,且必須是可使用機器類型的區域。詳情請參閱「限制」一節。RESIZE_REQUEST_NAME:規模調整要求名稱,在指定的 MIG 內不得重複。否則建立大小調整要求就會失敗。COUNT:要一次新增至 MIG 的 VM 數量。REGION:MIG 所在的區域。
如果工作負載需要特定 VM 名稱,您可以使用 beta instance-groups managed resize-requests create 指令,指定要建立的 VM 名稱清單。在指令中,將 --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 的要求會使用工作負載政策來指定 VM 配置。如果不想使用工作負載政策,請移除 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 的要求會使用工作負載政策來指定 VM 配置。如果不想使用工作負載政策,請移除 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 指定可用區。這個區域必須是包含虛擬私有雲網路設定檔的區域,且必須是可使用機器類型的區域。詳情請參閱「限制」一節。REGION:要建立 MIG 的區域。INSTANCE_TEMPLATE_URL:您要用來在 MIG 中建立 VM 的執行個體範本網址。網址可以包含執行個體範本的 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 的 VM 數量
如果工作負載需要特定 VM 名稱,您可以指定要建立的 VM 名稱清單。如要這麼做,請向區域 MIG 的 beta.regionInstanceGroupManagerResizeRequests.insert 方法發出 POST 要求,或是向區域 MIG 的 beta.instanceGroupManagerResizeRequests.insert 方法發出要求。在要求主體中,將 resizeBy 欄位替換為 instanceNames 欄位。