本文說明如何建立使用 A3 High 或 A3 Mega 加速器最佳化機型的代管執行個體群組 (MIG)。如要進一步瞭解機型,請參閱「關於 GPU 加速器」。
建立 MIG 後,您就能將多部虛擬機器 (VM) 視為單一實體來管理。MIG 中的每個 VM 都是以執行個體範本為基礎。MIG 會自動管理群組中的 VM,提供高可用性和擴充性。如要進一步瞭解 MIG,請參閱 Compute Engine 說明文件中的「代管執行個體群組」。
如要瞭解建立 VM 或叢集的其他方式,請參閱「部署選項總覽」。
限制
使用 A3 Mega 或 A3 High VM 建立 MIG 時,請考量機型和 MIG 的限制。
A3 Mega 或 A3 High VM 的限制
視 MIG 中 VM 使用的機器系列而定,適用下列限制:
A3 Mega
- 使用 A3 Mega 機型的執行個體不適用續用折扣和彈性承諾使用折扣。
- A3 Mega 機型僅適用於特定區域和可用區。
- 您無法在採用 A3 Mega 機型的執行個體上使用區域永久磁碟。
- A3 Mega 機型僅適用於 Sapphire Rapids CPU 平台。
- A3 Mega 機型不支援變更機型。如要切換至或切換出這個機器類型,您必須建立新的執行個體。
- 您無法在 A3 Mega 機型上執行 Windows 作業系統。
A3 High
- 使用 A3 High 機型的執行個體不適用續用折扣和彈性承諾使用折扣。
- A3 High 機型僅適用於特定區域和可用區。
- 您無法在採用 A3 High 機型的執行個體上使用區域永久磁碟。
- A3 High 機型僅適用於 Sapphire Rapids CPU 平台。
- 無法變更 A3 High 機型。如要切換至或切換出這個機器類型,您必須建立新的執行個體。
- 您無法在 A3 High 機型上執行 Windows 作業系統。
- 如果是
a3-highgpu-1g、a3-highgpu-2g和a3-highgpu-4g機器類型,您必須使用 Spot VM 或彈性啟動型 VM 建立執行個體。如要瞭解上述做法的詳細操作說明,請參閱下列文章:- 如要建立 Spot VM,請在建立加速器最佳化 VM 時,將佈建模式設為
SPOT。 - 如要建立彈性啟動型 VM,請使用下列任一方法:
- 建立加速器最佳化 VM 時,建立獨立 VM 並將佈建模式設為
FLEX_START。 - 在代管執行個體群組 (MIG) 建立大小調整要求。如需操作說明,請參閱「建立具備 GPU VM 的 MIG」。
- 建立加速器最佳化 VM 時,建立獨立 VM 並將佈建模式設為
- 如要建立 Spot VM,請在建立加速器最佳化 VM 時,將佈建模式設為
- Confidential VM 只能與
a3-highgpu-1g機型搭配使用,且僅限於部分區域和可用區,並適用在 A3 High 機型上執行 Confidential VM 的所有限制。
MIG 的限制
使用 A3 Mega 或 A3 High VM 建立 MIG 時,須遵守下列限制:
- 您必須按照本文說明,關閉 MIG 的修復功能。
如果建立使用 RDMA 網路的區域 MIG,則 MIG 只能在已設定 RDMA 網路設定檔的可用區中,建立 A3 Mega 或 A3 High 執行個體。
您無法在 MIG 中設定執行個體彈性。
MIG 大小調整要求的限制
MIG 大小調整要求有下列限制:
在區域性 MIG 中,您只能使用
ANY_SINGLE_ZONE目標分配型態。您只能將 MIG 的待命集區模式設為
manual(預設)。無法設定自動調度資源。
如果 MIG 包含已接受的大小調整要求,則無法變更 MIG 的目標大小。
您無法刪除或捨棄 MIG 針對大小調整要求建立,且處於
CREATING狀態的代管執行個體。如要刪除這些代管執行個體,您必須取消大小調整要求。
詳情請參閱大小調整要求的所有限制。
事前準備
建立 MIG 前,請先完成下列步驟 (如已完成,請略過):
- 選擇使用模式:您選擇的使用模式會決定如何取得及使用 GPU 資源。詳情請參閱「選擇消耗選項」。
- 取得運算資源:取得運算資源的程序因用量選項而異。如要瞭解如何為所選用量方案取得運算資源,請參閱「運算資源總覽」。
- 驗證 Google API 服務代理權限:在 MIG 中建立 VM 時,Compute Engine 會使用專案中的 Google API 服務代理 (
PROJECT_NUMBER@cloudservices.)。如果執行個體範本使用其他專案的資源,請確認這個服務代理具備必要權限:- Shared VPC:如果 VM 使用 Shared VPC 網路,請將服務專案中的 Google API 服務代理,授予主專案或共用子網路的運算網路使用者 (
roles/compute.networkUser) 角色。詳情請參閱「Google API 服務帳戶做為服務專案管理員」。 - 其他專案的映像檔:如果 VM 使用其他專案的映像檔,請將映像檔或擁有映像檔的專案中的 Compute 映像檔使用者 (
roles/compute.imageUser) 角色,授予專案中的 Google API 服務代理。詳情請參閱「將映像檔存取權授予代管執行個體群組」。
- Shared VPC:如果 VM 使用 Shared VPC 網路,請將服務專案中的 Google API 服務代理,授予主專案或共用子網路的運算網路使用者 (
必要的角色
如要取得建立 MIG 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備建立 MIG 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
必須具備下列權限,才能建立 MIG:
-
如要建立 MIG:
compute.instanceGroupManagers.create在專案中
總覽
如要建立 A3 Mega 或 A3 High (8 個 GPU) 機型的 MIG,請按照下列步驟操作:
建立虛擬私有雲網路
如要為 GPU VM 啟用高效通訊,您必須建立管理網路和一或多個數據網路。管理網路用於外部存取 (例如 SSH) 和大多數一般網路通訊。資料網路用於不同 VM 上的 GPU 之間的高效能通訊,例如遠端直接記憶體存取 (RDMA) 流量。
對於這些虛擬私有雲網路,建議將最大傳輸單位 (MTU) 設為較大的值。MTU 值越高,封包大小越大,封包標頭負擔越小,酬載資料處理量也越高。如要進一步瞭解如何建立虛擬私有雲網路,請參閱「建立及驗證巨型框架 MTU 網路」。
建立管理網路、子網路和防火牆規則
請按照下列步驟設定管理網路:
使用
networks create指令建立管理網路:gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \ --project=PROJECT_ID \ --subnet-mode=custom \ --mtu=8244使用
networks subnets create指令建立管理子網路:gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --region=REGION \ --range=192.168.0.0/24使用
firewall-rules create指令建立防火牆規則。為管理網路建立防火牆規則。
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=192.168.0.0/16建立
tcp:22防火牆規則,限制哪些來源 IP 位址可透過 SSH 連線至 VM。gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=SSH_SOURCE_IP_RANGE建立
icmp防火牆規則,用於檢查網路中的資料傳輸問題。gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=icmp \ --source-ranges=0.0.0.0/0
更改下列內容:
NETWORK_NAME_PREFIX:虛擬私有雲網路和子網路使用的名稱前置字串。PROJECT_ID:您的專案 ID。REGION:要建立網路的區域。SSH_SOURCE_IP_RANGE:CIDR 格式的 IP 範圍。這會指定哪些來源 IP 位址可以透過 SSH 連線至 VM。
建立數據網路、子網路和防火牆規則
數據網路數量會因您建立的 GPU 機器類型而異。
A3 Mega
A3 Mega 需要八個數據網路。如要建立八個數據網路,每個網路都有子網路和防火牆規則,請使用下列指令。
for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
A3 High
A3 High 需要四個數據網路。使用下列指令建立四個數據網路,每個網路都有子網路和防火牆規則。
for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
選用:建立工作負載政策
如要將 VM 放在單一或相鄰區塊,請建立工作負載政策來指定 VM 配置。不過,如果您希望 Compute Engine 將 VM 放在特定區塊,請略過這個步驟,並在建立執行個體範本時,在預留項目相似度中提供區塊名稱。
如要建立工作負載政策,請選取下列任一選項:
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和--type=high-throughput旗標: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 放在同一個區塊:
BLOCK - 如要將 VM 放在同一個叢集,請按照下列步驟操作:
CLUSTER
注意:如果縮短最大距離,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和type欄位,如下所示: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 角色定義執行個體可存取的服務。詳情請參閱「範圍最佳做法」。A3 Mega
如要為 A3 Mega VM 建立執行個體範本,您必須為 GPUDirect-TCPXO 流量指定八個額外的網路介面。如果您尚未建立八個虛擬私有雲網路,請務必按照「建立虛擬私有雲網路」一節所述建立。
gcloud
如要建立區域性執行個體範本,請使用 gcloud compute instance-templates create 指令。
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與計費模式對應的分頁。
預留項目
A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多種預留項目佈建模式。選取與要使用的預留類型相對應的分頁標籤。
使用受預留項目限制參數,指定受預留項目限制的佈建模式,用於下列項目:
- 未來預留項目 (適用於容量區塊)
- 日曆模式的未來預留項目
使用標準預留參數 (指定標準佈建模型),進行下列操作:
- 隨需預留項目
- 標準未來預留項目
取決於預留項目
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC 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
標準預訂
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:RESERVATION:要使用的預留項目。根據您為RESERVATION_AFFINITY指定的值,指定下列其中一項:- 如果您指定了
any,請將RESERVATION替換為空白字串 ("")。或者,您也可以完全移除--reservation旗標。 如果您指定
specific,請將RESERVATION替換為以下內容:projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
更改下列內容:
RESERVATION_OWNER_PROJECT_ID:預留項目建立所在專案的專案 ID。RESERVATION_NAME:預留項目名稱。
- 如果您指定了
根據預設,如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,執行個體會自動重新啟動。如要停用自動重新啟動功能,請新增下列旗標:
--no-restart-on-failure
- 執行更改後的指令。
隨選
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:any(預留運算資源為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。none(必須使用隨選運算能力):禁止執行個體使用任何預留運算能力。
根據預設,如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,執行個體會自動重新啟動。如要停用自動重新啟動功能,請新增下列旗標:
--no-restart-on-failure
- 執行更改後的指令。
彈性啟動
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。RUN_DURATION:要求的 VM 執行時間長度。值的格式必須是天數、小時數、分鐘數或秒數,後面分別加上d、h、m和s。舉例來說,指定30m代表 30 分鐘,指定1d2h3m4s則代表一天兩小時三分四秒。值必須介於 10 分鐘至 7 天之間。
Spot
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是STOP(預設) 或DELETE。
REST
如要建立區域執行個體範本,請向 regionInstanceTemplates.insert 方法發出 POST 要求。
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與計費模式對應的分頁。
預留項目
A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多種預留項目佈建模式。選取與要使用的預留類型相對應的分頁標籤。
使用受預留項目限制參數,指定受預留項目限制的佈建模式,用於下列項目:
- 未來預留項目 (適用於容量區塊)
- 日曆模式的未來預留項目
使用標準預留參數 (指定標準佈建模型),進行下列操作:
- 隨需預留項目
- 標準未來預留項目
取決於預留項目
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。-
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
標準預訂
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,是否要自動重新啟動執行個體。指定true即可啟用自動重新啟動功能 (預設),指定false則可停用自動重新啟動功能。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:RESERVATION:要使用的預留項目。根據您為RESERVATION_AFFINITY指定的值,指定下列其中一項:- 如果您指定了
ANY_RESERVATION,請刪除RESERVATION,讓值成為空字串 ("")。或者,您也可以完全移除key和values欄位。 如果您指定
SPECIFIC_RESERVATION,請將RESERVATION替換為以下內容:projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
更改下列內容:
RESERVATION_OWNER_PROJECT_ID:預留項目建立所在專案的專案 ID。RESERVATION_NAME:預留項目名稱。
- 如果您指定了
隨選
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,是否要自動重新啟動執行個體。指定true即可啟用自動重新啟動功能 (預設),指定false則可停用自動重新啟動功能。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:ANY_RESERVATION(預留運算資源為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但只有在有相符的預留項目容量時,才會發生這種情況。否則,執行個體會使用隨選容量。NO_RESERVATION(必須使用隨選運算能力):禁止執行個體使用任何預留運算能力。
彈性啟動
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。RUN_DURATION:要求的 VM 應執行的時間長度,以秒為單位。值必須介於600(600 秒,即 10 分鐘) 和604800(604,800 秒,即 7 天) 之間。
Spot
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 Mega 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新,或使用rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔。IMAGE_PROJECT:OS 映像檔的專案 ID。 例如,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud;如果是rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux 映像檔,請使用rocky-linux-accelerator-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是STOP(預設) 或DELETE。
A3 High
如要為 A3 High VM 建立執行個體範本,您必須為 GPUDirect-TCPX 流量指定四個額外的網路介面。如果您尚未建立四個虛擬私有雲網路,請務必按照「建立虛擬私有雲網路」一節所述建立。
gcloud
如要建立區域性執行個體範本,請使用 gcloud compute instance-templates create 指令。
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與計費模式對應的分頁。
預留項目
A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多種預留項目佈建模式。選取與要使用的預留類型相對應的分頁標籤。
使用受預留項目限制參數,指定受預留項目限制的佈建模式,用於下列項目:
- 未來預留項目 (適用於容量區塊)
- 日曆模式的未來預留項目
使用標準預留參數 (指定標準佈建模型),進行下列操作:
- 隨需預留項目
- 標準未來預留項目
取決於預留項目
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC 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
標準預訂
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:RESERVATION:要使用的預留項目。根據您為RESERVATION_AFFINITY指定的值,指定下列其中一項:- 如果您指定了
any,請將RESERVATION替換為空白字串 ("")。或者,您也可以完全移除--reservation旗標。 如果您指定
specific,請將RESERVATION替換為以下內容:projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
更改下列內容:
RESERVATION_OWNER_PROJECT_ID:預留項目建立所在專案的專案 ID。RESERVATION_NAME:預留項目名稱。
- 如果您指定了
根據預設,如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,執行個體會自動重新啟動。如要停用自動重新啟動功能,請新增下列旗標:
--no-restart-on-failure
- 執行更改後的指令。
隨選
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:any(預留運算資源為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。none(必須使用隨選運算能力):禁止執行個體使用任何預留運算能力。
根據預設,如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,執行個體會自動重新啟動。如要停用自動重新啟動功能,請新增下列旗標:
--no-restart-on-failure
- 執行更改後的指令。
彈性啟動
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。RUN_DURATION:要求的 VM 執行時間長度。值的格式必須是天數、小時數、分鐘數或秒數,後面分別加上d、h、m和s。舉例來說,指定30m代表 30 分鐘,指定1d2h3m4s則代表一天兩小時三分四秒。值必須介於 10 分鐘至 7 天之間。
Spot
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=DISK_TYPE \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是STOP(預設) 或DELETE。
REST
如要建立區域執行個體範本,請向 regionInstanceTemplates.insert 方法發出 POST 要求。
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與計費模式對應的分頁。
預留項目
A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多種預留項目佈建模式。選取與要使用的預留類型相對應的分頁標籤。
使用受預留項目限制參數,指定受預留項目限制的佈建模式,用於下列項目:
- 未來預留項目 (適用於容量區塊)
- 日曆模式的未來預留項目
使用標準預留參數 (指定標準佈建模型),進行下列操作:
- 隨需預留項目
- 標準未來預留項目
取決於預留項目
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。-
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
標準預訂
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,是否要自動重新啟動執行個體。指定true即可啟用自動重新啟動功能 (預設),指定false則可停用自動重新啟動功能。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:RESERVATION:要使用的預留項目。根據您為RESERVATION_AFFINITY指定的值,指定下列其中一項:- 如果您指定了
ANY_RESERVATION,請刪除RESERVATION,讓值成為空字串 ("")。或者,您也可以完全移除key和values欄位。 如果您指定
SPECIFIC_RESERVATION,請將RESERVATION替換為以下內容:projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
更改下列內容:
RESERVATION_OWNER_PROJECT_ID:預留項目建立所在專案的專案 ID。RESERVATION_NAME:預留項目名稱。
- 如果您指定了
隨選
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,是否要自動重新啟動執行個體。指定true即可啟用自動重新啟動功能 (預設),指定false則可停用自動重新啟動功能。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:ANY_RESERVATION(預留運算資源為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但只有在有相符的預留項目容量時,才會發生這種情況。否則,執行個體會使用隨選容量。NO_RESERVATION(必須使用隨選運算能力):禁止執行個體使用任何預留運算能力。
彈性啟動
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。RUN_DURATION:要求的 VM 應執行的時間長度,以秒為單位。值必須介於600(600 秒,即 10 分鐘) 和604800(604,800 秒,即 7 天) 之間。
Spot
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"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/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。如果是 A3 High 機器系列,強烈建議您使用cos-121-lts以上版本的 Container-Optimized OS 映像檔,並停用自動更新。IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,如果是cos-121-lts以上版本的 Container-Optimized OS 映像檔,請使用cos-cloud。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。建議您為這個機器系列使用hyperdisk-balanced。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。NETWORK_PROJECT_ID:網路的專案 ID。GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。REGION:子網路的區域。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 的指令會使用工作負載政策指定執行個體配置。如果不想使用工作負載政策,請移除 --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", "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 { "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 和大小調整要求
如需一次啟動多個 VM 來執行工作,請建立 MIG,並按照本節說明在 MIG 中建立大小調整要求。如要在 MIG 中建立大小調整要求,請選取下列其中一個選項:
gcloud
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與用量選項佈建模式對應的分頁。
預留項目
建立 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 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。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 -
使用
instance-groups managed resize-requests create指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。gcloud 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 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。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 -
使用
instance-groups managed resize-requests create指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
彈性啟動
建立可用區或區域 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 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
使用
instance-groups managed resize-requests create指令,在可用區 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。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 \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --workload-policy=WORKLOAD_POLICY_URL -
使用
instance-groups managed resize-requests create指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。gcloud 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 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。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 -
使用
instance-groups managed resize-requests create指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
MIG_NAME:MIG 的名稱。INSTANCE_TEMPLATE_URL:您要用來在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:- 區域性執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 區域性執行個體範本:
WORKLOAD_POLICY_URL:選用。工作負載政策的網址,例如projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果不想使用工作負載政策,請移除--workload-policy旗標。ZONE:要建立 MIG 的可用區。如果是區域 MIG,也必須指定可用區。這個可用區必須是包含虛擬私有雲網路設定檔的可用區,且必須是提供機型的可用區。詳情請參閱「限制」一節。RESIZE_REQUEST_NAME:大小調整要求的名稱,在指定 MIG 中不得重複。否則,系統將無法建立大小調整要求。COUNT:一次要新增至 MIG 的執行個體數量。REGION:要建立 MIG 的區域。
指定 VM 名稱清單,建立大小調整要求
如果工作負載需要特定 VM 名稱,請指定名稱清單來建立 VM。您指定的名稱數量會決定 MIG 一次建立的 VM 數量。
如要在 MIG 中建立具有特定 VM 名稱的大小調整要求,請使用 beta gcloud compute instance-groups managed resize-requests create 指令搭配 --instances 旗標:
-
在可用區 MIG 中執行下列指令:
gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --instances=INSTANCE_NAMES \ --zone=ZONE -
在區域性 MIG 中,執行下列指令:
gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --instances=INSTANCE_NAMES \ --region=REGION
INSTANCE_NAMES 替換為以半形逗號分隔的 VM 名稱清單。例如:instance-1,instance-2,instance-3。
REST
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與用量選項佈建模式對應的分頁。
預留項目
您用來建立 MIG 的要求會使用工作負載政策指定執行個體位置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。
建立可用區或區域 MIG,以及大小調整要求,步驟如下:
- 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立可用區 MIG,請向
instanceGroupManagers.insert方法提出POST要求,如下所示。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要在可用區 MIG 中建立大小調整要求,請向
instanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立可用區 MIG,請向
- 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立區域性 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", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要建立區域 MIG 的大小調整要求,請向
regionInstanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立區域性 MIG,請向
隨選
您用來建立 MIG 的要求會使用工作負載政策指定執行個體位置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。
建立可用區或區域 MIG,以及大小調整要求,步驟如下:
- 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立可用區 MIG,請向
instanceGroupManagers.insert方法提出POST要求,如下所示。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要在可用區 MIG 中建立大小調整要求,請向
instanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立可用區 MIG,請向
- 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立區域性 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", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要建立區域 MIG 的大小調整要求,請向
regionInstanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立區域性 MIG,請向
彈性啟動
建立可用區或區域 MIG,以及大小調整要求,步驟如下:
- 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立可用區 MIG,請向
instanceGroupManagers.insert方法提出POST要求,如下所示。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要在可用區 MIG 中建立大小調整要求,請向
instanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立可用區 MIG,請向
- 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立區域性 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", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要建立區域 MIG 的大小調整要求,請向
regionInstanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立區域性 MIG,請向
Spot
您用來建立 MIG 的要求會使用工作負載政策指定執行個體位置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。
建立可用區或區域 MIG,以及大小調整要求,步驟如下:
- 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立可用區 MIG,請向
instanceGroupManagers.insert方法提出POST要求,如下所示。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要在可用區 MIG 中建立大小調整要求,請向
instanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立可用區 MIG,請向
- 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
- 如要建立區域性 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", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 如要建立區域 MIG 的大小調整要求,請向
regionInstanceGroupManagerResizeRequests.insert方法提出POST要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 如要建立區域性 MIG,請向
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 的名稱。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 一次建立的 VM 數量。
如要在 MIG 中建立具有特定 VM 名稱的大小調整要求,請使用下列其中一種方法:
-
在可用區 MIG 中,使用
beta.instanceGroupManagerResizeRequests.insert方法傳送POST要求:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
-
在區域性 MIG 中,使用
beta.regionInstanceGroupManagerResizeRequests.insert方法傳送POST要求:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
舉例來說,如要指定兩個 VM 名稱,請在要求主體中加入下列內容:
{
"name": "RESIZE_REQUEST_NAME",
"instances": [
{
"name": "INSTANCE_NAME_1"
},
{
"name": "INSTANCE_NAME_2"
}
]
}
將
INSTANCE_NAME_1, INSTANCE_NAME_2 替換為 VM 名稱。
安裝 GPU 驅動程式
建立執行個體後,必須安裝正確的 GPU 驅動程式,執行個體才能使用 GPU。 如果您未指定包含 GPU 驅動程式的 OS 映像檔,請參閱 Compute Engine 說明文件中的「安裝 GPU 驅動程式」。