查看或取消在 MIG 中大量建立執行個體

本文說明如何查看代管執行個體群組 (MIG) 中大量建立虛擬機器 (VM) 執行個體的狀態。本文也會說明如何取消進行中的大量建立作業。

如要瞭解如何在 MIG 中大量建立執行個體,請參閱「關於在 MIG 中大量建立執行個體」一文。

查看大量建立執行個體的狀態

您可以查看 MIG 中大量建立作業的狀態。您可以透過狀態檢查大量建立作業是否仍在進行中,如果尚未建立執行個體,也能瞭解原因。

MIG 詳細資料包含下列欄位,可協助您監控大量建立狀態:

  • status.bulkInstanceOperation.inProgress:這個欄位會指出是否正在大量建立例項 (true),或並非如此 (false)。

  • lastProgressCheck:這個欄位會提供執行個體可能尚未建立的原因詳細資料。可能原因如下:

    • 容量不足:當 MIG 等待要求的容量可用時,您會看到 ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS 錯誤代碼。

    • 配額不足:如果配額不足以完成要求,您會看到 QUOTA_EXCEEDED 錯誤。如要增加專案配額,請參閱「要求調整配額」。

gcloud

如要查看 MIG 中大量建立執行個體的狀態,請使用 gcloud compute instance-groups managed describe 指令

  • 如果是區域 MIG,請執行下列指令:

    gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \
        --zone=ZONE
    
  • 如果是地區 MIG,請執行下列指令:

    gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \
        --region=REGION
    

    更改下列內容:

  • INSTANCE_GROUP_NAME:MIG 的名稱。

  • ZONE:MIG 所在的可用區。

  • REGION:MIG 所在的區域。

以下範例顯示 MIG 的回應,其中大量建立作業正在進行中,且 lastProgressCheck 欄位指出大量建立作業因 ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS 錯誤而等待資源,且也有 QUOTA_EXCEEDED 錯誤。

{
  "status": {
    "bulkInstanceOperation": {
      "inProgress": true,
      "lastProgressCheck": {
        "timestamp": "2024-01-01T12:00:00.712-08:00",
        "errors": [
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "Waiting for resources. Currently there are not enough resources available to fulfill the request."
          },
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          }
        ]
      }
    }
  }
}

REST

如要查看 MIG 中大量建立執行個體的狀態,請發出 GET 要求,如下所示:

  • 如果是區域 MIG,請使用 instanceGroupManagers.get 方法

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
    
  • 如果是區域 MIG,請使用 regionInstanceGroupManagers.get 方法

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
    

更改下列內容:

  • PROJECT_ID:專案 ID。
  • ZONE:MIG 所在的可用區。
  • REGION:MIG 所在的區域。
  • INSTANCE_GROUP_NAME:MIG 的名稱。

以下範例顯示 MIG 的回應,其中大量建立作業正在進行中,且 lastProgressCheck 欄位指出大量建立作業因 ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS 錯誤而等待資源,且也有 QUOTA_EXCEEDED 錯誤。

{
  "status": {
    "bulkInstanceOperation": {
      "inProgress": true,
      "lastProgressCheck": {
        "timestamp": "2024-01-01T12:00:00.712-08:00",
        "errors": [
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "Waiting for resources. Currently there are not enough resources available to fulfill the request."
          },
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          }
        ]
      }
    }
  }
}

查看代管執行個體的狀態

您可以查看個別代管執行個體的目前動作和執行個體狀態,監控這些執行個體的狀態。

  • 大量執行個體作業進行時,代管執行個體會顯示下列狀態:

    • currentAction: CREATING
    • instanceStatus: PENDING
  • 大量執行個體作業順利完成後,受管理執行個體的狀態會變更為:

    • currentAction: NONE
    • instanceStatus: RUNNING

如要查看代管執行個體的這項資訊,請參閱「檢查代管執行個體的狀態」。

取消大量建立作業

如要取消大量建立作業,請將 MIG 大小調整為零,或刪除 MIG。

將 MIG 大小調整為零

控制台

  1. 前往「Instance groups」(執行個體群組) 頁面。

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

  2. 按一下要調整大小的 MIG 名稱。

  3. 按一下 [編輯]

  4. 按一下「群組大小和自動調度資源」展開該部分。

  5. 將「Number of instances」(執行個體數量) 設為 0

  6. 按一下 [儲存]

gcloud

如要將 MIG 大小調整為零,請使用 gcloud compute instance-groups managed resize 指令,並將 --size 標記設為 0

  • 如果是區域 MIG,請執行下列指令:

    gcloud compute instance-groups managed resize INSTANCE_GROUP_NAME \
        --size=0 \
        --zone=ZONE
    
  • 如果是地區 MIG,請執行下列指令:

    gcloud compute instance-groups managed resize INSTANCE_GROUP_NAME \
        --size=0 \
        --region=REGION
    

更改下列內容:

  • INSTANCE_GROUP_NAME:MIG 的名稱。
  • ZONE:MIG 所在的可用區。
  • REGION:MIG 所在的區域。
  • REST

    如要將 MIG 大小調整為零,請使用下列其中一種方法發出 PATCH 要求。在要求主體中,將 targetSize 設為 0

    • 如果是區域 MIG,請使用 instanceGroupManagers.patch 方法

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
      
      {
        "targetSize": 0
      }
      
    • 如果是區域 MIG,請使用 regionInstanceGroupManagers.patch 方法

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
      
      {
        "targetSize": 0
      }
      

    更改下列內容:

    • PROJECT_ID:專案 ID。
    • ZONE:MIG 所在的可用區。
    • REGION:MIG 所在的區域。
    • INSTANCE_GROUP_NAME:MIG 的名稱。

刪除 MIG

控制台

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

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

  2. 找到要刪除的 MIG,並選取旁邊的核取方塊。

  3. 按一下「刪除」,即可刪除 MIG 和其中的所有執行個體。

gcloud

如要刪除 MIG,請使用 delete 指令

  • 如果是區域 MIG,請執行下列指令:

    gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME \
        --zone ZONE
    
  • 如果是地區 MIG,請執行下列指令:

    gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME \
        --region REGION
    

更改下列內容:

  • INSTANCE_GROUP_NAME:MIG 的名稱。
  • ZONE:MIG 所在的可用區。
  • REGION:MIG 所在的區域。

REST

如要刪除 MIG,請使用下列任一方法發出 PATCH 要求:

  • 如果是區域 MIG,請使用 instanceGroupManagers.delete 方法

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
    
  • 如果是區域 MIG,請使用 regionInstanceGroupManagers.delete 方法

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
    

更改下列內容:

  • PROJECT_ID:專案 ID。
  • ZONE:MIG 所在的可用區。
  • REGION:MIG 所在的區域。
  • INSTANCE_GROUP_NAME:MIG 的名稱。

後續步驟