本文說明如何在附加 GPU 的虛擬機器 (VM) 執行個體群組 (MIG) 中建立調整大小要求。如要在 MIG 中建立可使用叢集管理員提供的功能和服務的調整大小要求,請參閱 AI Hypercomputer 說明文件中的「建立 MIG 和調整大小要求」。
您可以在 MIG 中建立大小調整要求,取得 GPU 等需求量高的資源,並一次建立所需的 VM 數量,以便降低成本。
事前準備
- 請參閱 大小調整要求的運作方式。
- 如要確保您有足夠的 GPU 配額可用於要求的資源,請查看 GPU 配額。
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要取得在 MIG 中建立調整大小要求所需的權限,請要求管理員為您授予專案的 Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色包含在 MIG 中建立調整大小要求所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立 MIG 中的調整大小要求,您必須具備下列權限:
-
如要建立執行個體範本:
compute.instanceTemplates.create
在專案中 -
如要建立可用區 MIG,請按照下列步驟操作:
compute.instanceGroupManagers.create
在專案中 -
如要在 MIG 中建立調整大小要求,請按照下列步驟操作:
compute.instanceGroupManagers.update
在專案中
為大小調整要求準備 MIG
如要在 MIG 中建立調整大小要求,您必須按照下列各節所述設定執行個體範本和 MIG。
建立執行個體範本
如果您想在 MIG 中建立調整大小要求,則 MIG 必須使用執行個體範本,並採用下列設定:
如要建立在 MIG 中建立調整大小要求的執行個體範本,請選取下列任一選項:
主控台
前往 Google Cloud 控制台的「Instance templates」(執行個體範本) 頁面。
點選「建立執行個體範本」。
在「Name」欄位中,輸入執行個體範本的名稱。
在「地區」部分中,選取下列其中一個選項:
如要建立全域執行個體範本,請選取「Global」(全域) (如果尚未選取)。
如要建立區域執行個體範本,請選取「Regional」(區域),然後選取要建立執行個體範本的區域。
在「機器設定」專區中,執行下列操作:
按一下「GPU」分頁標籤。
在「GPU type」清單中選取 GPU 類型。
在「Number of GPUs」(GPU 數量) 清單中,選取 GPU 數量。
選用:如果 GPU 型號支援適用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS),且您打算執行需要大量圖形的工作負載,請選取「啟用虛擬工作站 (NVIDIA GRID)」。
在「Machine type」(機器類型) 部分中,選取機器類型。
選用步驟:如要變更預設值開機磁碟類型或映像檔,請在「Boot disk」(開機磁碟) 部分中按一下「Change」(變更)。然後按照提示變更啟動磁碟。
展開「進階選項」部分,然後執行下列操作:
展開「管理」部分。
在「Reservations」清單中,選取「Don't use」。
按一下 [建立]。
gcloud
如要建立執行個體範本,並將其設為在 MIG 中建立調整大小要求,請使用 instance-templates create
指令搭配下列旗標:
--maintenance-policy
標記設為TERMINATE
。--reservation-affinity
標記設為none
。
例如,使用下列指令建立區域執行個體範本。如果您想建立全域執行個體範本,請使用相同的指令,但不含 --instance-template-region
標記。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--reservation-affinity=none
更改下列內容:
INSTANCE_TEMPLATE_NAME
:要建立的執行個體範本名稱。IMAGE_PROJECT
:包含圖片的圖片專案,例如debian-cloud
。如要進一步瞭解支援的圖像專案,請參閱「公開圖像」。IMAGE_FAMILY
:圖片群組。這會指定最新的非淘汰 OS 映像檔。舉例來說,如果您指定debian-12
,系統會使用 Debian 12 映像檔系列中的最新版本。如要進一步瞭解如何使用映像檔系列,請參閱「映像檔系列最佳做法」。如果您想使用特定版本的 OS 映像檔 (例如
debian-12-buster-v20240701
),請將--image-family
旗標替換為--image
旗標。REGION
:要建立執行個體範本的區域。MACHINE_TYPE
:支援 GPU 的機器類型。如果您指定 N1 機器類型,請加入--accelerator
標記,指定要附加至 VM 的 GPU 數量和類型。
REST
如要建立在 MIG 中建立調整大小要求的執行個體範本,請向下列任一方法提出 POST
要求:
如要建立地區執行個體範本,請使用
regionInstanceTemplates.insert
方法:如要建立全域執行個體範本,請使用
instanceTemplates.insert
方法:
在要求主體中執行下列操作:
加入
scheduling.onHostMaintenance
欄位,並將其設為TERMINATE
。加入
reservationAffinity.consumeReservationType
欄位,並將其設為NO_RESERVATION
。
舉例來說,如要建立區域執行個體範本,請提出以下 POST
要求:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"onHostMaintenance": "TERMINATE"
}
}
}
更改下列內容:
PROJECT_ID
:建立執行個體範本的專案 ID。REGION
:要建立執行個體範本的區域。INSTANCE_TEMPLATE_NAME
:要建立的執行個體範本名稱。IMAGE_PROJECT
:包含圖片的圖片專案,例如debian-cloud
。如要進一步瞭解支援的圖像專案,請參閱「公開圖像」。IMAGE
:指定下列其中一個值:MACHINE_TYPE
:支援 GPU 的機器類型。如果您指定 N1 機器類型,請在要求主體中加入guestAccelerators
欄位,指定要附加至 VM 的 GPU 數量和類型。
如要進一步瞭解如何建立執行個體範本,請參閱「建立執行個體範本」。
建立或更新 MIG
按照上一節所述建立執行個體範本後,請使用該執行個體範本建立 MIG,或更新 MIG。此外,您必須執行下列操作,為 MIG 準備調整大小要求:
將 MIG 的更新類型設為投機 (預設)。
如果您已在 MIG 中設定自動調度資源,請刪除自動調度資源設定。
如果您使用的是區域性 MIG,請將目標分配型態設為
ANY_SINGLE_ZONE
。
如要建立與調整大小要求相容的 MIG,請選取下列任一選項:
主控台
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
點選「建立執行個體群組」。
「Create instance group」(建立執行個體群組) 頁面隨即開啟。
在「Name」 欄位中輸入 MIG 的名稱。
在「Instance template」(執行個體範本) 清單中,選取您在上一個部分中建立的執行個體範本。如果選取區域執行個體範本,系統會將「區域」清單設為執行個體範本的區域。
在「Location」(位置) 部分中,指定要建立區域性或地區性 MIG,如下所示:
如要建立可用區 MIG,請選取「單一可用區」。或者,如要建立區域性 MIG,請選取「多個可用區」。
選取 MIG 的「Region」(區域)和「Zone」(可用區)。
如果您要建立區域性 MIG,請執行下列步驟:
在「Target distribution shape」(目標分配型態) 欄位中,選取「Any single zone」(任何單一可用區)。您必須先在後續步驟中刪除自動調整大小設定,才能選取這個選項。
選取「任何單一可用區」選項後,請在隨即顯示的對話方塊中按一下「停用執行個體重新分配」。
刪除自動調度資源設定的方式如下:
在「Autoscaling」部分,按一下「Autoscaling mode」清單,然後點選「Delete autoscaling configuration」。
在確認對話方塊中按一下「刪除」。
請按照下列步驟關閉修復功能:
在「VM 執行個體生命週期」區段中,按一下「失敗時的預設動作」清單。
選取「不需要採取任何行動」。
執行下列其中一個步驟:
如要在此時建立大小調整要求,請執行下列操作:
在「Number of instances」欄位中,輸入要一次建立的 VM 數量。
勾選「透過大小調整要求一次建立多個 VM」核取方塊。
在「Requested run duration」欄位和「Unit」清單中,指定 VM 的執行時間長度。時間長度必須介於 1 小時至 7 天之間。
否則,請在「Number of instances」(執行個體數量) 欄位中輸入
0
。您之後可以建立大小調整要求,在群組中新增 VM。
按一下 [建立]。
gcloud
使用 instance-groups managed create
指令,並將 --default-action-on-vm-failure
旗標設為 do_nothing
。如果您要建立區域性 MIG,則必須將 --target-distribution-shape
旗標設為 any-single-zone
,並將 --instance-redistribution-type
旗標設為 none
。
如要建立區域 MIG,請執行下列指令:
gcloud compute instance-groups managed create INSTANCE_GROUP_URL \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
如要建立地區 MIG,請執行下列指令:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --default-action-on-vm-failure=do_nothing
更改下列內容:
INSTANCE_GROUP_NAME
:要建立的 MIG 名稱。INSTANCE_TEMPLATE_URL
:您在先前章節建立的執行個體範本部分網址。如果您想使用區域執行個體範本建立 MIG,則只能在範本的區域內建立 MIG。請指定下列其中一個值:區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
全域執行個體範本:
INSTANCE_TEMPLATE_NAME
ZONE
:建立 MIG 的可用區。REGION
:要建立 MIG 的區域。
REST
如要建立區域 MIG,請使用
instanceGroupManagers.insert
方法傳送POST
要求,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
如要建立區域性 MIG,請使用
regionInstanceGroupManagers.insert
方法傳送POST
要求,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
更改下列內容:
PROJECT_ID
:您在上一節中建立的執行個體範本所在專案的 ID。INSTANCE_TEMPLATE_URL
:您在先前章節建立的執行個體範本部分網址。如果您想使用區域執行個體範本建立 MIG,則只能在範本的區域內建立 MIG。請指定下列其中一個值:區域執行個體範本:
regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
全域執行個體範本:
global/instanceTemplates/INSTANCE_TEMPLATE_NAME
ZONE
:建立 MIG 的可用區。REGION
:要建立 MIG 的區域。INSTANCE_GROUP_NAME
:要建立的 MIG 名稱。
在 MIG 中建立大小調整要求
建立調整大小要求前,請確認您已按照上一節所述準備 MIG。
建立大小調整要求後,系統會接受要求,並提供所有要求的資源,MIG 就會一次建立所需數量的 VM。在指定的執行時間結束後,MIG 會刪除 VM,或是您刪除 VM 之前,VM 會持續執行。
如要在 MIG 中建立調整大小要求,請選取下列任一選項:
主控台
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
在「Name」欄中,按一下要建立調整大小要求的 MIG 名稱。
MIG 的總覽頁面隨即開啟。
在「大小調整要求」列中,按一下
「編輯大小調整要求」。按一下
「新調整大小要求」。畫面上會顯示「New resize requests」窗格。
在「名稱」欄位中輸入調整大小要求的名稱。
在「Number of additional instances needed」(額外需要的執行個體數量) 欄位中,輸入要一次新增至 MIG 的 VM 數量。
在「要求的執行時長」和「單位」欄位中,指定要求的 VM 應執行多久。時長必須介於 1 小時至 7 天之間。
按一下 [建立]。
gcloud
如要在區域 MIG 中建立調整大小要求,請使用
instance-groups managed resize-requests create
指令。gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --zone=ZONE
如要在區域性 MIG 中建立調整大小要求,請使用
beta instance-groups managed resize-requests create
指令。gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --region=REGION
更改下列內容:
INSTANCE_GROUP_NAME
:在 MIG 中設定用於建立大小調整要求的名稱。RESIZE_REQUEST_NAME
:大小調整要求的名稱,在指定的 MIG 中不得重複。否則,建立調整大小要求會失敗。COUNT
:一次新增至 MIG 的 VM 數量。RUN_DURATION
:您希望要求的 VM 執行多久。值的格式必須是天數、小時、分鐘或秒數,後面分別接上d
、h
、m
和s
。例如,指定30m
為 30 分鐘,或1d2h3m4s
為 1 天、2 小時、3 分鐘和 4 秒。這個值必須介於 10 分鐘至 7 天之間。ZONE
:MIG 所在區域。REGION
:MIG 所在的地區。
REST
如要在區域 MIG 中建立調整大小要求,請使用
instanceGroupManagerResizeRequests.insert
方法傳送POST
要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
如要在區域性 MIG 中建立調整大小要求,請使用
beta.regionInstanceGroupManagerResizeRequests.insert
方法傳送POST
要求。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
在要求主體中加入下列內容:
{
"name": "RESIZE_REQUEST_NAME",
"resizeBy": COUNT,
"requestedRunDuration": {
"seconds": "RUN_DURATION"
}
}
更改下列內容:
PROJECT_ID
:指定 MIG 所在專案的 ID。ZONE
:MIG 所在區域。REGION
:MIG 所在的地區。INSTANCE_GROUP_NAME
:在 MIG 中設定用於建立調整大小要求的名稱。RESIZE_REQUEST_NAME
:大小調整要求的名稱,在指定的 MIG 中不得重複。否則,建立大小調整要求會失敗。COUNT
:一次新增至 MIG 的 VM 數量。RUN_DURATION
:您希望要求的 VM 執行的時間長度,以秒為單位。這個值必須介於600
(600 秒,即 10 分鐘) 和604800
(604,800 秒,即 7 天) 之間。
建立調整大小要求後,您可以查看調整大小要求的詳細資料,查看狀態或排解問題。
後續步驟
瞭解如何查看 MIG 和受管理 VM 的相關資訊。