托管式实例组 (MIG) 会根据您使用的配置组件创建每个托管式实例:实例模板、可选的所有实例配置和可选的有状态配置。
每个托管式实例都是一个数据实体,表示 MIG 中实际虚拟机实例的预期状态。
阅读本文档了解如何可靠地使用 MIG 中的代管实例。例如,您可能需要添加、移除、更新特定实例或查看特定实例的相关信息。
为了确保 MIG 不会还原您的配置更改,请务必使用本文档中介绍的方法。如果您使用实例组方法以外的方法修改 MIG 的虚拟机,MIG 不一定能检测到这些虚拟机将不再使用实例组的预期配置,因此您可能会遇到意外结果。例如,如果您使用实例 API 而不是要求的实例组管理器 API 来删除或更新 MIG 中的虚拟机,MIG 将无从知晓您的意图,在这之后,MIG 随时可能根据 MIG 的配置自动重新创建或还原该虚拟机。
准备工作
- 查看限制,然后创建实例组。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- 实例生命周期状态,例如
RUNNING
、STOPPING
。 - MIG 对实例执行的当前操作,例如:
RESTARTING
、VERIFYING
、NONE
。 - 实例的运行状况状态,例如
HEALTHY
、UNHEALTHY
。 如需将 GPU 实例一次性添加到 MIG,请创建调整大小请求。
如需在资源可用时将实例添加到 MIG,请创建具有特定名称的实例。
- 调整 MIG 的大小。MIG 会选择要删除的实例。
- 手动调整 MIG 的大小。
- 对无状态应用使用自动扩缩功能。
- 删除整个实例组。
- 明确删除或放弃特定实例。
- 了解如何将新配置应用于 MIG 中的虚拟机。
- 了解如何为 MIG 应用机器类型建议。
- 试用教程:
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
什么是托管实例?
代管实例是 MIG 中的数据实体,其中包含实际虚拟机实例的当前状态和预期状态。
代管实例的当前状态包括以下字段:
代管实例的实际虚拟机实例预期状态包括:
如图 1 所示,对于 MIG 中的每个代管实例,MIG 会根据该代管实例的规范启动并运行实际虚拟机。
图 1. 代管实例和对应虚拟机之间的关系。
如需查看托管式实例的规范,请参阅查看有关 MIG 中托管式实例的信息。
向 MIG 添加实例
如需向 MIG 添加更多实例,您可以执行以下操作:
如需验证新添加的实例已经启动且正在运行,请验证组的状态或验证托管实例的状态。
手动设置 MIG 的大小
如果托管式实例组尚未设置为自动扩缩,则可以手动设置实例组的大小以更改实例组中的实例数。如需了解详情,请参阅手动调整 MIG 的大小。
使用调整大小请求,一次创建所有虚拟机
您可以使用调整大小请求将 GPU 虚拟机一次性添加到 MIG 中。此功能可帮助您避免因 Compute Engine 在预配所有资源时创建的部分容量而产生费用。MIG 调整大小请求使用灵活启动预配模型(预览版),这会增加您获得 GPU 等高需求资源的可能性。 如需了解详情,请参阅关于调整 MIG 中的请求大小。
对无状态应用使用自动扩缩功能
您可以将托管实例组配置为根据其工作负载自动添加或移除实例。您的应用可以顺利应对流量增加的情况,同时您也可以在计算资源需求量降低时减少费用。如需详细了解如何自动扩缩 MIG,请参阅自动扩缩实例组。
添加具有特定名称的实例
如果您的工作负载或编排系统需要特定的实例名称,您可以将具有这些名称的实例添加到现有 MIG 中。如果 MIG 重新创建这些实例,则您为这些实例分配的名称仍会保留。
根据您要向 MIG 添加具有特定名称的实例的方式,请使用以下方法之一:
从 MIG 中删除实例
在您删除代管实例时,MIG 会缩减实例组的
targetSize
并删除相应的虚拟机实例。如果您设置了有状态 MIG,则 MIG 会删除实例的保留状态配置。MIG 还会从其所属的任何目标池中移除实例。
如果该实例组属于已启用连接排空的后端服务,则在连接排空结束后,最长可能需要再等待 60 秒才会移除或删除虚拟机实例。
如需删除托管式实例,您可以执行以下操作:
更新 MIG 中的虚拟机配置
如果您需要更改 MIG 中的虚拟机配置(例如,修改启动磁盘或机器类型、添加磁盘或更改其他虚拟机属性),请参阅更新 MIG 中的虚拟机配置。
在 MIG 中重新创建实例
您可以使用此方法来更新选定的虚拟机,从而让它们使用组的最新虚拟机配置组件。如果您需要重新创建托管式实例组中的所有虚拟机,请改为启动滚动更新。
如果该实例组属于已启用连接排空的后端服务,则在连接排空结束后,最长可能需要再等待 60 秒才会移除或删除虚拟机实例。
您可以使用 gcloud CLI 或 REST 重新创建托管式实例组中的选定虚拟机实例。
gcloud
使用
instance-groups managed recreate-instances
命令。gcloud compute instance-groups managed recreate-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAME_1,INSTANCE_NAME_2 \ [--region REGION | --zone ZONE]
REST
在 API 中,向
regionInstanceGroupManagers.recreateInstances
方法发出 POST 请求。对于可用区托管式实例组,请使用instanceGroupManagers.recreateInstances
方法。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/recreateInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ] }
在您发出在托管实例组中重新创建虚拟机实例的请求后,新虚拟机会在系统可以对其进行预配后立即启动。此过程可能会耗费大量时间,具体取决于您重新创建的实例数。验证组的状态或验证托管实例的状态。
重新创建操作会保留虚拟机实例名称,但实例创建时间戳可能不会更改。如果实例创建时间戳未更改,如需确认重新创建操作已创建新实例,请检查挂接到该实例的启动磁盘的创建时间戳。
查看有关 MIG 中实例的信息
在 MIG 中配置有状态实例
请参阅配置有状态 MIG。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-06-24。
-