本文說明如何編輯執行個體彈性政策,藉此變更或移除代管執行個體群組 (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 進行驗證」。
變更執行個體彈性設定
如要進行下列變更,請編輯 MIG 中的執行個體彈性設定:
- 在執行個體選取項目中新增機型
- 從所選執行個體中移除機型
- 變更所選執行個體的等級
- 新增選取的執行個體
- 新增最低 CPU 平台和磁碟覆寫 (預先發布版)
MIG 會根據您指定的執行個體選取名稱套用變更。未指定的執行個體選取項目會維持不變。變更執行個體選取項目時,您必須在編輯時指定完整設定。如未指定完整設定,MIG 會覆寫執行個體選取項目的未指定部分。舉例來說,如果只想變更排名,請指定新排名,以及機器類型和該選取範圍中設定的任何其他覆寫。如要查看現有設定,請參閱「查看執行個體彈性」。
從設定中移除機型後,現有 VM 仍會繼續使用該機型。如要變更這些 VM 的機型,必須更新或重新建立特定 VM。詳情請參閱「更新 VM 的機器類型,以使用最新設定」一文。
如要變更 MIG 中的執行個體彈性設定,請選取下列任一選項:
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要變更執行個體彈性的 MIG 名稱。
按一下 [編輯]。
按一下「執行個體彈性」展開該部分。
在「Instance selections」部分,按一下「Edit selections」。
在「執行個體選取項目」視窗中,按一下執行個體選取項目的「切換」圖示 ,開啟「編輯執行個體選取項目」檢視畫面。
編輯執行個體選取項目時,您可以進行下列變更:
- 變更執行個體選取項目的名稱和等級。如要變更,請編輯「名稱」和「等級」欄位中的值。
- 在選取範圍中新增機型。如要這麼做,請按一下「新增機型」。
- 移除機器類型。方法是選取機器類型,然後按一下「移除」。
- 新增或修改最低 CPU 平台或磁碟覆寫 (預覽版)。 如要這麼做,請按照「覆寫」專區中的提示操作。
視需要修改選取範圍,然後按一下「完成」。
在「Instance selections」視窗中完成變更後,按一下「Done」。
點選「儲存」來套用變更。
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 的機器類型更新為使用最新設定」一文。
移除所有執行個體選取項目
如要移除所有執行個體選取項目,請選取下列任一選項:
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要移除所有執行個體選取的 MIG 名稱。
按一下 [編輯]。
按一下「執行個體彈性」展開該部分。
在「Instance selections」部分,按一下「Edit selections」。
在「Instance selections」(執行個體選取項目) 視窗中,按一下每個執行個體選取項目旁邊的「刪除」 圖示。
按一下 [完成]。
按一下 [儲存]。
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 名稱。
移除特定執行個體選項
如要移除特定執行個體選取項目,請選取下列任一選項:
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要移除特定執行個體選取的 MIG 名稱。
按一下 [編輯]。
按一下「執行個體彈性」展開該部分。
在「Instance selections」部分,按一下「Edit selections」。
在「執行個體選取項目」視窗中,找出要移除的執行個體選取項目,然後按一下旁邊的「刪除」圖示。
按一下 [完成]。
按一下 [儲存]。
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欄位必須為RESTART或REPLACE。使用
regionInstanceGroupManagers.recreateInstances方法重新建立 VM。如要重新建立 VM,請先刪除 VM,然後將 MIG 調整為所需 VM 數量。