本文說明如何大量建立大量相同且彼此獨立的高效能運算 (HPC) 虛擬機器 (VM) 執行個體。執行個體使用 H4D 機器類型,並在預留的容量區塊上執行。
如要進一步瞭解如何大量建立 VM,請參閱「關於大量建立 VM」。如要大量建立不使用保留項目的執行個體,以提升叢集管理功能,請參閱「大量建立 VM」。
如要瞭解其他建立緊密耦合 H4D VM 大型叢集的方法,請參閱「建立高效能運算叢集總覽」頁面。
事前準備
選擇用量選項:如要大量建立運算執行個體,並啟用進階叢集管理功能,您可以在「日曆」模式中選擇「預約未來時間」,或選擇 Spot VM。
如果您選擇使用 Spot VM,VM 可能不會緊密共置。此外,系統會視需要先占 Spot VM,且 Spot VM 不符合管理 VM 群組主機維護事件的資格。
取得容量:取得容量的程序會因各項用量選項而異。
詳情請參閱「選擇消耗選項並取得容量」。
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上的分頁,瞭解如何使用範例:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得大量建立 VM 所需的權限,請要求系統管理員授予您專案的下列 IAM 角色:
- Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) - Compute 網路管理員 (
roles/compute.networkAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備大量建立 VM 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要大量建立 VM,您必須具備下列權限:
-
專案的
compute.instances.create -
如要使用自訂映像檔建立 VM:
compute.images.useReadOnly在映像檔上 -
如要使用快照建立 VM:
compute.snapshots.useReadOnly快照 -
如要使用執行個體範本建立 VM,請按照下列步驟操作:
compute.instanceTemplates.useReadOnly在執行個體範本上 -
如要為 VM 指定子網路,請在專案或所選子網路上授予
compute.subnetworks.use權限。 -
如要為 VM 指定靜態 IP 位址:
專案的
compute.addresses.use -
使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM:
compute.subnetworks.useExternalIp專案或所選子網路的權限 -
如要將舊版網路指派給 VM,請按照下列步驟操作:
compute.networks.use專案的 -
使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定
compute.networks.useExternalIp。 -
如要為 VM 設定 VM 執行個體中繼資料,請在專案中執行下列指令:
compute.instances.setMetadata -
如要為 VM 設定標記,請按照下列步驟操作:
compute.instances.setTags在 VM 上 -
如要為 VM 設定標籤,請按照下列步驟操作:
compute.instances.setLabels在 VM 上 -
如要設定 VM 使用的服務帳戶,請按照下列步驟操作:
compute.instances.setServiceAccount在 VM 上 -
為 VM 建立新磁碟:
compute.disks.create專案 -
如要以唯讀或讀寫模式附加現有磁碟:
磁碟的
compute.disks.use -
如要以唯讀模式連接現有磁碟:
compute.disks.useReadOnly磁碟
總覽
使用 H4D 機型大量建立 HPC 執行個體,包括下列步驟:
- 選用:建立虛擬私有雲網路。
- 選用:如果不是在同一個區塊或子區塊中建立運算執行個體,請建立放置位置政策。
- 大量建立 H4D 執行個體。
選用:建立虛擬私有雲網路
建立運算執行個體時,您可以指定虛擬私有雲網路和子網路。如果省略這項設定,系統會使用預設的網路和子網路。
- 如要設定 MIG 中的 H4D 執行個體使用 Cloud RDMA,請完成本節中的步驟。
- 如果不想使用 Cloud RDMA,可以略過本節,改用預設網路。
如要搭配 H4D 執行個體使用 Cloud RDMA,您必須設定至少兩個網路,每個網路各對應一種網路介面 (NIC):
- NIC 類型
GVNIC:使用gve驅動程式處理 TCP/IP 和網際網路流量,用於一般的 VM 對 VM 和 VM 對網際網路通訊。 - NIC 類型
IRDMA:使用 IDPF/iRDMA 驅動程式,在執行個體之間進行 Cloud RDMA 網路連線。
使用 Cloud RDMA 的執行個體只能有一個 IRDMA 介面。您最多可以新增八個額外的 GVNIC 網路介面,每個執行個體總共可有 10 個 vNIC。
如要設定 Falcon 虛擬私有雲網路,以便搭配執行個體使用,您可以按照文件中的操作說明,或使用提供的指令碼。
操作指南
如要建立網路,請按照下列操作說明進行:
如要為
GVNIC網路介面建立主機網路,請參閱「建立及管理虛擬私有雲網路」。如果您只設定一個
GVNIC網路介面,可以使用預設虛擬私有雲網路,以及與執行個體位於相同區域的自動子網路。如要為
IRDMA網路介面建立網路,請參閱「使用 Falcon 虛擬私有雲網路設定檔建立虛擬私有雲網路」。Falcon 虛擬私有雲網路的最大傳輸單位 (MTU) 預設值為8896,請使用這個值。
指令碼
每個執行個體最多可建立九個 gVNIC 網路介面和一個 IRDMA 網路介面。每個網路介面都必須連接到不同的網路。如要建立網路,可以使用下列指令碼,為 gVNIC 建立兩個網路,並為 IRDMA 建立一個網路。
- 選用:執行指令碼前,請列出 Falcon 虛擬私有雲網路設定檔,確認有可用的設定檔。
gcloud compute network-profiles list
複製下列程式碼,並在 Linux 殼層視窗中執行。
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create regular VPC networks and subnets for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # Create a Falcon VPC network for the Cloud RDMA network interface gcloud compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet in the Falcon VPC network gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet ranges更改下列內容:
NUMBER_OF_GVNIC:要建立的 GVNIC 介面數量。 請指定介於 1 到 9 之間的數字。GVNIC_NAME_PREFIX:用於一般虛擬私有雲網路和子網路的名稱前置字元,這些網路和子網路使用 GVNIC NIC 類型。REGION:要建立網路的區域。建立 Falcon 虛擬私有雲網路時,這必須對應至為--network-profile旗標指定的區域。舉例來說,如果您將區域指定為europe-west4-b,則地區為europe-west4。IP_RANGE:虛擬私有雲網路外部的 IP 位址範圍,用於 SSH 防火牆規則。最佳做法是指定需要允許存取的特定 IP 位址範圍,而非所有 IPv4 或 IPv6 來源。請勿使用0.0.0.0/0或::/0做為來源範圍,因為這樣會允許來自所有 IPv4 或 IPv6 來源的流量,包括 Google Cloud以外的來源。RDMA_NAME_PREFIX:用於虛擬私有雲網路和子網路的名稱前置字元,這些網路和子網路使用 IRDMA NIC 類型。ZONE:要建立網路和運算執行個體的區域。使用us-central1-a或europe-west4-b。
選用:如要確認虛擬私有雲網路資源是否建立成功,請在 Google Cloud 控制台中檢查網路設定:
- 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。
- 在清單中搜尋您在上一個步驟中建立的網路。
- 如要查看子網路、防火牆規則和其他網路設定,請按一下網路名稱。
選用:建立配置政策
您可以建立密集配置政策來指定 VM 配置。將密集配置政策套用至 VM 時,Compute Engine 會盡力建立彼此距離最近的 VM。如果您的應用程式對延遲時間很敏感,且需要盡可能精簡,請在建立密集配置政策時,指定 maxDistance 欄位 (預覽)。maxDistance 值越低,VM 彼此會越靠近,但也會增加無法建立部分 VM 的可能性。
gcloud
如要建立密集配置政策,請使用
gcloud beta compute resource-policies create group-placement 指令:
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
更改下列內容:
REST
如要建立密集配置政策,請對 betaresourcePolicies.insert 方法發出 POST 要求。在要求主體中,加入設為 COLLOCATED 的 collocation 欄位,以及 maxDistance 欄位。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": MAX_DISTANCE
}
}
更改下列內容:
大量建立 VM 執行個體
本節中的操作說明說明如何大量建立 H4D VM。
使用 Cloud RDMA 建立 H4D 執行個體前,請先詳閱下列限制:
- 如果執行個體有 Cloud RDMA 網路介面,就無法在主機維護事件期間使用即時遷移功能。您必須將執行個體設為在維護事件期間終止。
- gVNIC 網路介面只能有一個 IPv6 位址 (內部或外部),不能同時有兩個。
您只能搭配 IRDMA 網路介面和 Falcon 虛擬私有雲網路使用 IPv4 位址。
gcloud
如要大量建立 VM,請使用 gcloud compute instances create 指令。
您需要指定的參數取決於這項部署作業使用的耗用量選項。選取與計費方案佈建模式對應的分頁。
取決於預留項目
首先執行下列
gcloud compute instances create 指令。
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image=project= IMAGE_PROJECT \
--instance-termination=action=DELETE \
--maintenance-policy=TERMINATE \
--region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE
操作步驟如下:
更改下列內容:
NAME_PATTERN:執行個體的名稱模式。舉例來說,使用vm-#名稱模式會產生vm-1和vm-2等名稱的執行個體,最多可達--count旗標指定的數量。COUNT:要建立的執行個體數量。MACHINE_TYPE:執行個體使用的機型。使用其中一種 H4D 機器類型,例如h4d-highmem-192-lssd。IMAGE_FAMILY:您要使用的 OS 映像檔系列,例如rocky-linux-9-optimized-gcp。如需支援的 OS 映像檔清單,請參閱「支援的作業系統」。選擇支援 IRDMA 介面的 OS 映像檔版本。
IMAGE_PROJECT:OS 映像檔的專案 ID,例如rocky-linux-cloud。REGION:指定要使用的機型所在的區域,例如europe-west4。如要瞭解可用區域,請參閱「適用區域及可用區」。DISK_SIZE:選用:開機磁碟大小 (以 GiB 為單位)。值必須為整數。
選用:如果您選擇使用密集配置政策,請加入
--resource-policies旗標:--resource-policies=POLICY_NAME將 POLICY_NAME 替換為精簡放置政策的名稱。
如要指定預留項目,請執行下列其中一項操作:
-
如果您使用配置政策,或 VM 可放置在預訂區塊的任何位置,請在指令中加入下列標記:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=RESERVATION_NAME \將 RESERVATION_NAME 替換為預訂名稱,例如
h4d-highmem-exfr-prod。 -
如果您未使用密集配置政策,且希望將執行個體放置在特定區塊中,請在指令中加入下列旗標:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=<RESERVATION_BLOCK_NAME \將 RESERVATION_BLOCK_NAME 替換為預訂中的區塊名稱,例如
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1。
如要查看預約名稱或可用的預約時段,請參閱「查看容量」。
-
-
選用:如要設定執行個體使用 Cloud RDMA,請在指令中加入類似下列的標記。這個範例會設定兩個 GVNIC 網路介面和一個 IRDMA 網路介面:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \更改下列內容:
GVNIC_NAME_PREFIX:您為 GVNIC 介面建立虛擬私有雲網路和子網路時使用的名稱前置字元。對於第一個 gVNIC 網路介面,您可以省略
network和subnet旗標,改用default網路。STACK_TYPE:選用:GVNIC 網路介面的堆疊類型。STACK_TYPE必須是IPV4_ONLY或IPV4_IPV6。預設值為IPV4_ONLY。EXTERNAL_IPV4_ADDRESS:選用:要與網路介面搭配使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。執行下列任一操作:- 從子網路指定有效的 IPv4 位址。
- 如果不想讓網路介面擁有外部 IP 位址,請改用
no-address旗標。 - 如要讓介面接收臨時外部 IP 位址,請指定
address=''。
如要指定外部 IPv6 位址,請改用
--external-ipv6-address標記。RDMA_NAME_PREFIX:建立 IRDMA 介面的虛擬私有雲網路和子網路時使用的名稱前置字元。
- 選用:視需要新增其他旗標,自訂其餘執行個體屬性。
- 執行更改後的指令。
Spot
首先執行下列
gcloud compute instances create 指令。
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image=project= IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--provisioning-model=SPOT \
--instance-termination=action=TERMINATION_ACTION
操作步驟如下:
更改下列內容:
NAME_PATTERN:執行個體的名稱模式。舉例來說,使用vm-#名稱模式會產生vm-1和vm-2等名稱的執行個體,最多可達--count旗標指定的數量。COUNT:要建立的執行個體數量。MACHINE_TYPE:執行個體使用的機型。使用其中一種 H4D 機器類型,例如h4d-highmem-192-lssd。IMAGE_FAMILY:您要使用的 OS 映像檔系列,例如rocky-linux-9-optimized-gcp。如需支援的 OS 映像檔清單,請參閱「支援的作業系統」。選擇支援 IRDMA 介面的 OS 映像檔版本。
IMAGE_PROJECT:OS 映像檔的專案 ID,例如rocky-linux-cloud。REGION:指定要使用的機型所在的區域,例如europe-west4。如要瞭解可用區域,請參閱「適用區域及可用區」。DISK_SIZE:選用:開機磁碟大小 (以 GiB 為單位)。值必須為整數。TERMINATION_ACTION:Compute Engine 先占執行個體時採取的動作,可以是STOP(預設值) 或DELETE。
-
選用步驟:如果您選擇使用密集配置政策,請在指令中加入下列旗標:
--resource-policies=POLICY_NAME \將
POLICY_NAME替換為密集配置政策的名稱。 -
選用:如要設定執行個體使用 Cloud RDMA,請在指令中加入類似下列的標記。這個範例會設定兩個 GVNIC 網路介面和一個 IRDMA 網路介面:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \更改下列內容:
GVNIC_NAME_PREFIX:您為 GVNIC 介面建立虛擬私有雲網路和子網路時使用的名稱前置字元。對於第一個 gVNIC 網路介面,您可以省略
network和subnet旗標,改用default網路。STACK_TYPE:選用:GVNIC 網路介面的堆疊類型。STACK_TYPE必須是IPV4_ONLY或IPV4_IPV6。預設值為IPV4_ONLY。EXTERNAL_IPV4_ADDRESS:選用:要與網路介面搭配使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。執行下列任一操作:- 從子網路指定有效的 IPv4 位址。
- 如果不想讓網路介面擁有外部 IP 位址,請改用
no-address旗標。 - 如要讓介面接收臨時外部 IP 位址,請指定
address=''。
如要指定外部 IPv6 位址,請改用
--external-ipv6-address標記。RDMA_NAME_PREFIX:建立 IRDMA 介面的虛擬私有雲網路和子網路時使用的名稱前置字元。
- 選用:視需要新增其他旗標,自訂其餘執行個體屬性。
- 執行更改後的指令。
REST
如要大量建立 VM 執行個體,請對 instances.bulkInsert 方法發出 POST 要求
您需要指定的參數取決於這項部署作業使用的耗用量選項。選取與計費方案佈建模式對應的分頁。
取決於預留項目
首先,請對 instances.bulkInsert 方法發出下列 POST 要求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
操作步驟如下:
更改下列內容:
PROJECT_ID:您要在當中建立執行個體的專案 ID。ZONE:指定您要使用的機型所在的可用區。如果您使用密集配置政策,請使用與密集配置政策位於相同區域的可用區。如要瞭解 H4D 機器類型適用的地區,請參閱「適用區域及可用區」。NAME_PATTERN:執行個體的名稱模式。舉例來說,如果名稱模式為vm-#,就會產生vm-1和vm-2等執行個體名稱,最多可達count欄位指定的數量。COUNT:要建立的執行個體數量。MACHINE_TYPE:執行個體要使用的機型。使用其中一種 H4D 機器類型,例如h4d-highmem-192-lssd。DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。IMAGE_PROJECT:OS 映像檔的專案 ID,例如debian-cloud。IMAGE_FAMILY:您要使用的 OS 映像檔系列,例如rocky-linux-9-optimized-gcp。如需支援的 OS 映像檔清單,請參閱「支援的作業系統」。選擇支援 IRDMA 介面的 OS 映像檔版本。
選用:如果您選擇使用密集配置政策,請在要求主體中加入
resourcePolicies參數,做為"instanceProperties"參數的一部分。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],將 POLICY_NAME 替換為精簡放置政策的名稱。
-
如要指定預留項目,請執行下列其中一項操作:
-
如果您使用配置政策,或 VM 可放置在預訂區塊的任何位置,請將下列項目新增至要求主體,做為
"instanceProperties"參數的一部分:"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_NAME" ], },將 RESERVATION_NAME 替換為預訂名稱,例如
h4d-highmem-exfr-prod。 -
如果您未使用密集配置政策,或希望執行個體放置在特定區塊中,請將下列項目新增至要求主體,做為
"instanceProperties"參數的一部分:"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_BLOCK_NAME" ], },將 RESERVATION_BLOCK_NAME 替換為預訂中的區塊名稱,例如
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1。
如要查看預約名稱或可用的預約時段,請參閱「查看容量」。
-
如要設定執行個體使用 Cloud RDMA,請在要求主體中加入類似下列的參數區塊,做為
"instanceProperties"參數的一部分。這個範例會設定兩個 GVNIC 網路介面和一個 IRDMA 網路介面:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],更改下列內容:
GVNIC_NAME_PREFIX:您為 GVNIC 介面建立虛擬私有雲網路和子網路時使用的名稱前置字元。如果是 GVNIC 網路介面,您可以省略
network和subnetwork欄位,改用default網路。EXTERNAL_IPV4_ADDRESS:選用:要與網路介面搭配使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。RDMA_NAME_PREFIX:您為 IRDMA 介面建立虛擬私有雲網路和子網路時使用的名稱前置字元。
- 選用:視需要自訂其餘執行個體屬性。
- 提交要求。
Spot
首先,請對 instances.bulkInsert 方法發出下列 POST 要求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"scheduling":{
"provisioningModel":"SPOT",
"instanceTerminationAction":"TERMINATION_ACTION"
}
}
}
操作步驟如下:
更改下列內容:
PROJECT_ID:您要在當中建立執行個體的專案 ID。ZONE:指定您要使用的機型所在的可用區。如果您使用密集配置政策,請使用與密集配置政策位於相同區域的可用區。如要瞭解 H4D 機器類型適用的地區,請參閱「適用區域及可用區」。NAME_PATTERN:執行個體的名稱模式。舉例來說,如果名稱模式為vm-#,就會產生vm-1和vm-2等執行個體名稱,最多可達count欄位指定的數量。COUNT:要建立的執行個體數量。MACHINE_TYPE:執行個體要使用的機型。使用其中一種 H4D 機器類型,例如h4d-highmem-192-lssd。DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。IMAGE_PROJECT:OS 映像檔的專案 ID,例如debian-cloud。IMAGE_FAMILY:您要使用的 OS 映像檔系列,例如rocky-linux-9-optimized-gcp。如需支援的 OS 映像檔清單,請參閱「支援的作業系統」。選擇支援 IRDMA 介面的 OS 映像檔版本。TERMINATION_ACTION:Compute Engine 先占執行個體時要採取的動作,可以是STOP(預設) 或DELETE。
選用:如果您選擇使用密集配置政策,請在
"instanceProperties"參數中加入resourcePolicies參數。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]如要設定執行個體使用 Cloud RDMA,請在要求主體中加入類似下列的參數區塊,做為
"instanceProperties"參數的一部分。這個範例會設定兩個 GVNIC 網路介面和一個 IRDMA 網路介面:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],更改下列內容:
GVNIC_NAME_PREFIX:您為 GVNIC 介面建立虛擬私有雲網路和子網路時使用的名稱前置字元。如果是 GVNIC 網路介面,您可以省略
network和subnetwork欄位,改用default網路。EXTERNAL_IPV4_ADDRESS:選用:要與網路介面搭配使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。RDMA_NAME_PREFIX:您為 IRDMA 介面建立虛擬私有雲網路和子網路時使用的名稱前置字元。
- 選用:視需要自訂其餘執行個體屬性。
- 提交要求。