建立代管執行個體群組 (MIG) 後,您可能需要新增或移除群組中的 VM,以滿足工作負載需求。如果已達到可新增至 MIG 的 VM 數量預設上限,但需要更多 VM,可以提高 MIG 的大小限制。
如要在 MIG 中新增或移除 VM,可以採取下列做法:
- 設定 MIG 的目標大小,自動新增或移除 VM:
- 針對無狀態應用程式使用自動調度資源功能
- 在 MIG 中建立大小調整要求
- 手動設定 MIG 的大小
- 手動新增、移除或捨棄特定執行個體:
事前準備
-
如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 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
-
- 設定預設區域和可用區。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
Terraform
如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 為本機開發環境設定驗證機制」。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。
設定群組的目標大小
您可以使用自動配置器自動設定 MIG 的目標大小,也可以手動設定。
在 MIG 中自動新增及移除 VM
您可以設定代管執行個體群組,根據工作負載自動新增或移除 VM。您的應用程式可緩解流量的增加,並且可在運算資源需求降低時節省成本。如要開始調度代管執行個體群組的資源,請參閱「建立具備自動調度資源功能的 MIG」。
詳情請參閱「自動調整資源配置執行個體群組」。
建立大小調整要求
您可以使用大小調整要求,一次將 GPU VM 新增至 MIG。這項功能可避免 Compute Engine 在佈建所有資源時,產生部分容量的費用。MIG 大小調整要求會使用彈性啟動或取決於預留項目的佈建模式。這些模式可讓您以折扣價取得 vCPU 和 GPU。
詳情請參閱「關於 MIG 中的大小調整要求」。
手動設定 MIG 的大小
如果 MIG 尚未設為自動調整資源配置,您可以手動調整群組大小,變更群組中的運算執行個體數量。如果增加大小,MIG 會使用目前的執行個體範本新增運算執行個體。如果縮減大小,MIG 會根據多項因素,從群組中刪除運算執行個體。詳情請參閱「影響 VM 執行個體刪除作業的因素」。
手動設定 MIG 大小時,請考量下列事項:
- 如果群組屬於已啟用連線排除的後端服務,則在連線排除期間結束後,可能需要額外等待最多 60 秒,運算執行個體才會移除或刪除。
如果您在 MIG 使用的執行個體範本中啟用了正常關機功能,則 MIG 中的運算執行個體會在 MIG 刪除時正常關機。
手動設定 MIG 大小時,根據預設,MIG 會在資源可用時立即獨立建立 VM。如要一次取得所有必要的 VM,請在建立 MIG 時,將目標大小政策模式設為 BULK。如要進一步瞭解大量模式,請參閱「關於在 MIG 中大量建立執行個體」。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
在清單的「Name」(名稱) 欄底下,找到要變更群組大小的執行個體群組並按一下其名稱。
按一下「Edit」(編輯),即可修改這個代管執行個體群組。
按一下「Group size & autoscaling」(群組大小和自動調度資源),展開該部分。
在「Number of instances」(執行個體數量) 欄位中,指定要納入這個代管執行個體群組的執行個體數量。
如果啟用「Autoscaling」(自動調度資源),群組會視需要自動新增或移除執行個體。不過,您可以變更「Minimum number of instances」(執行個體數量下限) 和「Maximum number of instances」(執行個體數量上限) 值,透過自動配置器間接調整群組大小。
按一下 [Save] (儲存),套用新範本。
gcloud
使用 resize 指令。
gcloud compute instance-groups managed resize INSTANCE_GROUP_NAME \
--size NEW_SIZE \
--zone ZONEREST
呼叫可用區或區域 MIG 資源的 resize 方法。將新的執行個體群組大小指定為參數。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resize?size=NEW_SIZE
如果該執行個體群組是地區代管執行個體群組,請將 zones/ZONE 替換成 regions/REGION。
提出調整代管執行個體群組大小的要求後,系統會盡快佈建或刪除運算執行個體,並啟動或停止這些執行個體。視群組中的運算執行個體數量而定,這項程序可能需要相當長的時間。在您的代管執行個體群組中驗證執行個體狀態。
在調整大小作業期間停用建立作業重試模式
根據預設,如果一開始建立執行個體失敗,MIG 會持續重試,直到成功建立執行個體為止。如果區域性 MIG 使用 BALANCED 或 ANY 目標分配型態,且初始建立作業失敗,MIG 會自動嘗試在其他所選可用區建立執行個體,而非在相同可用區重試。
不過,您可以在調整執行個體群組大小時,停用這項自動重試建立功能。停用重試建立功能後,MIG 只會嘗試建立每個執行個體一次。如果建立執行個體時發生錯誤,MIG 不會重新嘗試建立該執行個體。而是從群組的代管執行個體清單中移除執行個體,並減少 MIG 的目標大小。
這個建立重試模式僅適用於首次嘗試建立執行個體時。如果啟用這個模式時成功建立執行個體,該執行個體的行為會與一般調整大小作業建立的所有其他 VM 相同。具體來說,如果執行中的執行個體稍後意外終止,且需要重新建立,這個模式不會影響該情境中的重新建立行為。
如果系統會自動建立執行個體群組,且不需要確切數量的執行個體,停用建立重試模式就特別實用。您可能希望快速穩定 MIG 的大小,並彈性調整群組中的執行個體數量,而不是無限期等待所有要求的執行個體建立完成。配額錯誤或其他不相關的問題,可能會導致執行個體建立作業暫時或永久延遲。
限制
如果 MIG 採用下列設定,則無法停用建立重試功能:
- 自動調度資源
- 區域性 MIG 中的
EVEN目標分配型態 - 目標大小政策的大量模式
如果區域 MIG 的目標分配型態為
BALANCED或ANY_SINGLE_ZONE,您必須先停用主動式執行個體重新分配功能,才能停用建立重試模式。
如要在調整 MIG 大小時停用建立重試模式,請使用 Google Cloud CLI 或 REST。
gcloud
使用 Beta 版 resize 指令,並加上 --no-creation-retries 旗標。
gcloud beta compute instance-groups managed resize INSTANCE_GROUP_NAME \
--size NEW_SIZE \
--no-creation-retries \
[--region REGION | --zone ZONE]
更改下列內容:
INSTANCE_GROUP_NAME:要調整大小的 MIG 名稱。NEW_SIZE:代管執行個體群組中運作中的執行個體目標數量。ZONE:如果是可用區 MIG,則為 MIG 所在的可用區。REGION:如果是區域 MIG,則為 MIG 所在的區域。
REST
如果是可用區 MIG,請使用 Beta 版 instanceGroupManagers.resizeAdvanced 方法;如果是區域 MIG,請使用 Beta 版 regionInstanceGroupManagers.resizeAdvanced 方法。在要求主體中指定新的群組大小和 noCreationRetries 欄位。
舉例來說,您可以發出下列呼叫,在停用建立重試模式的情況下,調整可用區 MIG 的大小。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeAdvanced
{
"targetSize": NEW_SIZE,
"noCreationRetries": true
}更改下列內容:
PROJECT_ID:專案 ID。ZONE:MIG 所在的可用區。如果是區域 MIG,請將zones/ZONE替換為regions/REGION,並指定區域。詳情請參閱「關於區域 MIG」一文。INSTANCE_GROUP_NAME:要調整大小的 MIG 名稱。NEW_SIZE:代管執行個體群組中,運作中執行個體的目標數量。您可以使用
listManagedInstances方法,查看正在建立的執行個體和模式。停用建立重試模式時,您建立的執行個體currentAction為CREATING_WITHOUT_RETRIES。
新增、移除或捨棄特定執行個體
下列各節說明如何在 MIG 中新增、移除或捨棄特定執行個體。
在 MIG 中建立具有特定名稱的執行個體
如果工作負載或自動化調度管理系統需要特定執行個體名稱,您可以將這些執行個體新增至現有的 MIG。本節說明如何根據可用性新增執行個體。如果資源無法使用,MIG 會新增部分執行個體,並在資源可用時建立其餘執行個體。如要一次將具有特定名稱的 GPU 執行個體新增至 MIG,請改為參閱本文的「建立大小調整要求」一節。
如果 MIG 重新建立這些執行個體,您指派給這些執行個體的名稱會保留。如要進一步瞭解如何保留 MIG 執行個體的狀態,請參閱「有狀態的 MIG」。
如要為 MIG 中的執行個體使用特定命名模式,請參閱本文件的「在 MIG 中設定 VM 執行個體名稱」一節。
限制
如果您建立的執行個體有特定名稱:
- 建立執行個體時,請務必關閉自動調度資源功能。
- 您必須將 MIG 的更新政策設為投機。
- 如要更新區域性 MIG:
- 您必須停用主動式執行個體重新分配功能。
- 您無法選取要在哪個可用區建立 VM。
- 專案中的 VM 執行個體名稱不得重複。
您可以使用 gcloud CLI 或 REST,將具有特定名稱的 VM 新增至現有 MIG。
gcloud
使用 instance-groups managed create-instance 指令。
gcloud compute instance-groups managed create-instance INSTANCE_GROUP_NAME \
--instance INSTANCE_NAME \
[--region REGION | --zone ZONE]更改下列內容:
- INSTANCE_GROUP_NAME 是要新增執行個體的區域或可用區 MIG 名稱。
- INSTANCE_NAME 是要指派給新執行個體的名稱。
REST
向 regionInstanceGroupManagers.createInstances 方法傳送 POST 要求。如果是可用區代管執行個體群組,請使用 instanceGroupManagers.createInstances 方法。在要求主體中,加入 instances 欄位,並填入一或多個執行個體的名稱。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/createInstances
{
"instances": [
{
"name": "INSTANCE_NAME_1"
},
{
"name": "INSTANCE_NAME_2"
}
]
}
刪除群組中的特定執行個體
您可以刪除 MIG 中的個別運算執行個體。刪除運算執行個體會減少執行個體群組指定的 targetSize,並從任何目標集區中移除運算執行個體。
從 MIG 刪除特定運算執行個體時,請考量下列事項:
- 如果群組屬於已啟用連線排除的後端服務,則在連線排除期間結束後,可能需要額外等待最多 60 秒,運算執行個體才會移除或刪除。
如果您在 MIG 使用的執行個體範本中啟用了正常關機功能,則 MIG 中的運算執行個體會在 MIG 刪除時正常關機。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
在清單的「Name」(名稱) 欄中,按一下要刪除個別執行個體的執行個體群組名稱。按一下名稱會開啟頁面,其中包含執行個體群組的屬性及群組內執行個體的清單。
在「VM instances」(VM 執行個體) 區段中,選取一或多個要刪除的執行個體。
點選「刪除」。
然後在隨即顯示的對話方塊中,執行以下操作:
- 選用:如要刪除運算執行個體,但不正常關機,或要結束進行中的正常關機程序,請勾選「Skip graceful shutdown (if applicable)」(略過正常關機 (如適用)) 核取方塊。
- 輸入
delete,然後按一下「刪除」。
MIG 會刪除所選執行個體。
gcloud
如要使用 gcloud CLI 刪除執行個體,請使用 instance-groups managed delete-instances 指令。
gcloud compute instance-groups managed delete-instances INSTANCE_GROUP_NAME \
--instances INSTANCE_NAME_1,INSTANCE_NAME_2 \
[--region REGION | --zone ZONE]指令會傳回每個執行個體的作業狀態:
- 如果 gcloud CLI 刪除執行個體,則會傳回
SUCCESS。 - 如果您在要求中指定的任何執行個體並非群組成員、任何成員已遭刪除或捨棄,或要求因任何其他原因而失敗,系統會為所有執行個體傳回
FAIL。 - 只有在使用
--skip-instances-on-validation-error旗標,且執行個體不是群組成員,或已刪除/捨棄時,系統才會傳回SKIPPED。 - 只有在 gcloud CLI 無法從執行個體名稱解析可用區時,系統才會傳回區域群組的
MEMBER_NOT_FOUND。
如果您預期刪除要求可能會與並行作業衝突,請使用 --skip-instances-on-validation-error 旗標。這個旗標會指定即使要求包含不屬於群組的執行個體,或已刪除/捨棄的執行個體 (例如由自動配置器刪除的執行個體),是否仍應繼續執行要求。根據預設,如果您省略這個旗標,並在要求中指定這類執行個體,作業就會失敗。如果要求包含格式錯誤的執行個體名稱,或參照的執行個體位於群組區域以外的區域,則作業一律會失敗。
舉例來說,下列指令要求刪除四個執行個體,但其中三個已不在群組中:
gcloud compute instance-groups managed delete-instances example-mig \
--instances=example-instance-1,example-instance-2,example-instance-3,example-instance-4 \
--region=us-central1 \
--skip-instances-on-validation-error在這個範例中,有三個執行個體未通過驗證,因此遭到略過,而 example-instance-3 則遭到刪除:
Updated [https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceGroupManagers/example-mig]. PROJECT ZONE INSTANCE STATUS VALIDATION_ERROR example-project us-central1-a example-instance-1 SKIPPED Cannot delete instance https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-instance-1 that was already deleted. example-project us-central1-a example-instance-2 SKIPPED Cannot delete instance https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-instance-2 that was already abandoned. example-project us-central1-a example-instance-3 SUCCESS example-project us-central1-a example-instance-4 SKIPPED Cannot find instance https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-instance-4.
如果省略 --skip-instances-on-validation-error 旗標,且有任何執行個體未通過驗證,則不會刪除任何執行個體:
gcloud compute instance-groups managed delete-instances example-mig \
--instances=example-instance-1,example-instance-2,example-instance-3,example-instance-4 \
--region=us-central1
Updated [https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceGroupManagers/example-mig].
PROJECT ZONE INSTANCE STATUS
example-project us-central1-a example-instance-1 FAIL
example-project us-central1-a example-instance-2 FAIL
example-project us-central1-a example-instance-3 FAIL
example-project us-central1-a example-instance-4 FAIL
如要刪除 MIG 中的執行個體,但不正常關機,或要結束進行中的正常關機程序,請使用相同指令並加上 --no-graceful-shutdown 旗標:
gcloud compute instance-groups managed delete-instances INSTANCE_GROUP_NAME \
--instances INSTANCE_NAME_1,INSTANCE_NAME_2 \
--no-graceful-shutdown \
[--region REGION | --zone ZONE]REST
向 regionInstanceGroupManagers.deleteInstances 方法傳送 POST 要求。對於區域代管執行個體群組,請使用 instanceGroupManagers.deleteInstances 方法。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/deleteInstances
{
"instances": [
"zones/ZONE/instances/INSTANCE_NAME_1",
"zones/ZONE/instances/INSTANCE_NAME_2"
]
}如果您預期刪除要求可能會與並行作業衝突,請使用 skipInstancesOnValidationError 欄位。這個欄位指定即使要求包含不屬於群組的執行個體,或已刪除或捨棄的執行個體 (例如由自動配置器刪除的執行個體),是否仍應繼續執行要求。根據預設,如果您省略這個旗標,並在要求中指定這類執行個體,作業就會失敗。如果要求包含格式錯誤的執行個體名稱,或參照的執行個體位於群組區域以外的區域,則作業一律會失敗。
舉例來說,下列刪除 2 個執行個體的要求會成功,即使其中一個執行個體已刪除或正在刪除:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/deleteInstances
{
"instances": [
"zones/ZONE/instances/INSTANCE_NAME_1",
"zones/ZONE/instances/INSTANCE_NAME_2"
],
"skipInstancesOnValidationError": true
}您可以查看作業,瞭解作業中略過的執行個體。如果是區域 MIG,請使用 regionOperations.get 方法。如果是可用區 MIG,請使用 zoneOperations.get 方法。警告會列在作業的警告欄位中。
如要刪除 MIG 中的執行個體,但不正常關機或結束進行中的正常關機,請在要求網址中加入 noGracefulShutdown 查詢參數,並設為 true:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/deleteInstances?noGracefulShutdown=true
{
"instances": [
"zones/ZONE/instances/INSTANCE_NAME_1",
"zones/ZONE/instances/INSTANCE_NAME_2"
]
}提出刪除代管執行個體群組中執行個體的要求之後,執行個體會在系統可以刪除時立即停止。此程序可能會花費大量時間,花費時間視您從群組中刪除的執行個體數而定。 驗證群組的狀態或驗證代管執行個體的狀態。
從 MIG 捨棄執行個體
您可以將 VM 執行個體與代管執行個體群組分開,以便對個別執行個體的問題進行偵錯,而不影響整個群組。從群組捨棄執行個體也會將執行個體從指派給代管執行個體群組的負載平衡器移除。 手動指派給特定個別執行個體的目標集區不會移除。
您無法將已捨棄的 VM 執行個體重新加入群組。捨棄執行個體會減少執行個體群組的指定 targetSize,但不會變更任何指定的自動配置器設定。具有自動配置器的代管執行個體群組會視需要繼續自動新增或移除執行個體。如果區域 MIG 的自動調度資源功能設為 ONLY_SCALE_OUT 模式,當您捨棄 VM 執行個體,將 MIG 目標大小縮減為自動配置器建議的大小時,自動配置器可能會在捨棄 VM 的相同可用區中建立新的 VM 執行個體。在這種情況下,為避免建立新的 VM 執行個體,請嘗試捨棄其他可用區的 VM 執行個體。
如果群組屬於已啟用連線排除的後端服務,則在連線排除期間結束後,可能需要額外 60 秒的時間,系統才會移除或刪除運算執行個體。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
在清單的「Name」(名稱) 欄底下,按一下要移除執行個體的執行個體群組名稱。按一下名稱會開啟頁面,其中包含執行個體群組的屬性及群組內執行個體的清單。
在「VM instances」(VM 執行個體) 區段中,選取一或多個要從群組中移除的執行個體。
按一下「從群組中移除」。
在對話方塊中確認移除所選執行個體,輸入
remove,然後按一下「Remove」(移除)。MIG 會從群組中移除所選執行個體。移除的執行個體會繼續在群組外執行。
gcloud
如要從執行個體群組中移除執行個體,但不刪除 VM,請使用 instance-groups managed abandon-instances 指令。
gcloud compute instance-groups managed abandon-instances INSTANCE_GROUP_NAME \
--instances INSTANCE_NAME_1,INSTANCE_NAME_2 \
[--region REGION | --zone ZONE]REST
向 regionInstanceGroupManagers.abandonInstances 方法傳送 POST 要求。對於區域代管執行個體群組,請使用 instanceGroupManagers.abandonInstances 方法。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/abandonInstances
{
"instances": [
"zones/ZONE/instances/INSTANCE_NAME_1",
"zones/ZONE/instances/INSTANCE_NAME_2"
]
}提出從代管執行個體群組中捨棄執行個體的要求之後,群組會盡快移除執行個體。 驗證群組的狀態或驗證代管執行個體的狀態。
設定 MIG 中的 VM 執行個體名稱
您可以設定 baseInstanceName 欄位,自訂代管執行個體群組 (MIG) 中的 VM 名稱。Compute Engine 會根據下列其中一種模式產生執行個體名稱:
依序編號:將
baseInstanceName設為包含一或多個井字元 (#) 的字串,以定義編號模式。Compute Engine 會將井字號替換成從 0 開始的序號。井字號字元的數量會決定名稱中的最小位數,並在前面補零。- 範例:
"baseInstanceName": "instance-###" - 產生的 VM 名稱:
instance-000、instance-001、instance-002。 - 如要使用不同的起始編號,請在井字號後方的括號中指定編號,例如
PREFIX-###[100],如instance-###[100]。因此 VM 名稱會是instance-100、instance-101和instance-102。
- 範例:
自訂前置字串:將
baseInstanceName設為不含雜湊字元 (#) 的字串。Compute Engine 會將該字串做為前置字串,並附加連字號和四個隨機字元。- 範例:
"baseInstanceName": "my-vm" - 產生的 VM 名稱:
my-vm-p4k1、my-vm-n2hr。
- 範例:
預設前置字串:如未設定
baseInstanceName,Compute Engine 會使用 MIG 名稱做為前置字串,並在後面加上連字號和四個隨機字元。- MIG 名稱範例:
my-mig - 產生的 VM 名稱:
my-mig-xz8d、my-mig-4ran。
- MIG 名稱範例:
您可以在建立 MIG 時設定 baseInstanceName,也可以更新現有的 MIG。
gcloud
如要在建立 MIG 時設定執行個體名稱,請使用 create 指令搭配 --base-instance-name 旗標:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--template INSTANCE_TEMPLATE \
--size SIZE \
--base-instance-name BASE_INSTANCE_NAME \
[--region REGION | --zone ZONE]
如要在現有 MIG 中設定執行個體名稱,請使用 update 指令搭配 --base-instance-name 旗標:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
--base-instance-name BASE_INSTANCE_NAME \
[--region REGION | --zone ZONE]
更改下列內容:
INSTANCE_GROUP_NAME:MIG 的名稱。INSTANCE_TEMPLATE:用於建立 VM 的執行個體範本名稱。SIZE:MIG 中的 VM 數量。BASE_INSTANCE_NAME:在 MIG 中建立的執行個體基本名稱格式:- 如要使用依序命名,請在名稱中加入一或多個井字號 (
#),例如PREFIX-###,如instance-###。 - 如要使用自訂前置字元搭配隨機後置字元,請使用不含雜湊字元的名稱,例如
my-vm。
- 如要使用依序命名,請在名稱中加入一或多個井字號 (
REGION:如果是區域 MIG,則為 MIG 所在的區域。ZONE:如果是可用區 MIG,則為 MIG 所在的可用區。
REST
如要在建立 MIG 時設定執行個體名稱,請在向 instanceGroupManagers.insert 方法或 regionInstanceGroupManagers.insert 方法提出的要求中加入 baseInstanceName 欄位。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"name": "INSTANCE_GROUP_NAME",
"instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE",
"targetSize": "SIZE",
"baseInstanceName": "BASE_INSTANCE_NAME"
}
如要在現有 MIG 中設定執行個體名稱,請在向 instanceGroupManagers.patch 方法或 regionInstanceGroupManagers.patch 方法提出的要求中加入 baseInstanceName。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"baseInstanceName": "BASE_INSTANCE_NAME"
}
更改下列內容:
PROJECT_ID:專案 ID。ZONE:如果是可用區 MIG,則為 MIG 所在的可用區。INSTANCE_GROUP_NAME:MIG 的名稱。INSTANCE_TEMPLATE:用於建立 VM 的執行個體範本名稱。SIZE:MIG 中的 VM 數量。BASE_INSTANCE_NAME:在 MIG 中建立的執行個體基本名稱格式:- 如要使用依序命名,請在名稱中加入一或多個井字號 (
#),例如PREFIX-###,如instance-###。 - 如要使用自訂前置字元搭配隨機後置字元,請使用不含雜湊字元的名稱,例如
my-vm。
- 如要使用依序命名,請在名稱中加入一或多個井字號 (
提高群組人數上限
根據預設,可用區 MIG 的大小上限為 1,000 個 VM,區域性 MIG 的大小上限則為 2,000 個 VM。您也可以進一步提高這些限制,將可用區 MIG 的 VM 數量提高至 2,000 個,區域性 MIG 的 VM 數量提高至 4,000 個。
如要提高限制,請將群組的 listManagedInstancesResults 欄位設為 PAGINATED。如果群組中仍需要更多 VM,請建立多個 MIG 或聯絡支援團隊。
控制台
前往 Cloud de Confiance 控制台的「Instance groups」(執行個體群組) 頁面。
在清單的「Name」(名稱) 欄中,按一下要提高大小限制的執行個體群組名稱。
按一下「Edit」(編輯),修改執行個體群組。
按一下「進階選項」展開該部分。
在「Managed instance list API call results」(代管執行個體清單 API 呼叫結果) 區段中,選取「Paginated」(分頁)。
點選「儲存」來套用變更。
gcloud
如為現有的 MIG,請使用 update 指令:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
--list-managed-instances-results=PAGINATED如為新的 MIG,請使用 create 指令:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--template INSTANCE_TEMPLATE \
--size SIZE \
--list-managed-instances-results=PAGINATEDTerraform
如要提高 MIG 的大小限制,請將 list_managed_instances_results 引數設為 PAGINATED。
下列範例會增加可用區 MIG 的大小限制。如要進一步瞭解範例中使用的資源,請參閱 google_compute_instance_group_manager 資源。如果是區域性 MIG,請使用 google_compute_region_instance_group_manager 資源。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
REST
如果是現有的可用區 MIG,請使用 instanceGroupManagers.patch 方法;如果是區域 MIG,請使用 regionInstanceGroupManagers.patch 方法,例如:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME
{
"listManagedInstancesResults": "PAGINATED",
}
如為新的可用區 MIG,請使用 instanceGroupManagers.insert 方法;如為區域 MIG,請使用 regionInstanceGroupManagers.insert 方法。
如要切換回無分頁清單結果,也必須還原為群組的預設大小限制。如要切換回預設值,請先確認群組未超過預設大小限制,然後將 listManagedInstancesResults 欄位設為 PAGELESS。
後續步驟
- 瞭解如何使用代管執行個體,例如刪除、捨棄及重新建立代管執行個體。
- 查看代管執行個體群組和代管執行個體的資訊。
- 排解代管執行個體群組問題。