查看、取消或刪除 MIG 中的大小調整要求

本文說明在代管執行個體群組 (MIG) 中建立大小調整要求後,如何執行下列操作:

在 MIG 中建立大小調整要求後,您可以執行下列一或多項操作:

  • 查看大小調整要求,監控要求狀態或疑難排解。

  • 取消規模調整要求,即可停止 MIG 建立所要求的虛擬機器 (VM) 執行個體數量。

  • 刪除不再需要的大小調整要求。

事前準備

  • 如果尚未瞭解,請參閱 調整大小要求的運作方式
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 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 中所有調整大小要求的清單,請使用 gcloud CLI 或 REST API。否則,如要查看可用區 MIG 中所有調整大小要求的清單,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在「Name」(名稱) 欄中,按一下包含調整大小要求的 MIG 名稱。

    MIG 的總覽頁面隨即開啟。

  3. 在「大小調整要求」列中,按一下「編輯大小調整要求」

    「大小調整要求」窗格隨即顯示。如果調整大小要求的「詳細資料」欄顯示「配額超出」或「預計時間:無限期」值,表示要求發生錯誤。你可以點選這些值來瞭解詳情。

    如要進一步瞭解如何排解錯誤,請參閱本文的「查看調整大小要求的詳細資料」。

gcloud

更改下列內容:

  • 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。如要取消單一調整大小要求,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在「Name」(名稱) 欄中,按一下包含調整大小要求的 MIG 名稱。

    MIG 的總覽頁面隨即開啟。

  3. 在「大小調整要求」列中,按一下「編輯大小調整要求」

    「大小調整要求」窗格隨即顯示。

  4. 選取要取消的大小調整要求。

  5. 依序點選「取消」和「確認」

gcloud

更改下列內容:

  • 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。如要刪除單一調整大小要求,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在「Name」(名稱) 欄中,按一下包含調整大小要求的 MIG 名稱。

    MIG 的總覽頁面隨即開啟。

  3. 在「大小調整要求」列中,按一下「編輯大小調整要求」

    「大小調整要求」窗格隨即顯示。

  4. 選取要刪除的大小調整要求。

  5. 依序點選 「Delete」(刪除) 和「Confirm」(確認)

gcloud

更改下列內容:

  • 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:要刪除的調整大小要求名稱。

後續步驟