本文档介绍如何在托管式实例组 (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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
如需取消或删除 MIG 中的调整大小请求:
compute.instanceGroupManagers.update
-
如需查看 MIG 中的调整大小请求列表:
compute.instanceGroupManagers.list
-
如需查看调整大小请求的详细信息:
compute.instanceGroupManagers.get
如需查看 MIG 中所有调整大小请求的配置详细信息和状态,请查看 MIG 中的调整大小请求列表。
如需查看调整大小请求中的配置详细信息、状态和错误消息,请查看调整大小请求的详细信息。
在 Google Cloud Console 中,转到实例组页面。
在名称列中,点击包含调整大小请求的 MIG 的名称。
系统会打开此 MIG 的概览页面。
在调整大小请求行中,点击
修改调整大小请求。此时会显示调整大小请求窗格。
INSTANCE_GROUP_NAME
:包含已接受、成功、已取消或失败的调整大小请求的现有可用区级 MIG 的名称。ZONE
:该 MIG 所在的可用区。PROJECT_ID
:包含已接受、成功、取消或失败的调整大小请求的现有可用区级 MIG 所在项目的 ID。ZONE
:该 MIG 所在的可用区。INSTANCE_GROUP_NAME
:包含已接受、成功、已取消或失败的调整大小请求的现有可用区级 MIG 的名称。ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
:请求的资源暂时不可用。QUOTA_EXCEEDED
:您的项目缺少所请求资源的配额。如需增加项目的配额,请参阅申请更高配额。INSTANCE_GROUP_NAME
:调整大小请求所在的现有可用区级 MIG 的名称。RESIZE_REQUEST_NAME
:要查看其详细信息的现有调整大小请求的名称。ZONE
:该 MIG 所在的可用区。PROJECT_ID
:可用区级 MIG 所在项目的 ID。ZONE
:该 MIG 所在的可用区。INSTANCE_GROUP_NAME
:调整大小请求所在的现有可用区级 MIG 的名称。RESIZE_REQUEST_NAME
:要查看其详细信息的现有调整大小请求的名称。在 Google Cloud Console 中,转到实例组页面。
在名称列中,点击包含调整大小请求的 MIG 的名称。
系统会打开此 MIG 的概览页面。
在调整大小请求行中,点击
修改调整大小请求。此时会显示调整大小请求窗格。
选择要取消的调整大小请求。
点击
取消,然后点击确认。INSTANCE_GROUP_NAME
:已接受调整大小请求的现有可用区级 MIG 的名称。RESIZE_REQUEST_NAMES
:指定的可用区级 MIG 中已接受的调整大小请求的名称列表(以英文逗号分隔)。例如,指定request-1,request-2
。ZONE
:该 MIG 所在的可用区。PROJECT_ID
:具有接受的调整大小请求的现有可用区级 MIG 所在项目的 ID。ZONE
:该 MIG 所在的可用区。INSTANCE_GROUP_NAME
:MIG 的名称。RESIZE_REQUEST_NAME
:要取消的调整大小请求的名称。成功 (
SUCCEEDED
)已失败 (
FAILED
)已取消 (
CANCELLED
)在 Google Cloud Console 中,转到实例组页面。
在名称列中,点击包含调整大小请求的 MIG 的名称。
系统会打开此 MIG 的概览页面。
在调整大小请求行中,点击
修改调整大小请求。此时会显示调整大小请求窗格。
选择要删除的调整大小请求。
点击
删除,然后点击确认。INSTANCE_GROUP_NAME
:具有成功、失败或取消的调整大小请求的现有可用区级 MIG 的名称。RESIZE_REQUEST_NAMES
:要在 MIG 中删除的调整大小请求的名称列表(以英文逗号分隔)。例如,指定request-1,request-2
。ZONE
:该 MIG 所在的可用区。PROJECT_ID
:具有成功、失败或取消的调整大小请求的现有可用区级 MIG 所在项目的 ID。ZONE
:该 MIG 所在的可用区。INSTANCE_GROUP_NAME
:MIG 的名称。RESIZE_REQUEST_NAME
:要删除的调整大小请求的名称。- 了解如何查看 MIG 中托管式虚拟机的相关信息。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得查看、取消或删除 MIG 中的调整大小请求所需的权限,请让管理员向您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。此预定义角色包含查看、取消或删除 MIG 中的调整大小请求所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需查看、取消或删除 MIG 中的调整大小请求,您需要拥有以下权限:
查看调整大小请求
根据您要在调整大小请求中查看的详细信息,使用以下方法之一:
查看 MIG 中的调整大小请求列表
您可以查看 MIG 中所有调整大小请求的列表及其详细信息,例如状态、请求的虚拟机数量和虚拟机的运行时长。
控制台
如需查看 MIG 中所有调整大小请求的列表,请执行以下操作:
gcloud
如需查看 MIG 中所有调整大小请求的列表,请使用
instance-groups managed resize-requests list
命令。gcloud compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \ --zone=ZONE
替换以下内容:
输出类似于以下内容:
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
替换以下内容:
输出类似于以下内容:
{ "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/beta/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/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01", "selfLinkWithId": "https://www.googleapis.com/compute/beta/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/beta/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/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652" } ], "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests" }
查看调整大小请求的详细信息
您可以查看调整大小请求的详细信息以查看其配置,并视需要在请求未成功时进行问题排查。
如需了解 (
ACCEPTED
) 调整大小请求失败的原因,请查看详细信息中的lastAttempt.error.errors.code
字段。可能的错误代码如下: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
替换以下内容:
输出类似于以下内容:
creationTimestamp: '2024-01-10T07:51:53.034-08:00' id: '4247139565532196982' kind: compute#instanceGroupManagerResizeRequest name: example-request requestedRunDuration: nanos: 0 seconds: '6000' resizeBy: 10 selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982 state: ACCEPTED status: lastAttempt: error: errors: - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS message: There are currently not enough resources available to fulfill the request. - code: QUOTA_EXCEEDED message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1. zone: https://www.googleapis.com/compute/beta/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
替换以下内容:
输出类似于以下内容:
{ "kind": "compute#instanceGroupManagerResizeRequest", "id": "4247139565532196982", "creationTimestamp": "2024-01-10T07:51:53.034-08:00", "name": "example-request", "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a", "count": 10, "resizeBy": 10, "requestedRunDuration": { "seconds": "6000", "nanos": 0 }, "state": "ACCEPTED", "status": { "lastAttempt": { "error": { "errors": [ { "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS", "message": "There are currently not enough resources available to fulfill the request.", }, { "code": "QUOTA_EXCEEDED", "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1." } ] } } }, "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982" }
取消 MIG 中的调整大小请求
您可以取消 MIG 中的调整大小请求,以阻止 MIG 尝试创建请求数量的虚拟机。您只能取消已接受 (
ACCEPTED
) 的调整大小请求。取消调整大小请求后,您可以将其删除,也可以让 Compute Engine 在 14 天后自动删除它。如需一次取消多个调整大小请求,请使用 Google Cloud 控制台或 gcloud CLI。
控制台
如需取消可用区级 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
替换以下内容:
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 中的调整大小请求
默认情况下,Compute Engine 会在将请求状态设置为以下状态之一后的 14 天内自动删除调整大小请求:
但是,您可以在此之前立即删除调整大小请求,如本部分所述。
删除成功的调整大小请求不会删除通过该请求创建的虚拟机。MIG 会在请求的运行时长结束时自动删除这些虚拟机。但是,如果您的作业已完成运行,而您不再需要虚拟机,请删除虚拟机。
如需一次删除多个调整大小请求,请使用 Google Cloud 控制台或 gcloud CLI。
控制台
如需删除可用区级 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
替换以下内容:
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
替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-04。
-