關於 GKE Standard 中的 Autopilot 模式工作負載


您可以使用 ComputeClasses,在 GKE Standard 模式叢集中執行 Google Kubernetes Engine (GKE) Autopilot 工作負載。本頁說明在 Autopilot 模式下執行工作負載的方法,並協助您決定何時要在特定模式下執行工作負載。

這項資訊適用於下列對象:

  • 想為機構最佳化營運成本的雲端架構師。
  • 平台管理員想減少手動管理基礎架構的負擔。
  • 網站可靠性工程師 (SRE):希望盡可能將基礎架構維護、升級和擴充作業轉移至 Google Cloud 。

您應該已熟悉下列概念:

關於 GKE Autopilot

Autopilot 是 GKE 的作業模式,可讓 Google 管理節點基礎架構、資源調度、安全性及預先設定的功能。Autopilot 模式經過最佳化調整,適用於在環境中執行多數正式環境工作負載,並套用安全性、可靠性、效能和擴充性方面的建議設定。如要根據需求決定使用 Autopilot 模式或 Standard 模式,請參閱「關於 GKE 作業模式」。

你可以透過下列方式使用 Autopilot 模式:

  • 建立使用 Autopilot 模式的叢集: Google 會管理整個叢集,並採用自動化、可靠性、安全性及成本方面的最佳做法。
  • 在 Standard 叢集的 Autopilot 模式中執行工作負載: 部署 Autopilot ComputeClasses,並在工作負載中選取這些類別。 Google 會管理 GKE 為這些特定工作負載建立的節點。您可以控管叢集,並在 GKE 管理的節點旁執行自己的節點集區。

運算級別的 Autopilot 模式簡介

ComputeClass 是 Kubernetes 自訂資源,可定義節點設定清單,例如機型或功能設定。您可以在 Kubernetes 工作負載規格中選取特定 ComputeClass。當選取 ComputeClass 的工作負載需要新節點時,GKE 會嘗試使用 ComputeClass 宣告的其中一種設定,佈建節點。GKE 會依序嘗試 ComputeClass 中的每項設定,如果節點建立失敗,則會改用下一項設定。詳情請參閱「關於自訂 ComputeClass」。

如要在 GKE Standard 叢集中執行 Autopilot 工作負載,請在 ComputeClass 中啟用 Autopilot 模式,並在特定工作負載中選取該 ComputeClass。Google 會管理 GKE 為這些工作負載佈建的所有新節點,這與管理 Autopilot 叢集中的節點類似。Autopilot 模式的大部分優點和安全性功能,都適用於這些工作負載和主機節點。

叢集管理員可透過 Autopilot 模式 ComputeClass,彈性選擇要對叢集中的特定工作負載和基礎架構進行控管的程度,例如:

  • 您可以讓 GKE 在 Autopilot 模式下執行特定工作負載,全面管理這些工作負載。
  • 您可全權控管未使用 Autopilot 模式的工作負載和基礎架構,例如手動建立的節點集區。
  • 您可以將 Autopilot ComputeClass 設為叢集或命名空間的預設值,這樣一來,工作負載就會以 Autopilot 模式執行,除非明確要求使用其他選項。

叢集管理員可透過這些選項,決定使用 Autopilot 的層級和範圍。

叢集管理員可透過 Autopilot 模式 ComputeClass,彈性選擇要對叢集中的特定工作負載和基礎架構進行控管的程度,例如:

  • 您可以讓 GKE 在 Autopilot 模式下執行特定工作負載,全面管理這些工作負載。
  • 您可全權控管未使用 Autopilot 模式的工作負載和基礎架構,例如手動建立的節點集區。
  • 您可以將 Autopilot ComputeClass 設為叢集或命名空間的預設值,這樣一來,工作負載就會以 Autopilot 模式執行,除非明確要求使用其他選項。

叢集管理員可透過這些選項,決定使用 Autopilot 的層級和範圍。

在 Standard 叢集中使用 Autopilot ComputeClass 的優點

以 Autopilot 模式執行部分工作負載可帶來下列好處:

  • 降低基礎架構管理成本:Google 會為您升級、維護、設定及微調特定節點。
  • 使用 Autopilot 定價模式:使用 Autopilot ComputeClass 的工作負載會採用 Autopilot 定價模式計費。這個定價模式包含不要求特定硬體的工作負載的 Pod 計費。詳情請參閱「定價」一節。
  • 提升調度能力和安全防護: Autopilot 工作負載可享有許多優勢,例如存取容器最佳化運算平台、 改善預設安全限制,以及根據資源要求自動調度節點。這些工作負載的節點會使用節點自動升級和自動修復等功能。
  • 提升可靠性:GKE 服務水準協議 (SLA) 包含 Autopilot 的 Pod 正常運作時間服務水準目標 (SLO)。

Autopilot 叢集也提供許多這類優點,而且相較於 Standard 叢集,Autopilot 叢集可提供更多管理體驗,並包含多項安全防護、網路和資源管理優點。詳情請參閱 Autopilot 總覽

Autopilot ComputeClass 中的硬體選取項目

在 Autopilot ComputeClasses 中,您可以為節點選取特定硬體 (例如 GPU 或機器類型),也可以讓 GKE 將 Pod 放置在一般用途的容器最佳化運算平台上。對於不需要特定硬體就能順利執行的多數正式環境工作負載,建議使用一般用途選項。

下表說明這些設定選項、如何在 ComputeClass 中選擇選項,以及這項選擇對帳單模式的影響:

表 1. Autopilot 運算類別中的硬體選取項目
工作負載需求 建議的 ComputeClass 設定 計費模式
一般用途工作負載

使用具有 podFamily 優先順序規則的 Autopilot ComputeClass,在 Autopilot 容器最佳化運算平台執行不需要特定硬體的工作負載。這個平台非常適合一般用途的工作負載,例如:

  • 網路伺服器
  • 以事件為準的工作
  • 批次處理
  • 建立 CI/CD pipeline

適用於 Standard 叢集的內建 Autopilot ComputeClasses 使用 podFamily 優先順序規則。

依 Pod 計算的計費模式
需要特定硬體的工作負載

使用任何可用的硬體設定規則,例如 machineFamily 規則或 gpus 規則。

依節點計算的計費模式

在 ComputeClasses 中設定 Autopilot

如要在 Standard 叢集中使用 Autopilot 模式,可以採用 GKE 提供的內建 Autopilot ComputeClass,也可以在您建立的任何自訂 ComputeClass 中啟用 Autopilot。以下各節將說明每個選項。

內建 Autopilot ComputeClass

GKE 會為您設定特定的 Autopilot ComputeClass。您可以在任何符合資格的叢集中選取這些內建的 Autopilot 類別。標準叢集內建的 Autopilot ComputeClass 會使用 podFamily 優先順序規則,在容器最佳化運算平台上執行 Pod。詳情請參閱「關於 GKE 內建 ComputeClass」。

自訂 Autopilot ComputeClass

您可以在管理的任何自訂 ComputeClass 中啟用 Autopilot。 如果工作負載有特定的硬體需求,這個選項就相當實用。您可以在 ComputeClass 自訂資源中,使用 autopilot 欄位啟用或停用特定 ComputeClass 中的 Autopilot。

如要在現有 ComputeClass 中啟用 Autopilot,請先刪除該 ComputeClass,更新設定,然後在叢集中重新建立 ComputeClass。更新 Autopilot ComputeClass 後,您部署工作負載時,GKE 為工作負載建立的新節點都會套用變更。

如要進一步瞭解如何在自訂運算級別中啟用 Autopilot,請參閱「為 Autopilot Pod 選擇特定硬體」。

定價

GKE Autopilot 定價適用於 GKE 為 Autopilot ComputeClass 建立的節點和工作負載。下表說明適用於標準模式叢集中不同 Autopilot ComputeClass 設定的計費模式。

表 3:Autopilot 運算級別的定價
不同 ComputeClass 設定的計費模式
依 Pod 計算的計費模式 如果 Autopilot 運算類別使用 podFamily 優先順序規則,而非選取特定機器或硬體,系統就會採用以 Pod 為準的計費模式。內建的 Autopilot ComputeClasses 使用 podFamily 規則,並採用以 Pod 為準的計費模式。
依節點計算的計費模式 節點計費模式適用於明確要求特定節點設定的 Autopilot 運算類別,例如 N2 執行個體或 GPU。

Autopilot 定價僅適用於使用 Autopilot ComputeClass 的工作負載和節點。標準模式叢集和您執行的任何其他節點集區,都會繼續採用 GKE 標準模式定價

Autopilot 管理的節點預先設定

在 ComputeClasses 中啟用 Autopilot 模式前,請先瞭解 GKE 建立的節點會如何執行 Autopilot 工作負載。Google 會在 Autopilot 節點中設定特定功能和安全限制。因此,如果工作負載不符合 Autopilot 的安全性需求,即使在 Standard 模式節點中部署及正常運作,也可能會遭到 Autopilot 模式拒絕。

下表說明會覆寫標準叢集中對應設定的功能設定。如果設定不在這個表格中,Autopilot 節點會使用 Standard 叢集設定。舉例來說,這份表格未列出 Workload Identity Federation for GKE,這表示 Standard 叢集的 Workload Identity Federation for GKE 設定,會套用至 GKE 建立的 Autopilot 節點。

表 4. Autopilot 節點的預先設定
功能 標準叢集層級設定 Autopilot 代管節點設定
節點升級和維護

可設定:

預先設定:

  • 節點自動修復:已啟用
  • 節點自動升級:已啟用
  • 節點升級策略: 節點數擴充升級 搭配預先設定的參數
自動調度資源 可設定: 自動調度資源概況 已預先設定:optimize-utilization自動調度資源設定檔
網路 虛擬私有雲原生或路徑導向 需要虛擬私有雲原生叢集
安全性

可設定:

預先設定:

節點作業系統

可設定:

預先設定:

節點開機磁碟

可設定:

可設定:

  • 開機磁碟類型:使用 ComputeClass storage.bootDiskType 欄位中的值。如未設定這個欄位,GKE 會依下列方式設定開機磁碟類型:
    • 如果 ComputeClass 使用 podFamily 規則,GKE 會使用 pd-balanced 磁碟。
    • 如果 ComputeClass 未使用 podFamily 規則,GKE 會使用叢集的預設開機磁碟類型。
  • 開機磁碟大小:GKE 會使用計算類別 storage.bootDiskSize 欄位中的值。如果未設定這個欄位,GKE 會依下列方式設定開機磁碟大小:
節點中繼資料

Autopilot 工作負載的資源要求

為確保 Autopilot 工作負載能有效率地執行,GKE 會對 Pod 中 CPU、記憶體和臨時儲存空間的要求,強制執行特定最小值和最大值。如果 Pod 未明確要求其中一項資源,GKE 也會套用預設要求。GKE Autopilot 工作負載的最低、最高和預設資源需求具體值,會因 Pod 使用的硬體類型而異。

如未要求暫存空間,所有 ComputeClass 和硬體選項的暫存空間預設值都相同。詳情請參閱「預設資源要求」。

下表提供 Pod 要求 CPU 和記憶體需求的連結,視硬體類型而定:

表 5:Autopilot CPU 和記憶體需求
資源類型 要求數量下限和上限 預設要求
一般用途 Pod
podFamily 優先順序規則
請參閱「ComputeClass 的最小值和最大值」表格中的「一般用途」列。 請參閱「ComputeClass 的預設要求」表格中的「一般用途」列。
GPU 和 TPU 視硬體加速器的類型和數量而定。詳情請參閱加速器 ComputeClass 的上限和下限 視硬體加速器的類型和數量而定。詳情請參閱「加速器的預設要求」。
特定 Compute Engine 機器類型和機器系列
  • 最低:CPU 或記憶體沒有最低值。
  • 上限:上限值為 Compute Engine 執行個體的資源容量。
對於任何 Compute Engine 機器類型或機器系列,ComputeClasses 的預設要求表格中「一般用途」列的預設要求。

後續步驟