更改或移除实例灵活性


本文档介绍了如何通过修改实例灵活性政策,在代管式实例组 (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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

更改实例灵活性配置

您可以通过修改 MIG 中的实例灵活性配置来进行以下更改:

  • 向实例选择添加机器类型
  • 从实例选择中移除机器类型
  • 更改实例选择的排名
  • 添加实例选择

MIG 会根据您指定的实例选择名称应用更改。您未指定的任何实例选择都将保持不变。更改实例选择后,您必须在修改时指定其完整配置。如果您未指定完整配置,MIG 将覆盖实例选择的未指定部分。例如,如果您只想更改排名,请指定新排名以及在该选择中设置的机器类型。如需查看现有配置,请参阅查看实例灵活性

在实例灵活性配置中进行更改后,如果您希望现有虚拟机使用最新更改,则必须删除这些虚拟机,并将 MIG 调整大小为所需的虚拟机数量。否则,现有虚拟机会继续使用其当前机器类型。

如需更改 MIG 中的实例灵活性配置,请选择以下选项之一:

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    进入“实例组”

  2. 点击要更改实例灵活性的 MIG 的名称。

  3. 点击修改

  4. 实例选择部分,点击修改实例选择

  5. 实例选择窗口中,点击实例选择的 切换图标,打开修改实例选择视图。

    修改实例选择时,您可以进行以下更改:

    • 更改实例选择的名称和排名。为此,请修改名称排名字段中的值。
    • 向选择中添加新的机器类型。为此,请点击添加机器类型
    • 移除机器类型。为此,请选择相应机器类型,然后点击移除
  6. 根据需要修改所选内容,然后点击完成

  7. 实例选择窗口中完成更改后,点击完成

  8. 点击保存以应用更改。

gcloud

如需修改实例灵活性配置,请使用 instance-groups managed update 命令

  gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
      --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

替换以下内容:

  • INSTANCE_GROUP_NAME:您要检查实例灵活性配置的 MIG 的名称。
  • REGION:MIG 所在的区域。
  • INSTANCE_SELECTION:您要进行更改的实例选择的名称。您必须同时指定 MACHINE_TYPERANK。如果您不更改任何这些值,则必须提供现有值以保留它们。

REST

如需修改实例灵活性配置,请向 regionInstanceGroupManagers.patch 方法发出 PATCH 请求。

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

  {
    "instanceFlexibilityPolicy": {
      "instanceSelections": {
        "INSTANCE_SELECTION": {
          "machineTypes": [
            "MACHINE_TYPE_1",
            "MACHINE_TYPE_2"
          ],
          "rank": RANK
        }
      }
    }
  }

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • REGION:MIG 所在的区域。
  • INSTANCE_GROUP_NAME:您要检查实例灵活性配置的 MIG 的名称。
  • INSTANCE_SELECTION:您要进行更改的实例选择的名称。您必须同时指定 MACHINE_TYPERANK。如果您不更改任何这些值,则必须提供现有值以保留它们。

移除实例灵活性配置

您可以移除 MIG 中的所有或特定实例选择。

  • 如需移除 MIG 中的所有实例选择,请参阅移除所有实例选择。移除所有实例选择后,MIG 会使用实例模板中指定的机器类型在组中创建新的虚拟机。

  • 如需按名称移除个别实例选择,请参阅移除特定实例选择。这只会移除所选的特定实例,MIG 会保留其他实例。

移除所有实例选择

移除所有实例选择后,使用已移除实例选择中的机器类型的现有虚拟机将继续使用相同的机器类型。如果您希望这些虚拟机使用实例模板中指定的机器类型,则必须删除这些虚拟机,并调整 MIG 的大小,使其达到所需的虚拟机数量。

如需移除所有实例选择,请选择以下选项之一:

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    进入“实例组”

  2. 点击要更改实例灵活性的 MIG 的名称。

  3. 点击修改

  4. 实例选择部分,点击修改实例选择

  5. 实例选择窗口中,点击每个实例选择旁边的 Delete 图标。

  6. 点击完成

  7. 点击保存

gcloud

如需移除 MIG 中的所有实例选择,请使用 instance-groups managed update 命令

  gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --remove-instance-selections-all

替换以下内容:

  • INSTANCE_GROUP_NAME:您要从中移除所有实例选择的 MIG 的名称。
  • REGION:MIG 所在的区域。

REST

如需移除 MIG 中的所有实例选择,请向 regionInstanceGroupManagers.patch 方法发出 PATCH 请求。

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

  {
    "instanceFlexibilityPolicy": {
      "instanceSelections": null
    }
  }

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • REGION:MIG 所在的区域。
  • INSTANCE_GROUP_NAME:您要从中移除实例选择的 MIG 的名称。

移除特定实例的选择

移除特定实例选择后,使用已移除实例选择中机器类型的现有虚拟机将继续使用相同的机器类型。如果您希望这些虚拟机使用“可用实例”选择中指定的机器类型,则必须删除这些虚拟机,并将 MIG 调整大小为所需的虚拟机数量。

如需移除特定实例选择,请选择以下选项之一:

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    进入“实例组”

  2. 点击要更改实例灵活性的 MIG 的名称。

  3. 点击修改

  4. 实例选择部分,点击修改实例选择

  5. 实例选择窗口中,点击要移除的实例选择旁边的 删除图标。

  6. 点击完成

  7. 点击保存

gcloud

如需移除 MIG 中的特定实例选择,请使用 instance-groups managed update 命令

  gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --remove-instance-selections INSTANCE_SELECTION

替换以下内容:

  • INSTANCE_GROUP_NAME:您要从中移除实例选择的 MIG 的名称。
  • REGION:MIG 所在的区域。
  • INSTANCE_SELECTION:您要移除的实例选择的名称。如果有多个实例选择,请提供以英文逗号分隔的名称列表。

REST

如需移除 MIG 中的特定实例选择,请使用 regionInstanceGroupManagers.patch 方法

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

  {
    "instanceFlexibilityPolicy": {
      "instanceSelections": {
        "INSTANCE_SELECTION": null
      }
    }
  }

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • REGION:MIG 所在的区域。
  • INSTANCE_GROUP_NAME:您要从中移除实例选择的 MIG 的名称。
  • INSTANCE_SELECTION:您要移除的实例选择的名称。如果有多个实例选择,请指定所有实例。例如 "selection-1": null,"selection-2": null

后续步骤