本文說明如何設定 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
-
安裝 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。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要設定「維修時更新」的 MIG 名稱。
按一下「編輯」修改 MIG。
按一下「執行個體生命週期和自動修復」展開該部分。
在「VM 執行個體修復期間的更新設定」部分,選取「更新執行個體設定」。
按一下 [儲存]。
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
}
}
更改下列內容:
檢查是否已啟用維修更新
根據預設,MIG 不會在修復期間更新 VM。如要檢查 MIG 是否已啟用修復時更新功能,請使用 Cloud de Confiance 控制台、gcloud CLI 或 REST 查看修復時更新設定。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要檢查設定的 MIG 名稱。
按一下「詳細資料」分頁標籤。
在「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 停用修復更新。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要停用修復更新的 MIG 名稱。
按一下「編輯」修改 MIG。
按一下「執行個體生命週期和自動修復」展開該部分。
在「VM 執行個體修復期間的更新設定」部分,選取「保留相同的執行個體設定」。
按一下 [儲存]。
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:執行個體群組的名稱。
後續步驟
- 設定應用程式健康狀態檢查和自動修復。
- 如果您已為 MIG 設定以應用程式為準的健康狀態檢查,請監控 VM 健康狀態的變化。