變更或移除執行個體彈性

本文說明如何編輯執行個體彈性政策,藉此變更或移除代管執行個體群組 (MIG) 中的執行個體彈性。本文也說明如何更新 VM 的機型,以防機型從執行個體彈性設定中移除。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init
  • 設定預設地區和區域
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。

變更執行個體彈性設定

如要進行下列變更,請編輯 MIG 中的執行個體彈性設定:

  • 在執行個體選取項目中新增機型
  • 從所選執行個體中移除機型
  • 變更所選執行個體的等級
  • 新增選取的執行個體
  • 新增最低 CPU 平台和磁碟覆寫 (預先發布版)

MIG 會根據您指定的執行個體選取名稱套用變更。未指定的執行個體選取項目會維持不變。變更執行個體選取項目時,您必須在編輯時指定完整設定。如未指定完整設定,MIG 會覆寫執行個體選取項目的未指定部分。舉例來說,如果只想變更排名,請指定新排名,以及機器類型和該選取範圍中設定的任何其他覆寫。如要查看現有設定,請參閱「查看執行個體彈性」。

從設定中移除機型後,現有 VM 仍會繼續使用該機型。如要變更這些 VM 的機型,必須更新或重新建立特定 VM。詳情請參閱「更新 VM 的機器類型,以使用最新設定」一文。

如要變更 MIG 中的執行個體彈性設定,請選取下列任一選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 按一下要變更執行個體彈性的 MIG 名稱。

  3. 按一下 [編輯]

  4. 按一下「執行個體彈性」展開該部分。

  5. 在「Instance selections」部分,按一下「Edit selections」

  6. 在「執行個體選取項目」視窗中,按一下執行個體選取項目的「切換」圖示 ,開啟「編輯執行個體選取項目」檢視畫面。

    編輯執行個體選取項目時,您可以進行下列變更:

    • 變更執行個體選取項目的名稱和等級。如要變更,請編輯「名稱」和「等級」欄位中的值。
    • 在選取範圍中新增機型。如要這麼做,請按一下「新增機型」
    • 移除機器類型。方法是選取機器類型,然後按一下「移除」
    • 新增或修改最低 CPU 平台或磁碟覆寫 (預覽版)。 如要這麼做,請按照「覆寫」專區中的提示操作。
  7. 視需要修改選取範圍,然後按一下「完成」

  8. 在「Instance selections」視窗中完成變更後,按一下「Done」

  9. 點選「儲存」來套用變更。

gcloud

如要編輯執行個體彈性設定,請使用 beta instance-groups managed update 指令

  gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --instance-flexibility-policy={"instanceSelections": \
        {"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"deviceName":"DEVICE_NAME_1","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}, \
        "INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3","MACHINE_TYPE_4"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"deviceName":"DEVICE_NAME_2","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}}}

您也可以使用 YAML 或 JSON 檔案設定執行個體彈性政策。如要這麼做,請使用 --flags-file 旗標而非 --instance-flexibility-policy 旗標,並指定檔案名稱。例如,使用 --flags-file=FILE_NAME.YAML。 請參閱設定執行個體彈性的 YAML 檔案範例

更改下列內容:

  • INSTANCE_GROUP_NAME:要檢查執行個體彈性設定的 MIG 名稱。
  • REGION:MIG 所在的區域。
  • INSTANCE_SELECTION:要修改的執行個體選取項目名稱。更新執行個體選取項目時,您必須指定完整設定,包括未變更的屬性,確保 MIG 保留未變更的屬性。

REST

如要編輯執行個體彈性設定,請對Beta 版 regionInstanceGroupManagers.patch 方法發出 PATCH 要求。

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

  {
    "instanceFlexibilityPolicy": {
      "instanceSelections": {
        "INSTANCE_SELECTION_1": {
          "machineTypes": [
            "MACHINE_TYPE_1",
            "MACHINE_TYPE_2"
          ],
          "minCpuPlatform": "MIN_CPU_PLATFORM_1",
          "disks": [
            DISK_DEFINITION_1
          ],
          "rank": RANK_1
        },
        "INSTANCE_SELECTION_2": {
          "machineTypes": [
            "MACHINE_TYPE_3",
            "MACHINE_TYPE_4"
          ],
          "minCpuPlatform": "MIN_CPU_PLATFORM_2",
          "disks": [
            DISK_DEFINITION_2
          ],
          "rank": RANK_2
        }
      }
    }
  }

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • REGION:MIG 所在的區域。
  • INSTANCE_GROUP_NAME:要檢查執行個體彈性設定的 MIG 名稱。
  • INSTANCE_SELECTION:要修改的執行個體選取項目名稱。更新執行個體選取項目時,您必須指定完整設定,包括未變更的屬性,確保 MIG 保留未變更的屬性。

移除執行個體彈性設定

您可以移除 MIG 中的所有或特定執行個體選取項目。

  • 如要移除 MIG 中的所有執行個體選取項目,請參閱「移除所有執行個體選取項目」。移除所有執行個體選取項目後,MIG 會使用執行個體範本中指定的機器類型,在群組中建立新的 VM。

  • 如要依名稱移除個別執行個體選取項目,請參閱「移除特定執行個體選取項目」。這只會移除特定執行個體選取項目,MIG 則會保留其他項目。

移除執行個體選取項目後,使用移除執行個體選取項目中機器類型的現有 VM,會繼續使用相同的機器類型。如要讓變更生效,您必須更新或重新建立這些 VM。詳情請參閱「將 VM 的機器類型更新為使用最新設定」一文。

移除所有執行個體選取項目

如要移除所有執行個體選取項目,請選取下列任一選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 按一下要移除所有執行個體選取的 MIG 名稱。

  3. 按一下 [編輯]

  4. 按一下「執行個體彈性」展開該部分。

  5. 在「Instance selections」部分,按一下「Edit selections」

  6. 在「Instance selections」(執行個體選取項目) 視窗中,按一下每個執行個體選取項目旁邊的「刪除」 圖示。

  7. 按一下 [完成]

  8. 按一下 [儲存]

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 名稱。

移除特定執行個體選項

如要移除特定執行個體選取項目,請選取下列任一選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 按一下要移除特定執行個體選取的 MIG 名稱。

  3. 按一下 [編輯]

  4. 按一下「執行個體彈性」展開該部分。

  5. 在「Instance selections」部分,按一下「Edit selections」

  6. 在「執行個體選取項目」視窗中,找出要移除的執行個體選取項目,然後按一下旁邊的「刪除」圖示。

  7. 按一下 [完成]

  8. 按一下 [儲存]

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

更新 VM 的機器類型,以使用最新設定

如果 MIG 中的任何 VM 使用的機型已從執行個體彈性設定中移除,則必須更新或重新建立 VM,才能更新其機型。

如要更新或重新建立 VM,請使用下列任一選項:

  • 使用 regionInstanceGroupManagers.applyUpdatesToInstances 方法更新 VM。使用 applyUpdatesToInstances 方法時,mostDisruptiveAllowedAction 欄位必須為 RESTARTREPLACE

  • 使用 regionInstanceGroupManagers.recreateInstances 方法重新建立 VM

  • 如要重新建立 VM,請先刪除 VM,然後將 MIG 調整為所需 VM 數量

後續步驟