托管式实例组 (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
-
安装 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 中的数据实体,其中包含实际虚拟机实例的当前状态和预期状态。
代管实例的当前状态包括以下字段:
- 实例生命周期状态,例如
RUNNING
、STOPPING
。 - MIG 对实例执行的当前操作,例如:
RESTARTING
、VERIFYING
、NONE
。 - 实例的运行状况状态,例如
HEALTHY
、UNHEALTHY
。
代管实例的实际虚拟机实例预期状态包括:
如图 1 所示,对于 MIG 中的每个代管实例,MIG 会根据该代管实例的规范启动并运行实际虚拟机。
图 1. 代管实例和对应虚拟机之间的关系。
如需查看托管式实例的规范,请参阅查看有关 MIG 中托管式实例的信息。
向 MIG 添加实例
如需向 MIG 添加更多实例,您可以执行以下操作:
如需验证新添加的实例已经启动且正在运行,请验证组的状态或验证托管实例的状态。
手动设置 MIG 的大小
如果托管式实例组尚未设置为自动扩缩,则可以手动设置实例组的大小以更改实例组中的实例数。如需了解详情,请参阅手动调整 MIG 的大小。
使用调整大小请求,一次创建所有虚拟机
您可以使用调整大小请求将 GPU 虚拟机一次性添加到 MIG 中。此功能可帮助您避免因 Compute Engine 在预配所有资源时创建的部分容量而产生费用。MIG 规模调整请求使用灵活启动预配模型或受预留约束的预配模型。这些模型可让您以折扣价获取 vCPU 和 GPU。如需了解详情,请参阅关于调整 MIG 中的请求大小。
对无状态应用使用自动扩缩功能
您可以将托管实例组配置为根据其工作负载自动添加或移除实例。您的应用可以顺利应对流量增加的情况,同时您也可以在计算资源需求量降低时减少费用。如需详细了解如何自动扩缩 MIG,请参阅自动扩缩实例组。
添加具有特定名称的实例
如果您的工作负载或编排系统需要特定的实例名称,您可以将具有这些名称的实例添加到现有 MIG 中。如果 MIG 重新创建这些实例,则您为这些实例分配的名称仍会保留。
根据您要向 MIG 添加具有特定名称的实例的方式,请使用以下方法之一:
如需将 GPU 实例一次性添加到 MIG,请创建调整大小请求。
如需在资源可用时将实例添加到 MIG,请创建具有特定名称的实例。
从 MIG 中删除实例
在您删除代管实例时,MIG 会缩减实例组的
targetSize
并删除相应的虚拟机实例。如果您设置了有状态 MIG,则 MIG 会删除实例的保留状态配置。MIG 还会从其所属的任何目标池中移除实例。
如果该实例组属于已启用连接排空的后端服务,则在连接排空结束后,最长可能需要再等待 60 秒才会移除或删除虚拟机实例。
如需删除托管式实例,您可以执行以下操作:
- 调整 MIG 的大小。MIG 会选择要删除的实例。
- 手动调整 MIG 的大小。
- 对无状态应用使用自动扩缩功能。
- 删除整个实例组。
- 明确删除或放弃特定实例。
更新 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。
后续步骤
- 了解如何将新配置应用于 MIG 中的虚拟机。
- 了解如何为 MIG 应用机器类型建议。
- 试用教程:
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
-