關於 MIG 中的執行個體彈性

代管執行個體群組 (MIG) 的執行個體彈性功能可讓您為群組中的虛擬機器 (VM) 執行個體指定多個機型,而不限於單一機型。如果某個機器類型無法使用,MIG 會根據目前的資源可用性,從清單中自動選取其他相容類型。這項彈性有助於提高資源取得率,特別是對於可在不同機器類型上運作,且需要大規模容量或高需求硬體的應用程式。

本文說明 MIG 中的執行個體彈性功能運作方式和限制。如要瞭解如何設定 MIG 來使用執行個體彈性,請參閱新增執行個體彈性

執行個體彈性

MIG 會根據您選取的執行個體範本建立所有 VM。執行個體範本會指定每個 VM 要使用的機器類型。有了執行個體彈性,您就能列出與應用程式相容的所有機器類型。

下圖比較使用單一機器類型的 MIG,以及使用執行個體彈性的 MIG。如圖片所示,具有單一機器類型的 MIG 會根據執行個體範本建立相同的 VM,而具有執行個體彈性的 MIG 則可建立具有不同機器類型和大小的 VM。

比較使用單一機器類型的 MIG 與使用執行個體彈性的 MIG

執行個體彈性的運作方式

根據預設,MIG 會使用執行個體範本中的單一機器類型建立所有 VM。您可以在 MIG 中設定多個機型,方法是在執行個體彈性政策 (instanceFlexibilityPolicy) 中設定執行個體選取項目 (instanceSelections)。

如果工作負載可使用多種機器類型,您可以在單一 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 如何選取可用區

您可以在目標分配型態為 BALANCEDANY_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 時,您可以選擇所有可用區,並使用 BALANCED 目標分配型態,優先選擇有可用資源的可用區,進一步提高取得資源的機會。視選取的機器類型和BALANCED形狀而定,MIG 會在容量最充足的地方尋找容量。

為盡量取得 Spot VM 並減少先占機率,Google 建議您在相同等級中納入各種機器類型。這會擴大 MIG 搜尋可用容量的範圍,進而透過 Spot 佈建模型盡量爭取最佳結果。

爭取最高成效

您可以設定 MIG 執行個體彈性,盡可能提升效能。如要這麼做,請選取最適合工作負載的機器系列和大小。然後根據效能,從最高到最低,在每個系列中選取最偏好的大小,並依此排序機器類型。MIG 會根據排名和機器類型,從所有可用資源中選取效能最高的機器。

限制

執行個體彈性有下列限制:

  • 區域 MIG 不支援執行個體彈性。您可以改用單一區域的區域性 MIG。

  • 執行個體彈性不支援下列 MIG 功能:

  • 使用 MIG 和 Cloud Load Balancing 時,請使用效能相近的機器類型 (例如 vCPU 數量相同),以免較小的硬體過度使用,而較快的機器使用率不足。否則,使用效能不同的機器類型時,負載平衡可能無法有效運作。

後續步驟