本文档介绍如何在托管式实例组 (MIG) 中创建调整大小请求后执行以下操作:
在 MIG 中创建调整大小请求后,您可以执行以下一项或多项操作:
查看调整大小请求,以监控其状态或排查问题。
取消调整大小请求,以停止 MIG 创建所请求数量的虚拟机 (VM) 实例。
不再需要调整大小请求时,请将其删除。
准备工作
- 如果您尚未这样做,请参阅调整大小请求的工作原理。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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
-
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得查看、取消或删除 MIG 中的调整大小请求所需的权限,请让管理员向您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色可提供在 MIG 中查看、取消或删除调整大小请求所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需在 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 控制台中,前往实例群组页面。
在名称列中,点击包含调整大小请求的 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。ZONE
:该 MIG 所在的可用区。REGION
:MIG 所在的区域。INSTANCE_GROUP_NAME
:具有已接受、成功、已取消或失败的调整大小请求的现有 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 建议您取消请求并尝试以下一项或多项操作:
如需查看调整大小请求的详细信息,请选择以下选项之一:
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 尝试创建所请求的虚拟机数量。您只能取消已接受的 (
ACCEPTED
) 调整大小请求。取消调整大小请求后,您可以将其删除,也可以让 Compute Engine 在 14 天后自动删除该请求。如需同时取消多个调整大小请求,请使用Google Cloud 控制台或 Google Cloud CLI。否则,如需取消单个调整大小请求,请选择以下任一选项:
控制台
在 Google Cloud 控制台中,前往实例群组页面。
在名称列中,点击包含调整大小请求的 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。ZONE
:该 MIG 所在的可用区。REGION
:MIG 所在的区域。INSTANCE_GROUP_NAME
:MIG 的名称。RESIZE_REQUEST_NAME
:要取消的调整大小请求的名称。
在 MIG 中删除调整大小请求
默认情况下,Compute Engine 会在将请求的状态设置为以下状态之一后 14 天内自动删除调整大小请求:
成功 (
SUCCEEDED
)已失败 (
FAILED
)已取消 (
CANCELLED
)
不过,您可以在到期之前立即删除调整大小请求,如本部分所述。
删除成功的调整大小请求不会删除通过该请求创建的虚拟机。MIG 会在这些虚拟机的请求运行时长结束时自动将其删除。但是,如果您的作业已完成运行,并且您不再需要虚拟机,请删除虚拟机。
如需同时删除多个调整大小请求,请使用Google Cloud 控制台或 gcloud CLI。否则,如需删除单个调整大小请求,请选择以下任一选项:
控制台
在 Google Cloud 控制台中,前往实例群组页面。
在名称列中,点击包含调整大小请求的 MIG 的名称。
系统会打开此 MIG 的概览页面。
在调整大小请求行中,点击
修改调整大小请求。此时会显示调整大小请求窗格。
选择要删除的调整大小请求。
点击
删除,然后点击确认。
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 中托管式虚拟机的相关信息。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-30。
-