代管執行個體群組 (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 會先依照偏好順序,再考量在指定的執行個體中保留。
如要進一步瞭解預留項目,請參閱「預留 Compute Engine 可用區資源」。
執行個體彈性和 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 功能:
- 目標分配型態設為
EVEN
或ANY
的區域性 MIG - 自動調度資源
- 自動更新 VM 設定和測試群組更新 (兩個執行個體範本)
- 維修更新
- 暫停或停止 VM
- 大小調整要求:一次建立多個 GPU VM
- 建立具有特定名稱的執行個體
- 目標分配型態設為
使用 MIG 搭配 Cloud Load Balancing 時,請使用效能相似的機器類型 (例如相同的 vCPU 數量),以免過度使用較小硬體,以及低度使用較快的機器。否則,如果使用效能不同的機器類型,負載平衡可能無法有效運作。
後續步驟
- 進一步瞭解不同機器類型。
- 為 MIG 新增執行個體靈活性。
- 查看 MIG 中的執行個體彈性。