本文說明如何建立具有執行個體彈性的代管執行個體群組 (MIG),以便在 MIG 中指定多個機型。
執行個體彈性有助於提高資源取得率,特別是適用於可在不同機型上運作的應用程式,以及需要大規模容量或高需求硬體的情況。詳情請參閱「關於執行個體彈性」。
您也可以參閱建立 MIG 的其他基本情境。
事前準備
- 建立執行個體範本,以便建立代管執行個體群組。
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上範例的預計用途分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證。
gcloud
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
- 設定預設區域和可用區。
-
安裝 Google Cloud CLI。
-
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果您使用 Cloud Shell,則不需要執行這項操作。
如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI。
Terraform
如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 設定本機開發環境的驗證機制」。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
建立含有多種機型的 MIG
控制台
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
點選「建立執行個體群組」。
在「Name」(名稱) 欄位中,輸入 MIG 的名稱。
在「Instance template」(執行個體範本) 清單中,選取要用於 MIG 的執行個體範本。
如要指定「執行個體數量」並新增「執行個體選取項目」,請先完成下列步驟:
前往頁面上的「位置」部分,然後按照下列步驟設定位置:
選取「多可用區」。
在「Regions」(區域) 和「Zones」(可用區) 下拉式選單中,選取要建立 MIG 中 VM 的區域和可用區。如果您選取區域執行個體範本,系統會預設選取該範本的區域。
在「目標分配型態」欄位中,選取「平衡」、「任何」或「任何單一可用區」。
如果選取「Balanced」(平衡) 或「Any single zone」(任何單一可用區),請在開啟的對話方塊中,按一下「Disable instance redistribution」(停用執行個體重新分配)。
如果選取「Any」(任何),請確認未勾選「Allow instance redistribution」(允許重新分配執行個體) 核取方塊。
前往頁面上的「Autoscaling」(自動調度資源) 部分,然後按照下列步驟刪除自動調度資源設定:
在「自動調度資源模式」下拉式選單中,按一下「刪除自動調度資源設定」。
在開啟的對話方塊中,按一下「刪除」。
捲動返回「Number of instances」(執行個體數量) 欄位。
在「Number of instances」(執行個體數量) 欄位中,指定群組中所需的 VM 數量。
在「執行個體選取項目」部分,按一下「新增選取項目」。
「執行個體選取項目」視窗隨即開啟。
按一下「新增執行個體選取項目」。
在「New instance selection」(選取新執行個體) 部分,執行下列操作:
在「名稱」欄位中,輸入執行個體選取項目的名稱。
在「Machine types」(機型) 部分,按一下「Add machine type」(新增機型),在執行個體選取畫面中選取要新增的機型,然後按一下「Done」(完成)。
針對要新增至執行個體選取的每個機型,重複執行這個步驟。
新增機器類型後,按一下「完成」。
在「執行個體選取項目」視窗中,按一下「完成」。
其他欄位則保留預設值,或視需要修改。
點選「建立」。
gcloud
如要建立含有多個機型的區域性 MIG,請使用 instance-groups managed create 指令,如下所示:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--region REGION \
--size TARGET_SIZE \
--template INSTANCE_TEMPLATE_URL \
--target-distribution-shape SHAPE \
--instance-redistribution-type none \
--instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...
區域性 MIG 不支援執行個體彈性。不過,如要在單一可用區中建立 MIG,請將目標分配型態設為 any-single-zone。此外,如要指定區域,請使用 any-single-zone 分布形狀並加入 --zones
ZONE 旗標。
更改下列內容:
INSTANCE_GROUP_NAME:MIG 的名稱。REGION:要建立 MIG 的區域。TARGET_SIZE:MIG 要建立及維護的 VM 數量。INSTANCE_TEMPLATE_URL:您要用來在代管執行個體群組中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
SHAPE:目標分配型態。可能的值為balanced、any或any-single-zone。MACHINE_TYPE:要在 MIG 中設定的機型,例如n1-standard-16,n2-standard-16,e2-standard-16。
Terraform
如果您尚未建立執行個體範本,指定 MIG 中每個 VM 的所需 VM 屬性,請建立執行個體範本。
如要建立具有多個機型的區域 MIG,請使用 google_compute_region_instance_group_manager 資源。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
REST
如要建立具有多種機型的區域性 MIG,請對 regionInstanceGroupManagers.insert 方法發出 POST 請求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"name": "INSTANCE_GROUP_NAME",
"targetSize": TARGET_SIZE,
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"distributionPolicy": {
"targetShape": "SHAPE"
},
"updatePolicy": {
"instanceRedistributionType": "NONE"
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"INSTANCE_SELECTION": {
"machineTypes": [
"MACHINE_TYPE_1",
"MACHINE_TYPE_2",
...
]
}
}
}
}
區域性 MIG 不支援執行個體彈性。不過,如要在單一可用區中建立 MIG,請將目標分配型態設為 ANY_SINGLE_ZONE。此外,如要指定區域,請使用 ANY_SINGLE_ZONE 發布形狀,並在要求中加入 distributionPolicy.zones[].zone 欄位。
更改下列內容:
PROJECT_ID:您的專案 ID。REGION:要建立 MIG 的區域。INSTANCE_GROUP_NAME:MIG 的名稱。TARGET_SIZE:MIG 要建立及維護的 VM 數量。INSTANCE_TEMPLATE_URL:您要用來在代管執行個體群組中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:- 如果是區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 如果是區域執行個體範本:
SHAPE:目標分配型態。可能的值為BALANCED、ANY或ANY_SINGLE_ZONE。INSTANCE_SELECTION:機型清單的名稱。MACHINE_TYPE:要在 MIG 中設定的機型,例如"n1-standard-16","n2-standard-16","e2-standard-16"。
後續步驟
- 檢查執行個體彈性設定。
- 變更執行個體彈性,根據偏好使用機型。
- 建立含有多個機型和偏好的 MIG。
- 移除執行個體彈性設定。