查看或取消 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. 前往实例组页面。

    进入“实例组”

  2. 点击要调整大小的 MIG 的名称。

  3. 点击修改

  4. 点击组大小和自动扩缩,以展开该部分。

  5. 实例数设置为 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 控制台中,前往实例群组页面。

    进入“实例组”

  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 的名称。

后续步骤