使用代管式实例

代管式实例组 (MIG) 会根据您指定的实例模板和可选的有状态配置来创建每个代管式实例。每个代管式实例都是数据实体,表示 MIG 中实际虚拟机 (VM) 实例的预期状态。

阅读本文档了解如何可靠地使用 MIG 中的代管实例。例如,您可能需要添加、移除、更新特定实例或查看特定实例的相关信息。

为了确保 MIG 不会还原您的配置更改,请务必使用本文档中介绍的方法。如果您使用实例组方法以外的方法,MIG 将检测更改并可能尝试修复实例组。例如,如果您删除实例组中的某个实例,则 MIG 可能会根据 MIG 的配置自动重新创建该实例。

准备工作

什么是托管实例?

代管实例是 MIG 中的数据实体,其中包含实际虚拟机实例的当前状态和预期状态。

代管实例的当前状态包括以下字段:

代管实例的实际虚拟机实例预期状态包括:

  • 预期版本,即要用于实例的版本名称和实例模板。
  • 待保留项(例如磁盘或元数据)的保留状态

如图 1 所示,对于 MIG 中的每个代管实例,MIG 会根据该代管实例的规范启动并运行实际虚拟机。

MIG 会根据您的配置自动生成代管实例,这些实例对应于 MIG 代表您维护的实际虚拟机实例。

图 1.代管实例和对应虚拟机之间的关系。

如需查看代管式实例的规范,请参阅查看有关 MIG 中代管式实例的信息

向 MIG 添加实例

如需向 MIG 添加更多实例,您可以执行以下操作:

如需验证新添加的实例已经启动且正在运行,请验证组的状态验证托管实例的状态

手动调整大小

如果代管式实例组尚未设置为自动扩缩,则可以手动设置实例组的大小以更改实例组中的实例数。请参阅手动调整 MIG 的大小

自动扩缩

您可以将托管实例组配置为根据其工作负载自动添加或移除实例。您的应用可以顺利应对流量增加的情况,同时您也可以在计算资源需求量降低时减少费用。如需详细了解如何自动扩缩 MIG,请参阅自动扩缩实例组

添加具有特定名称的实例

如果您的系统取决于特定名称,则可以将具有这些名称的虚拟机添加到现有 MIG。如果 MIG 重新创建虚拟机,则您为这些代管式实例分配的名称仍会保留。如需了解详情,请参阅在 MIG 中创建具有特定名称的实例

如需详细了解如何保留 MIG 实例状态,请参阅有状态 MIG

从 MIG 中删除实例

在您删除代管实例时,MIG 会缩减实例组的 targetSize 并删除相应的虚拟机实例。

如果您设置了有状态 MIG,则 MIG 会删除实例的保留状态配置。MIG 还会从其所属的任何目标池中移除实例。

如果该实例组属于已启用连接排空后端服务,则在连接排空结束后,最长可能需要再等待 60 秒才会移除或删除虚拟机实例。

如需删除代管式实例,您可以执行以下操作:

更新 MIG 中的虚拟机配置

如果您需要更改 MIG 中的虚拟机配置(例如,修改启动磁盘或机器类型、添加磁盘或更改其他虚拟机属性),请参阅更新 MIG 中的虚拟机配置

在 MIG 中重新创建实例

您可以使用此方法来更新选定的虚拟机,从而让这些虚拟机使用最新的实例模板和有状态配置(如果有)。如果您需要重新创建托管实例组中的所有虚拟机,请改为启动滚动更新

如果该实例组属于已启用连接排空后端服务,则在连接排空结束后,最长可能需要再等待 60 秒才会移除或删除虚拟机实例。

您可以使用 gcloud 工具API 重新创建托管实例组中的选定虚拟机实例。

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]

API

在 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

后续步骤