本文說明如何建立使用 G2 機型的代管執行個體群組 (MIG)。如要進一步瞭解這些加速器最佳化機型,請參閱「G2 系列」。
建立 MIG 後,您就能將多部虛擬機器 (VM) 視為單一實體來管理。MIG 中的每個 VM 都是以執行個體範本為基礎。MIG 會自動管理群組中的 VM,提供高可用性和擴充性。如要進一步瞭解 MIG,請參閱 Compute Engine 說明文件中的「代管執行個體群組」。
如要瞭解建立 VM 或叢集的其他方式,請參閱「部署選項總覽」。
限制
使用 G2 VM 建立 MIG 時,請考量機型和 MIG 的限制。
G2 VM 的限制
建立 G2 VM 時,須遵守下列限制:
- 使用 G2 機型的執行個體不適用續用折扣和彈性承諾使用折扣。
- G2 機型僅適用於特定區域和可用區。
- G2 機型僅適用於 Cascade Lake 平台。
- 使用 G2 機型的執行個體不支援標準永久磁碟 (
pd-standard)。如要瞭解支援的磁碟類型,請參閱「G2 支援的磁碟類型」。 - 您無法在使用 G2 機型的執行個體上建立多執行個體 GPU。
- 如要變更 G2 執行個體的機型,請參閱「修改加速器最佳化執行個體」。
- 您無法將深度學習 VM 映像檔做為使用 G2 機型的執行個體開機磁碟。
- 在下列情況下,您必須使用 Google Cloud CLI 或 REST 建立 G2 執行個體:
- 您想指定自訂記憶體值。
- 您想自訂可見的 CPU 核心數量。
MIG 的限制
配置政策和大小調整要求無法同時使用。針對每個 MIG,選擇是否要使用下列其中一項功能:
- 如要透過共置 VM 縮短延遲時間,請在執行個體範本中使用密集配置政策。
- 如果您想一次建立所有 VM、希望提高取得機率,且選擇了支援的消耗選項,請對 MIG 使用大小調整要求。
- 如要使用密集配置政策,請參閱配置政策限制。
- 如要使用大小調整要求,請參閱大小調整要求的限制。
事前準備
建立 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在專案中
總覽
使用 G2 機型建立 MIG 的步驟如下:
針對每個 MIG,您必須選擇是否要使用密集配置政策、使用大小調整要求,或兩者皆不使用。如要進一步瞭解各選項的使用時機,請參閱本文的「MIG 限制」一節。
選用:建立密集配置政策
您可以建立密集配置政策,指定 VM 的配置方式。當您對 VM 套用密集配置政策時,Compute Engine 會盡可能建立彼此靠近的 VM。如果應用程式對延遲時間較為敏感,且需要盡可能提高密集度,請在建立密集配置政策時指定 maxDistance 欄位 (預先發布版)。maxDistance 值越低,VM 彼此會越靠近,但也會增加無法建立部分 VM 的可能性。
gcloud
如要建立密集配置政策,請使用
gcloud compute resource-policies create group-placement 指令:
gcloud compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
更改下列內容:
POLICY_NAME:密集配置政策的名稱。MAX_DISTANCE:VM 的最大距離設定,可指定 (預先發布版,建議) 或不指定 (移除--max-distance旗標)。視機型支援的功能而定,您可以指定下列其中一個值:- 如要將 VM 放在同一個子區塊:
1 - 如要將 VM 放在同一個區塊:
2 - 如要將 VM 放在相鄰區塊:
3
- 如要將 VM 放在同一個子區塊:
REGION:要建立密集配置政策的區域。指定您打算建立執行個體的可用區所在的區域,並確認您要使用的機器類型在該區域中可用。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
REST
如要建立密集配置政策,請向 resourcePolicies.insert 方法發出 POST 要求。在要求主體中,加入設為 COLLOCATED 的 collocation 欄位和 maxDistance 欄位。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": MAX_DISTANCE
}
}
更改下列內容:
PROJECT_ID:您的專案 ID。POLICY_NAME:密集配置政策的名稱。MAX_DISTANCE:VM 的最大距離設定,可以指定 (預先發布版,建議使用) 或不指定 (移除maxDistance欄位)。視機型支援的功能而定,您可以指定下列其中一個值:- 如要將 VM 放在同一個子區塊:
1 - 如要將 VM 放在同一個區塊:
2 - 如要將 VM 放在相鄰區塊:
3
- 如要將 VM 放在同一個子區塊:
REGION:要建立密集配置政策的區域。指定您打算建立執行個體的可用區所在的區域,並確認您要使用的機器類型在該區域中可用。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
建立執行個體範本
建立執行個體範本,指定 MIG 的 VM 屬性。
如要建立執行個體範本,請選取下列其中一個選項:
下列指令也會設定執行個體的存取權範圍。為簡化權限管理,Google 建議您將執行個體的存取權範圍設為cloud-platform 存取權,然後使用 IAM 角色定義執行個體可存取的服務。詳情請參閱「範圍最佳做法」。gcloud
如要建立區域性執行個體範本,請使用 gcloud compute instance-templates create 指令。
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與計費模式對應的分頁。
預留項目
G2 執行個體支援下列預留項目類型:
- 隨需預留項目
- 標準未來預留項目
如要使用這類預留項目,執行個體必須採用標準佈建模式。舉例來說,請使用下列建立參數。
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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 \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。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
-
選用:如果您選擇使用密集配置政策,請在指令中加入下列旗標:
--resource-policies=POLICY_NAME
更改下列內容:
POLICY_NAME:密集配置政策的名稱。
-
選用:如要連接本機 SSD 磁碟,請為「每個」本機 SSD 磁碟新增下列
--local-ssd旗標。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
--local-ssd interface=INTERFACE_TYPE
更改下列內容:
INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
- 執行更改後的指令。
隨選
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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 \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:any(預留運算資源為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。none(必須使用隨選運算能力):禁止執行個體使用任何預留運算能力。
根據預設,如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,執行個體會自動重新啟動。如要停用自動重新啟動功能,請新增下列旗標:
--no-restart-on-failure
-
選用:如果您選擇使用密集配置政策,請在指令中加入下列旗標:
--resource-policies=POLICY_NAME
更改下列內容:
POLICY_NAME:密集配置政策的名稱。
-
選用:如要連接本機 SSD 磁碟,請為「每個」本機 SSD 磁碟新增下列
--local-ssd旗標。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
--local-ssd interface=INTERFACE_TYPE
更改下列內容:
INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
- 執行更改後的指令。
彈性啟動
執行指令前,請詳閱下列所有步驟,判斷是否要加入其他旗標。
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 \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。RUN_DURATION:要求的 VM 執行時間長度。值的格式必須是天數、小時數、分鐘數或秒數,後面分別加上d、h、m和s。舉例來說,指定30m代表 30 分鐘,指定1d2h3m4s則代表一天兩小時三分四秒。值必須介於 10 分鐘至 7 天之間。
-
選用:如要連接本機 SSD 磁碟,請為「每個」本機 SSD 磁碟新增下列
--local-ssd旗標。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
--local-ssd interface=INTERFACE_TYPE
更改下列內容:
INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
- 執行更改後的指令。
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 \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是STOP(預設) 或DELETE。
-
選用:如果您選擇使用密集配置政策,請在指令中加入下列旗標:
--resource-policies=POLICY_NAME
更改下列內容:
POLICY_NAME:密集配置政策的名稱。
-
選用:如要連接本機 SSD 磁碟,請為「每個」本機 SSD 磁碟新增下列
--local-ssd旗標。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
--local-ssd interface=INTERFACE_TYPE
更改下列內容:
INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
-
選用:如要使用 NVIDIA RTX 虛擬工作站 (vWS),請新增下列旗標。
建立使用 NVIDIA RTX 虛擬工作站的執行個體時,Compute Engine 會自動新增 vWS 授權。如要瞭解虛擬工作站的定價,請參閱 GPU 定價頁面。
--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT
將
VWS_ACCELERATOR_COUNT替換為所需的虛擬 GPU 數量。 - 執行更改後的指令。
REST
如要建立區域執行個體範本,請向 regionInstanceTemplates.insert 方法發出 POST 要求。
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與計費模式對應的分頁。
預留項目
G2 執行個體支援下列預留項目類型:
- 隨需預留項目
- 標準未來預留項目
如要使用這類預留項目,執行個體必須採用標準佈建模式。舉例來說,請使用下列建立參數。
提交要求前,請詳閱下列所有步驟,判斷是否要加入其他欄位。
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"
]
}
],
"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:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。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:預留項目名稱。
- 如果您指定了
-
選用:如果您選擇使用密集配置政策,請在要求主體中新增下列
instanceProperties子欄位:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]更改下列內容:
PROJECT_ID:密集配置政策的專案 ID。REGION:密集配置政策的區域。POLICY_NAME:密集配置政策的名稱。
-
選用:如要使用本機 SSD 磁碟,請在每個本機 SSD 磁碟的
disks[]欄位中新增下列欄位。請以半形逗號分隔每個disks[]子欄位 (包括開機磁碟)。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }更改下列內容:
ZONE:您指定的可用區。INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
-
選用:如要使用 NVIDIA RTX 虛擬工作站 (vWS),請新增下列欄位。
建立使用 NVIDIA RTX 虛擬工作站的執行個體時,Compute Engine 會自動新增 vWS 授權。如要瞭解虛擬工作站的定價,請參閱 GPU 定價頁面。
"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]將
VWS_ACCELERATOR_COUNT替換為所需的虛擬 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"
]
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
}
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,是否要自動重新啟動執行個體。指定true即可啟用自動重新啟動功能 (預設),指定false則可停用自動重新啟動功能。RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:ANY_RESERVATION(預留運算資源為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但只有在有相符的預留項目容量時,才會發生這種情況。否則,執行個體會使用隨選容量。NO_RESERVATION(必須使用隨選運算能力):禁止執行個體使用任何預留運算能力。
-
選用:如果您選擇使用密集配置政策,請在要求主體中新增下列
instanceProperties子欄位:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]更改下列內容:
PROJECT_ID:密集配置政策的專案 ID。REGION:密集配置政策的區域。POLICY_NAME:密集配置政策的名稱。
-
選用:如要使用本機 SSD 磁碟,請在每個本機 SSD 磁碟的
disks[]欄位中新增下列欄位。請以半形逗號分隔每個disks[]子欄位 (包括開機磁碟)。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }更改下列內容:
ZONE:您指定的可用區。INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
-
選用:如要使用 NVIDIA RTX 虛擬工作站 (vWS),請新增下列欄位。
建立使用 NVIDIA RTX 虛擬工作站的執行個體時,Compute Engine 會自動新增 vWS 授權。如要瞭解虛擬工作站的定價,請參閱 GPU 定價頁面。
"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]將
VWS_ACCELERATOR_COUNT替換為所需的虛擬 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"
]
}
],
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。RUN_DURATION:要求的 VM 應執行的時間長度,以秒為單位。值必須介於600(600 秒,即 10 分鐘) 和604800(604,800 秒,即 7 天) 之間。
-
選用:如要使用本機 SSD 磁碟,請在每個本機 SSD 磁碟的
disks[]欄位中新增下列欄位。請以半形逗號分隔每個disks[]子欄位 (包括開機磁碟)。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }更改下列內容:
ZONE:您指定的可用區。INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
- 提交要求。
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"
]
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
操作步驟如下:
-
更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。MACHINE_TYPE:G2 執行個體要使用的機器類型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援的作業系統清單,請參閱「支援的作業系統」。IMAGE_PROJECT:OS 映像檔的專案 ID。REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。DISK_TYPE:開機磁碟的類型。如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」一節。TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是STOP(預設) 或DELETE。
-
選用:如果您選擇使用密集配置政策,請在要求主體中新增下列
instanceProperties子欄位:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]更改下列內容:
PROJECT_ID:密集配置政策的專案 ID。REGION:密集配置政策的區域。POLICY_NAME:密集配置政策的名稱。
-
選用:如要使用本機 SSD 磁碟,請在每個本機 SSD 磁碟的
disks[]欄位中新增下列欄位。請以半形逗號分隔每個disks[]子欄位 (包括開機磁碟)。請確認您附加的本機 SSD 磁碟數量符合機型允許的數量。詳情請參閱 Compute Engine 說明文件中的「關於本機 SSD 磁碟」一節。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }更改下列內容:
ZONE:您指定的可用區。INTERFACE_TYPE:要用於本機 SSD 磁碟的磁碟介面類型。如果開機磁碟映像檔含有最佳化的 NVMe 驅動程式,請指定NVME。為其他圖片指定SCSI。
建立具有本機 SSD 磁碟的 VM 後,您必須格式化並掛接每個裝置,才能使用。
-
選用:如要使用 NVIDIA RTX 虛擬工作站 (vWS),請新增下列欄位。
建立使用 NVIDIA RTX 虛擬工作站的執行個體時,Compute Engine 會自動新增 vWS 授權。如要瞭解虛擬工作站的定價,請參閱 GPU 定價頁面。
"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]將
VWS_ACCELERATOR_COUNT替換為所需的虛擬 GPU 數量。 - 提交要求。
建立執行個體範本後,您可以查看範本,瞭解其 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 的步驟如下:
- 如要建立可用區 MIG,請使用下列指令:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --zone=ZONE
- 如要建立區域性 MIG,請使用下列指令:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --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 中要有的執行個體數量。ZONE:要建立 MIG 的可用區。REGION:要建立 MIG 的區域。如果是區域性 MIG,您可以使用--zones旗標指定該區域中的可用區,而非指定區域。
REST
如要建立指定目標大小的 MIG,請提出 POST 要求。
建立可用區或區域 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 } - 如要建立區域性 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 }
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 中要有的執行個體數量。
建立 MIG 和大小調整要求
如需一次啟動多個 VM 來執行工作,請建立 MIG,並按照本節說明在 MIG 中建立大小調整要求。
如要在 MIG 中建立大小調整要求,請選取下列其中一個選項:
gcloud
您需要指定的參數取決於您為這項部署作業使用的消耗選項。選取與用量選項佈建模式對應的分頁。
預留項目
建立可用區或區域 MIG,以及大小調整要求,步驟如下:
-
如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
-
使用
instance-groups managed create指令建立可用區 MIG,如下所示。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --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 \ --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 \ --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 \ --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 \ --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 \ --region=REGION \ --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
-
Spot
建立可用區或區域 MIG,以及大小調整要求,步驟如下:
-
如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
-
使用
instance-groups managed create指令建立可用區 MIG,如下所示。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --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 \ --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
- 區域性執行個體範本:
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,以及大小調整要求,步驟如下:
- 如要建立可用區 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 } - 如要在可用區 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" } } - 如要建立區域 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 } - 如要在可用區 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" } } - 如要建立區域 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" } } - 如要在可用區 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" } } - 如要建立區域 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,以及大小調整要求,步驟如下:
- 如要建立可用區 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 } - 如要在可用區 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" } } - 如要建立區域 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 的名稱。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。您需要安裝的驅動程式取決於執行個體是否啟用 NVIDIA RTX 虛擬工作站 (vWS)。請使用下列其中一種方式:
- 如果您已啟用 vWS,請參閱 Compute Engine 說明文件中的「安裝 NVIDIA RTX 虛擬工作站 (vWS) 驅動程式」。
否則,請按照下列方式使用預設 GPU 驅動程式:
- 如果您指定包含 GPU 驅動程式的 OS 映像檔,則不需採取任何行動。
- 如果 OS 映像檔不含 GPU 驅動程式,請參閱 Compute Engine 說明文件中的「安裝 GPU 驅動程式」一節。