本文說明在代管執行個體群組 (MIG) 中建立大小調整要求後,如何執行下列操作:
在 MIG 中建立大小調整要求後,您可以執行下列一或多項操作:
查看大小調整要求,監控要求狀態或疑難排解。
取消規模調整要求,即可停止 MIG 建立所要求的虛擬機器 (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 進行驗證」。
必要的角色
如要取得查看、取消或刪除 MIG 中調整大小要求所需的權限,請要求系統管理員在專案中授予您「Compute 執行個體管理員 (v1) 」(roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備查看、取消或刪除 MIG 中調整大小要求的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要查看、取消或刪除 MIG 中的規模調整要求,必須具備下列權限:
-
如要取消或刪除 MIG 中的大小調整要求:
compute.instanceGroupManagers.update -
如要查看 MIG 中的大小調整要求清單,請按照下列步驟操作:
compute.instanceGroupManagers.list -
如要查看大小調整要求的詳細資料:
compute.instanceGroupManagers.get
查看大小調整要求
如要查看 MIG 中的調整大小要求相關資訊,請使用下列其中一種方法:
如要查看 MIG 中的所有要求,請查看 MIG 中的規模調整要求清單。
如要查看特定要求的完整詳細資料,請查看大小調整要求的詳細資料。
查看 MIG 中的大小調整要求清單
如要查看 MIG 中的所有規模調整要求清單,請選取下列其中一個選項:
如要查看區域性 MIG 中所有調整大小要求的清單,請使用 gcloud CLI 或 REST API。否則,如要查看可用區 MIG 中所有調整大小要求的清單,請選取下列任一選項:
控制台
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
在「Name」(名稱) 欄中,按一下包含調整大小要求的 MIG 名稱。
MIG 的總覽頁面隨即開啟。
在「大小調整要求」列中,按一下「編輯大小調整要求」。
「大小調整要求」窗格隨即顯示。如果調整大小要求的「詳細資料」欄顯示「配額超出」或「預計時間:無限期」值,表示要求發生錯誤。你可以點選這些值來瞭解詳情。
如要進一步瞭解如何排解錯誤,請參閱本文的「查看調整大小要求的詳細資料」。
gcloud
如要查看區域 MIG 中的規模調整要求清單,請使用
instance-groups managed resize-requests list指令。gcloud compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \ --zone=ZONE如要查看區域 MIG 中的規模調整要求清單,請使用
beta instance-groups managed resize-requests list指令。gcloud beta compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \ --region=REGION
更改下列內容:
INSTANCE_GROUP_NAME:代管執行個體群組 (MIG) 的名稱,其中包含已接受、成功、取消或失敗的大小調整要求。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。
區域 MIG 的輸出內容如下:
NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D
NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D
REST
如要查看區域代管執行個體群組:MIG 的調整大小要求清單,請使用
instanceGroupManagerResizeRequests.list方法傳送GET要求。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests如要查看區域 MIG 中的規模調整要求清單,請使用
beta.regionInstanceGroupManagerResizeRequests.list方法傳送GET要求。GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
更改下列內容:
PROJECT_ID:MIG 所在的專案 ID,該 MIG 具有已接受、成功、取消或失敗的調整大小要求。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。INSTANCE_GROUP_NAME:現有 MIG 的名稱,且該 MIG 接受、成功、取消或無法調整大小。
區域 MIG 的輸出內容類似於下列內容:
{
"kind": "compute#instanceGroupManagerResizeRequestList",
"id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
"items": [
{
"kind": "compute#instanceGroupManagerResizeRequest",
"id": "4247139565532196982",
"creationTimestamp": "2024-01-08T07:51:53.034-08:00",
"name": "rr-01",
"zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
"count": 5,
"resizeBy": 5,
"requestedRunDuration": {
"seconds": "86400",
"nanos": 0
},
"state": "SUCCEEDED",
"status": {},
"selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
"selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
},
{
"kind": "compute#instanceGroupManagerResizeRequest",
"id": "8095866098849525652",
"creationTimestamp": "2024-01-11T08:04:11.851-08:00",
"name": "rr-02",
"zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
"count": 10,
"resizeBy": 10,
"requestedRunDuration": {
"seconds": "259200",
"nanos": 0
},
"state": "ACCEPTED",
"status": {},
"selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
"selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
}
],
"selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}
查看大小調整要求的詳細資料
您可以查看規模調整要求的詳細資料,瞭解其設定,並視需要進行疑難排解 (如果要求尚未成功)。
如果系統無法完成已接受的調整大小要求,請檢查要求詳細資料中的 status.lastAttempt.error.errors.code 欄位,找出問題並解決。可能的錯誤代碼如下:
QUOTA_EXCEEDED:您的專案缺少所要求資源的配額。 如要增加專案配額,請參閱「要求調整配額」。ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS:要求的資源暫時無法使用。Compute Engine 已排定建立所要求資源的時間,並預計在資源可用時建立。如果「message」欄位包含「Expected time is indefinite」, Google 建議取消要求,並嘗試下列一或多種做法:建立新的規模調整要求,並減少要求的 VM 數量。
在 MIG 中使用其他機型,然後建立新的調整大小要求。如要使用其他機型,請建立新的執行個體範本,然後使用該範本建立或更新 MIG。
在不同區域或可用區的代管執行個體群組:MIG 中建立規模調整要求。
如要查看調整大小要求的詳細資料,請選取下列其中一個選項:
gcloud
如要查看區域代管執行個體群組:MIG 中調整大小要求的詳細資料,請使用
instance-groups managed resize-requests describe指令。gcloud compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --zone=ZONE如要查看區域 MIG 中規模調整要求的詳細資料,請使用
beta instance-groups managed resize-requests describe指令。gcloud beta compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --region=REGION
更改下列內容:
INSTANCE_GROUP_NAME:MIG 的名稱。RESIZE_REQUEST_NAME:要查看詳細資料的調整大小要求名稱。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。
區域 MIG 的輸出內容如下:
creationTimestamp: '2024-09-23T02:27:09.575-07:00'
id: '6386622402379156098'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
nanos: 0
seconds: '86400'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098
state: ACCEPTED
status:
lastAttempt:
error:
errors:
- code: QUOTA_EXCEEDED
message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
- code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
message: There are currently not enough resources available to fulfill the request. Expected time is indefinite.
- errorDetails:
- errorInfo:
- metadatas:
- estimatedAvailabilityTime: '9999-12-31T23:59:59.999999999Z'
zone: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a
REST
如要查看區域 MIG 中調整大小要求的詳細資料,請使用
instanceGroupManagerResizeRequests.get方法傳送GET要求。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME如要查看區域 MIG 的大小調整要求詳細資料,請使用
beta.regionInstanceGroupManagerResizeRequests.get方法傳送GET要求。GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
更改下列內容:
PROJECT_ID:區域 MIG 所在的專案 ID。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。INSTANCE_GROUP_NAME:調整大小要求所在的 MIG 名稱。RESIZE_REQUEST_NAME:要查看詳細資料的現有調整大小要求名稱。
輸出結果會與下列內容相似:
{
"kind": "compute#instanceGroupManagerResizeRequest",
"id": "6386622402379156098",
"creationTimestamp": "2024-09-23T02:27:09.575-07:00",
"name": "example-request",
"zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
"resizeBy": 10,
"requestedRunDuration": {
"seconds": "86400",
"nanos": 0
},
"state": "SUCCEEDED",
"status": {
"lastAttempt": {
"error": {
"errors": [
{
"code": "QUOTA_EXCEEDED",
"message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
},
{
"code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"message": "There are currently not enough resources available to fulfill the request. Expected time is indefinite.",
"errorDetails": [
{
"errorInfo":{
"metadatas":{
"estimatedAvailabilityTime": "9999-12-31T23:59:59.999999999Z"
}
}
}
]
}
]
}
}
},
"selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
"selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098"
}
取消 MIG 中的大小調整要求
您可以取消 MIG 中的規模調整要求,停止 MIG 嘗試建立所要求的 VM 數量。你只能取消已接受 (ACCEPTED) 的大小調整要求。取消大小調整要求後,您可以刪除要求,也可以讓 Compute Engine 在 14 天後自動刪除要求。
如要同時取消多個調整大小要求,請使用Google Cloud 控制台或 Google Cloud CLI。如要取消單一調整大小要求,請選取下列任一選項:
控制台
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
在「Name」(名稱) 欄中,按一下包含調整大小要求的 MIG 名稱。
MIG 的總覽頁面隨即開啟。
在「大小調整要求」列中,按一下「編輯大小調整要求」。
「大小調整要求」窗格隨即顯示。
選取要取消的大小調整要求。
依序點選「取消」和「確認」。
gcloud
如要取消區域 MIG 中的規模調整要求,請使用
instance-groups managed resize-requests cancel指令。gcloud compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \ --resize-requests=RESIZE_REQUEST_NAMES \ --zone=ZONE如要取消地區 MIG 的規模調整要求,請使用
beta instance-groups managed resize-requests cancel指令。gcloud beta compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \ --resize-requests=RESIZE_REQUEST_NAMES \ --region=REGION
更改下列內容:
INSTANCE_GROUP_NAME:接受大小調整要求的 MIG 名稱。RESIZE_REQUEST_NAMES:以半形逗號分隔的名稱清單,列出指定可用區 MIG 中接受的規模調整要求。例如,指定request-1,request-2。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。
REST
如要取消區域 MIG 的規模調整要求,請使用
instanceGroupManagerResizeRequests.cancel方法傳送POST要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel如要取消區域 MIG 的規模調整要求,請使用
beta.regionInstanceGroupManagerResizeRequests.cancel方法傳送POST要求。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
更改下列內容:
PROJECT_ID:現有區域 MIG 所在的專案 ID,且該 MIG 接受了調整大小要求。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。INSTANCE_GROUP_NAME:MIG 的名稱。RESIZE_REQUEST_NAME:要取消的調整大小要求名稱。
刪除 MIG 中的大小調整要求
根據預設,Compute Engine 會在將要求狀態設為下列其中一種狀態後 14 天,自動刪除大小調整要求:
成功 (
SUCCEEDED)失敗 (
FAILED)已取消 (
CANCELLED)
不過,您可以在這段時間前立即刪除縮放要求,詳情請參閱本節。
刪除成功的大小調整要求不會刪除透過該要求建立的 VM。MIG 會在要求的執行時間結束時,自動刪除這些 VM。不過,如果工作已完成執行,且您不再需要 VM,請刪除 VM。
如要同時刪除多個調整大小要求,請使用Google Cloud 控制台或 gcloud CLI。如要刪除單一調整大小要求,請選取下列任一選項:
控制台
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
在「Name」(名稱) 欄中,按一下包含調整大小要求的 MIG 名稱。
MIG 的總覽頁面隨即開啟。
在「大小調整要求」列中,按一下「編輯大小調整要求」。
「大小調整要求」窗格隨即顯示。
選取要刪除的大小調整要求。
依序點選 「Delete」(刪除) 和「Confirm」(確認)。
gcloud
如要刪除區域 MIG 中的規模調整要求,請使用
instance-groups managed resize-requests delete指令。gcloud compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \ --resize-requests=RESIZE_REQUEST_NAMES \ --zone=ZONE如要刪除地區 MIG 中的規模調整要求,請使用
beta instance-groups managed resize-requests delete指令。gcloud beta compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \ --resize-requests=RESIZE_REQUEST_NAMES \ --region=REGION
更改下列內容:
INSTANCE_GROUP_NAME:MIG 的名稱,其中包含成功、失敗或已取消的大小調整要求。RESIZE_REQUEST_NAMES:以半形逗號分隔的清單,列出要刪除的 MIG 規模調整要求名稱。例如,指定request-1,request-2。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。
REST
如要刪除區域 MIG 中的調整大小要求,請使用
instanceGroupManagerResizeRequests.delete方法傳送DELETE要求。DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME如要刪除地區 MIG 的規模調整要求,請使用
beta.regionInstanceGroupManagerResizeRequests.delete方法傳送DELETE要求。DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
更改下列內容:
PROJECT_ID:現有區域 MIG 所在的專案 ID,該 MIG 具有成功、失敗或取消的調整大小要求。ZONE:MIG 所在的可用區。REGION:MIG 所在的區域。INSTANCE_GROUP_NAME:MIG 的名稱。RESIZE_REQUEST_NAME:要刪除的調整大小要求名稱。
後續步驟
- 瞭解如何查看 MIG 中代管 VM 的相關資訊。