在維修期間套用設定更新

本文說明如何設定 MIG,以便在修復作業期間重新建立 VM 時,套用最新的執行個體範本和個別執行個體設定。在修復作業期間套用最新可用設定,也稱為「修復時更新」。本文也說明如何檢查 MIG 是否已啟用修復時更新功能,以及如何停用這項功能。

根據預設,MIG 會在修復期間使用當初建立 VM 時的執行個體設定,重新建立 VM。如果群組的執行個體範本或每個執行個體的設定有更新,您可以選擇將這些變更套用至正在修復的 VM。

如要自動將設定更新套用至所有或一組 VM (PROACTIVE),或選擇性更新特定執行個體 (OPPORTUNISTIC),請參閱「將新的設定套用至 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 進行驗證」。

設定維修更新

如要設定修復時更新,請使用 Cloud de Confiance 控制台、gcloud CLI 或 REST。

控制台

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

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

  2. 按一下要設定「維修時更新」的 MIG 名稱。

  3. 按一下「編輯」修改 MIG。

  4. 按一下「執行個體生命週期和自動修復」展開該部分。

  5. 在「VM 執行個體修復期間的更新設定」部分,選取「更新執行個體設定」

  6. 按一下 [儲存]

gcloud

如為現有 MIG,請使用 update 指令

gcloud compute instance-groups managed update MIG_NAME \
    --force-update-on-repair

如為新的 MIG,請使用 create 指令

gcloud compute instance-groups managed create MIG_NAME \
    --template INSTANCE_TEMPLATE_URL_ \
    --size SIZE \
    --force-update-on-repair

更改下列內容:

  • MIG_NAME:執行個體群組的名稱。
  • INSTANCE_TEMPLATE_URL:您要用於在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。指定下列其中一個值:
    • 如果是區域執行個體範本:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 全域執行個體範本:INSTANCE_TEMPLATE_ID
  • SIZE:執行個體群組的目標大小。

REST

如為現有的區域 MIG,請使用 instanceGroupManagers.patch 方法;如為現有的區域 MIG,請使用 regionInstanceGroupManagers.patch 方法

請進行下列呼叫,在現有的區域 MIG 中設定修復時更新:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": YES
  }
}

如為新的區域 MIG,請使用 instanceGroupManagers.insert 方法;如為新的區域 MIG,請使用 regionInstanceGroupManagers.insert 方法

建立可用區 MIG 時,請進行下列呼叫,設定在修復時更新:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
  "name": "MIG_NAME",
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "targetSize": SIZE,
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": YES
  }
}

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • ZONE:MIG 所在的可用區。
  • MIG_NAME:執行個體群組的名稱。
  • INSTANCE_TEMPLATE_URL:您要用於在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。指定下列其中一個值:
    • 如果是區域執行個體範本:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 全域執行個體範本:INSTANCE_TEMPLATE_ID
  • SIZE:執行個體群組的目標大小。

檢查是否已啟用維修更新

根據預設,MIG 不會在修復期間更新 VM。如要檢查 MIG 是否已啟用修復時更新功能,請使用 Cloud de Confiance 控制台、gcloud CLI 或 REST 查看修復時更新設定。

控制台

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

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

  2. 按一下要檢查設定的 MIG 名稱。

  3. 按一下「詳細資料」分頁標籤。

  4. 在「VM 執行個體生命週期」部分,檢查「VM 執行個體修復期間的更新設定」選取的選項。如果該欄位顯示「更新執行個體設定」,代表已啟用修復時更新。

gcloud

使用 describe 指令,如下所示:

gcloud compute instance-groups managed describe MIG_NAME \
--format="(instanceLifecyclePolicy)"

在回應主體中,檢查 forceUpdateOnRepair 欄位,該欄位的值為下列其中之一:

  • NO:預設值。MIG 不會在 VM 修復時更新 VM。
  • YES:MIG 會在修復 VM 時更新 VM。

以下是輸出範例:

instanceLifecyclePolicy:
 forceUpdateOnRepair: YES

REST

如為區域 MIG,請使用 instanceGroupManagers.get 方法;如為區域 MIG,請使用 regionInstanceGroupManagers.get 方法

舉例來說,在區域 MIG 中,請使用下列指令:

GET https://compute.s3nsapis.fr/compute/v1/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

在回應主體中,檢查 instanceLifecyclePolicy.forceUpdateOnRepair 欄位,該欄位具有下列其中一個值:

  • NO:預設值。MIG 不會在 VM 修復時更新 VM。
  • YES:MIG 會在修復 VM 時更新 VM。

以下是回應範例:

{
  ...
  "name": "example-mig",
  "targetSize": 12,
  ...
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": "YES"
  },
  ...
}

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • ZONE:MIG 所在的可用區。
  • MIG_NAME:執行個體群組的名稱。

停用維修時更新

如果希望 MIG 修復 VM 時,使用當初建立 VM 時所用的原始執行個體範本或個別執行個體設定,就必須停用修復時更新。根據預設,系統會為 MIG 停用維修時更新功能。

使用 Cloud de Confiance 控制台、gcloud CLI 或 REST 停用修復更新。

控制台

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

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

  2. 按一下要停用修復更新的 MIG 名稱。

  3. 按一下「編輯」修改 MIG。

  4. 按一下「執行個體生命週期和自動修復」展開該部分。

  5. 在「VM 執行個體修復期間的更新設定」部分,選取「保留相同的執行個體設定」

  6. 按一下 [儲存]

gcloud

使用 update 指令,將 --no-force-update-on-repair 旗標設為如下:

gcloud compute instance-groups managed update MIG_NAME \
    --no-force-update-on-repair

REST

如為區域 MIG,請使用 instanceGroupManagers.patch 方法;如為區域 MIG,請使用 regionInstanceGroupManagers.patch 方法

舉例來說,如要停用區域 MIG 的修復更新,請使用下列指令:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
  "instanceLifecyclePolicy":
  { "forceUpdateOnRepair": NO
  }
}

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • ZONE:MIG 所在的可用區。
  • MIG_NAME:執行個體群組的名稱。

後續步驟