代管執行個體群組 (MIG) 的彈性執行個體功能可讓您為群組中的虛擬機器 (VM) 例項指定多個機型,而非受限於單一機型。如果無法使用某種機器類型,MIG 會根據目前的資源可用性,自動從清單中選取其他相容的類型。這種彈性有助於提升資源取得性,特別是對於可在不同機器類型上運作的應用程式,以及需要大規模容量或高需求硬體的應用程式。
本文將說明執行個體彈性功能在 MIG 中的運作方式,以及相關限制。如要瞭解如何設定 MIG 以使用執行個體彈性,請參閱「新增執行個體彈性」。
執行個體彈性
MIG 會根據您選取的執行個體範本建立所有 VM。執行個體範本會指定用於每個 VM 的機器類型。有了執行個體彈性,您就能列出與應用程式相容的所有機器類型。
下圖比較使用單一機器類型的 MIG,以及使用執行個體彈性功能的 MIG。如圖所示,採用單一機器類型的 MIG 會根據執行個體範本建立相同的 VM,而具備執行個體彈性的 MIG 則可建立不同機器類型和大小的 VM。
彈性執行個體的運作方式
根據預設,MIG 會使用執行個體範本中的單一機器類型建立所有 VM。您可以在執行個體彈性政策 (instanceFlexibilityPolicy
) 中設定執行個體選取項目 (instanceSelections
),藉此在 MIG 中設定多個機器類型。
如果工作負載可在多種不同的機器類型上運作,您可以在單一 instanceSelection
中只設定與應用程式相容的所有機器類型清單,如下所示:
"instanceFlexibilityPolicy": { "instanceSelections": { "instance-selection-1": { "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"] } } }
在執行個體選項中,各機器類型的偏好設定皆相同。如果您希望 MIG 以特定順序選擇機器類型,可以設定多個執行個體選項,每個選項都包含機器類型清單和排名,用於定義偏好設定。排名值越低,表示偏好度越高。MIG 會嘗試使用優先順序較高的機器類型建立 VM。如果這些偏好機器類型無法使用,MIG 會使用偏好度較低的機器類型。
"instanceFlexibilityPolicy": { "instanceSelections": { "most-preferred": { "rank": 1, "machineTypes": ["c3-standard-16","n2-standard-16","c2-standard-16"] }, "least-preferred": { "rank": 2, "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"] } } }
應用程式必須能夠在任何列出的機器類型上執行,因為硬體的供應情形會隨時間而變動,除非您使用預留功能,否則無法保證特定硬體的供應情形。
MIG 如何選取機器類型
設定多個機器類型時,MIG 會根據目前的資源可用性選取機器類型,並優先使用未使用的預留空間。如果您已設定排名,MIG 會優先考量您的偏好順序。在選取的排名實例中,MIG 會檢查資源可用性,接著進行預留。
MIG 區域中的可用區也會影響機器類型選取,因為資源可用性會因可用區而異。如需更多資訊,請參閱以下有關 MIG 如何選取可用區的部分。
MIG 如何選取可用區
您可以在具有 BALANCED
或 ANY_SINGLE_ZONE
目標分配型態的區域性 MIG 中,設定執行個體彈性。透過執行個體彈性功能,當區域性 MIG 建立 VM 時,會根據所選的目標分配型態選取可用區,如下所示:
BALANCED
:MIG 會選取有可用資源的可用區,盡可能平均分配各可用區的 VM。在所選可用區中,MIG 會根據排名 (如已設定) 和可用的預留項目,為機器類型指定優先順序。ANY_SINGLE_ZONE
:MIG 會根據等級 (如已設定) 選取可用區,並在該區建立最多 VM。
如要進一步瞭解目標分配型態的運作方式,請參閱「區域性 MIG 目標分配型態」。
執行個體彈性和預留
您可以使用預留項目搭配彈性執行個體。MIG 會根據您在執行個體範本中設定的 reservationAffinity
欄位使用預留項目。
如果執行個體選項中有多個機器類型,MIG 會優先選取有未用預留空間的機器類型。如果您想變更 MIG 選擇機器類型的順序,可以設定多個執行個體選項,並使用排名指定偏好順序。然後,MIG 會先依照偏好順序,再考量在指定的執行個體中進行預訂。
如要進一步瞭解預訂,請參閱「選擇預訂類型」。
執行個體彈性和 Spot VM
如果具備彈性執行個體的 MIG 使用 Spot VM,MIG 會自動選取觀察到的預留率最低的機器類型,確保工作負載受到的干擾降到最低。如要覆寫這項行為,您可以設定多個例項選項,並使用排名指定偏好設定。然後,MIG 會先依照偏好順序,再考量執行個體選項中的 Spot VM 可靠度。
如要進一步瞭解 Spot VM,請參閱「代管執行個體群組中的 Spot VM」。
執行個體彈性和 VM 修復
根據預設,如果 MIG 中的 VM 發生故障,MIG 會使用相同的設定 (包括機器類型) 重新建立 VM,以便修復 VM。如果您設定執行個體彈性,且失敗 VM 的原始機器類型暫時無法使用,MIG 會根據指定的執行個體選項,選取其他機器類型。
如要進一步瞭解修復作業,請參閱「關於修復高可用性 VM」。
用途
以下各節將說明 MIG 中彈性執行個體的部分用途。
提高成本效益
當您將 MIG 的執行個體彈性設定設為下列狀態時,MIG 便可自動為基礎架構佈建最具成本效益的執行個體:
機器類型:選取可為工作負載提供理想性價比的機器類型。您不需要指定每個機器類型的所有可用大小,只需指定最符合需求的經濟型大小即可。
排名:根據您的成本偏好,為所選執行個體指派排名,其中成本最低的機器類型為首選。這有助於確保您根據可用性取得成本最低的機器類型。
位置:建立 MIG 時,請選取所有可用區和
BALANCED
目標分配型態。這樣一來,您就能在可用區取得最低成本的機器類型。
根據您的執行個體彈性設定,MIG 會自動配置可用機器類型的最佳組合,以符合您的成本標準和要求的總容量。這樣可確保在特定時間內以最低價格購買。
提高取得性
您可以設定 MIG 執行個體彈性,以提高取得率。為此,請在同一個等級中選取盡可能相容應用程式的機器類型。您可以進一步提高取得資源的機會,方法是在建立 MIG 時選擇所有可用區,並使用 BALANCED
目標分配型態,這會優先選擇可取得資源的可用區。根據所選機器類型和 BALANCED
形狀,MIG 會找出最容易取得容量的區域。
為提高取得 Spot VM 的機會,並減少先占的機率,Google 建議您在同一個等級中加入多種機器類型。這樣一來,MIG 就能擴大可用容量的搜尋範圍,並透過即時調度模型取得最佳成效。
爭取最高成效
您可以設定 MIG 執行個體的彈性,盡可能提升效能。為此,請選取最符合工作負載需求的機器系列和大小。接著,請使用每個系列中偏好的大小,依效能由高至低排序機器類型。根據排名和機器類型,MIG 會從所有可用資源中選取效能最高的機器。
限制
使用彈性執行個體時,請注意下列限制:
區域 MIG 不支援執行個體彈性。您可以改用區域性 MIG 搭配單一可用區。
彈性執行個體不支援下列 MIG 功能:
使用 MIG 搭配 Cloud Load Balancing 時,請使用效能相似的機器類型 (例如相同的 vCPU 數量),以免過度使用較小硬體,以及低估較快機器的使用率。否則,如果使用效能不同的機器類型,負載平衡可能無法有效運作。
後續步驟
- 進一步瞭解不同機器類型。
- 為 MIG 新增彈性執行個體。
- 查看 MIG 中的執行個體彈性。