您可以使用 ComputeClasses,在 GKE Standard 模式叢集中執行 Google Kubernetes Engine (GKE) Autopilot 工作負載。本文說明在 Autopilot 模式下執行工作負載的方法,並協助您決定何時要在特定模式下執行工作負載。
這項資訊適用於下列人員:
- 想最佳化組織營運成本的雲端架構師。
- 想減少手動管理基礎架構負擔的平台管理員。
- 網站可靠性工程師 (SRE) 想要盡可能將基礎架構維護、升級和擴充作業轉移至 Cloud de Confiance by S3NS 。
您應該已熟悉下列概念:
關於 GKE Autopilot
Autopilot 是 GKE 的作業模式,由 Google 管理節點基礎架構、資源調度、安全性和預先設定的功能。Autopilot 模式經過最佳化調整,適合在套用安全性、可靠性、效能和擴充性建議設定的環境中,執行大多數正式環境工作負載。如要根據需求選擇 Autopilot 模式或標準模式,請參閱「關於 GKE 作業模式」。
您可以透過下列方式使用 Autopilot 模式:
- 建立使用 Autopilot 模式的叢集: Google 會管理整個叢集,並套用自動化、可靠性、安全性及成本方面的最佳做法。
- 在 Standard 叢集的 Autopilot 模式中執行工作負載: 部署 Autopilot ComputeClass,並在工作負載中選取這些 ComputeClass。 Google 會在Autopilot 管理的節點集區中,管理 GKE 為這些特定工作負載建立的節點。您可以控管叢集,並在 GKE 管理的節點旁執行自己的 Standard 節點集區。
ComputeClasses 的 Autopilot 模式
ComputeClass 是 Kubernetes 自訂資源,可定義節點設定清單,例如機型或特徵集。您可以在 Kubernetes 工作負載規格中選取特定 ComputeClass。當選取 ComputeClass 的工作負載需要新節點時,GKE 會嘗試使用 ComputeClass 宣告的其中一個設定佈建節點。GKE 會依序嘗試 ComputeClass 中的每項設定,如果節點建立失敗,則會改用下一項設定。詳情請參閱「關於自訂 ComputeClass」。
如要在 GKE Standard 叢集中執行 Autopilot 工作負載,請在 ComputeClass 中啟用 Autopilot 模式,並在特定工作負載中選取該 ComputeClass。Google 會管理 GKE 為這些工作負載佈建的所有新節點,這與管理 Autopilot 叢集中的節點類似。Autopilot 模式的大部分優點和安全防護功能,都適用於這些工作負載和主機節點。
Autopilot 模式 ComputeClass 可讓叢集管理員更靈活地選擇要對叢集中的特定工作負載和基礎架構控管到什麼程度,例如:
- 您可以在 Autopilot 模式中執行特定工作負載,讓 GKE 全代管。
- 您可以完全掌控未使用 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 中,您可以為節點選取特定硬體 (例如 GPU 或機型),也可以讓 GKE 將 Pod 放在一般用途、容器最佳化的運算平台上。一般用途選項適用於大多數正式環境工作負載,不需要特定硬體就能順利執行。支援 x86 和 Arm 架構。
下表說明這些設定選項、如何在 ComputeClass 中選擇,以及這項選擇對計費模式的影響:
| 工作負載需求 | 建議的 ComputeClass 設定 | 計費模式 |
|---|---|---|
| 一般用途工作負載 | 使用具有
內建的 Autopilot ComputeClass 只會使用 |
依 Pod 計算的計費模式 |
| 需要特定硬體的工作負載 | 使用 ComputeClass,並採用任何可用的硬體設定規則,例如 |
依節點計算的計費模式 |
在 ComputeClasses 中設定 Autopilot
您可以在 Standard 叢集中使用 Autopilot 模式,方法是使用 GKE 提供的內建 Autopilot ComputeClass,或在您建立的任何自訂 ComputeClass 中啟用 Autopilot。以下各節將說明各個選項。
內建 Autopilot ComputeClass
GKE 會為您設定特定的 Autopilot ComputeClass。您可以在任何符合條件的叢集中選取這些內建 Autopilot 類別。Standard 叢集內建的 Autopilot ComputeClass 會使用 podFamily 優先順序規則,在容器最佳化運算平台上執行 Pod。詳情請參閱「關於 GKE 內建 ComputeClass」。
自訂 Autopilot ComputeClass
您可以在管理的任何自訂 ComputeClass 中啟用 Autopilot,方法是在 ComputeClass 規格中使用 autopilot 欄位。自訂 Autopilot ComputeClass 適用於下列情況:
- 工作負載有特定硬體需求,例如加速器。
- 您想修改特定節點選項 (例如設定可用區或套用污點),但仍想使用 Autopilot 容器最佳化運算平台。
如要在現有 ComputeClass 中啟用 Autopilot,請先刪除該 ComputeClass、更新設定,然後在叢集中重新建立 ComputeClass。更新 Autopilot ComputeClass 後,GKE 會為您部署的工作負載建立新節點,並套用變更。
如要進一步瞭解如何在自訂 ComputeClass 中啟用 Autopilot,請參閱「為 Autopilot Pod 選取特定硬體」。
定價
GKE 為 Autopilot ComputeClass 建立的節點和工作負載,適用 GKE Autopilot 定價。適用於特定工作負載的 Autopilot 計費模式,取決於 GKE 用於為該工作負載建立節點的 ComputeClass 優先順序規則。
下表說明 Standard 模式叢集中,不同 Autopilot ComputeClass 設定適用的計費模式:
| 不同 ComputeClass 設定的計費模式 | |
|---|---|
| 依 Pod 計算的計費模式 | 當 GKE 使用 podFamily 優先順序規則為工作負載建立節點時,系統會採用以 Pod 為準的計費模式。內建的 Autopilot ComputeClass 一律會採用以 Pod 為準的計費模式。 |
| 依節點計算的計費模式 | 如果 GKE 使用 ComputeClass 優先順序規則明確要求特定硬體 (例如特定機器家族或 GPU),則適用節點計費模式。 |
Autopilot 定價僅適用於使用 Autopilot ComputeClass 的工作負載和節點。Standard 模式叢集和您執行的任何其他節點集區,則繼續採用 GKE Standard 模式定價。
Autopilot 管理的節點預先設定
在 ComputeClasses 中啟用 Autopilot 模式之前,請先瞭解 GKE 建立的節點會如何執行 Autopilot 工作負載。Google 會在 Autopilot 節點中設定特定功能和安全性限制。因此,如果工作負載不符合 Autopilot 的安全性規定,即使在標準模式節點中部署及正常運作,也可能會遭到 Autopilot 模式拒絕。
下表說明會覆寫標準叢集中對應設定的功能設定。如果設定不在這個表格中,Autopilot 節點會使用 Standard 叢集設定。舉例來說,Workload Identity Federation for GKE 未列於這個表格,這表示 Standard 叢集的 Workload Identity Federation for GKE 設定,會套用至 GKE 建立的 Autopilot 節點。
| 功能 | 標準叢集層級設定 | Autopilot 代管節點設定 |
|---|---|---|
| 節點升級和維護 |
可自行設定: |
預先設定:
|
| 自動調度資源 | 可設定:自動調度資源設定檔 | 預先設定:optimize-utilization自動調度資源設定檔 |
| 網路 | 虛擬私有雲原生或路徑型 | 需要 VPC 原生叢集 |
| 安全性 |
可自行設定:
|
預先設定:
|
| 節點作業系統 |
可設定: |
預先設定:
|
| 節點開機磁碟 |
可設定: |
可自行設定:
|
| 節點中繼資料 |
|
|
Autopilot 工作負載的資源要求
為確保 Autopilot 工作負載有效率地運作,GKE 會對 Pod 中的 CPU、記憶體和臨時儲存空間要求,強制執行特定最小值和最大值。如果 Pod 未明確要求其中一項資源,GKE 也會對 Pod 套用預設要求。GKE Autopilot 工作負載的最小、最大和預設資源需求,會因 Pod 使用的硬體類型而異。
如果未要求暫時儲存空間,則所有 ComputeClass 和硬體選項的暫時儲存空間預設值都相同。詳情請參閱「預設資源要求」。
下表提供 Pod 要求的 CPU 和記憶體需求連結,具體取決於硬體類型:
| 資源類型 | 要求數量下限和上限 | 預設要求 |
|---|---|---|
| 一般用途 Pod |
|
|
| GPU 和 TPU | 視硬體加速器的類型和數量而定。詳情請參閱「加速器最小值和最大值」。 | 沒有預設要求。 |
| 特定 Compute Engine 機型和機器家族 |
|
對於任何 Compute Engine 機型或機器家族,請參閱「ComputeClass 的預設要求」表格中「一般用途」列的預設要求。 |