本頁面可協助您選擇最適合工作負載的 Google Kubernetes Engine (GKE) 作業模式。如果您是平台管理員,正在考慮將 GKE 做為代管 Kubernetes 供應商,並想瞭解 Google Cloud提供的選項,歡迎參閱這個頁面。如要瞭解 GKE 做為平台是否最適合容器化應用程式,請參閱 GKE 總覽和 GKE 與 Cloud Run。
GKE 提供下列叢集作業模式:
- Autopilot 模式 (建議):GKE 會管理底層基礎架構,例如節點設定、自動調度資源、自動升級、基準安全性設定和基準網路設定。
- 標準模式:您需要管理底層基礎架構,包括設定個別節點。
叢集建立後,就無法從 Standard 模式轉換為 Autopilot 模式。建議您詳閱本頁內容,並視需要參閱「Autopilot 和 Standard 比較」,做出明智的選擇。
為何要使用 GKE Autopilot 模式
在 GKE Autopilot 叢集中,Google 會管理大部分的基礎架構,提供比 GKE Standard 模式更代管的 Kubernetes 體驗。Autopilot 叢集的預設設定經過最佳化調整,適用於多數正式環境工作負載。GKE Autopilot 預設會採用多項 Kubernetes 最佳做法,兼顧安全性、擴充性和成本效益。
在大多數情況下,建議您在 Autopilot 上執行正式環境工作負載。
Autopilot 提供預設設定,具有下列優點:
- 成本效益:您只需為工作負載執行時使用的運算資源付費。您不必為節點上未使用的容量、系統 Pod、作業系統費用或未排程的工作負載付費。
- 自動化:Google 會管理節點、為應用程式建立新節點,以及設定自動升級和修復功能。GKE 會根據流量自動調度節點和工作負載。
- 提升安全防護機制和可靠性:Autopilot 叢集預設會啟用多項 GKE 安全性設定和 Kubernetes 最佳做法。GKE 會在安全性修補程式推出時,自動套用至節點。
如要查看 GKE Autopilot 的完整優點清單,請參閱「關於 GKE Autopilot」。
為何選擇 GKE Standard 模式
在 Standard 模式中,您可以管理叢集和節點中的每項配置設定,包括管理節點集區 (具備相同特性的節點群組)。在共同責任模式下,控制層仍由 Google 管理,但您必須設定節點。您可以自行管理下列設定:
- 節點集區:建立及管理具有類似配置設定的節點群組。
- 安全性:GKE Standard 叢集預設會套用強化措施,但許多 GKE 安全性功能預設為停用,例如 Workload Identity Federation for GKE 和受防護的 GKE 節點。您可以手動啟用這些功能並設定。
- 排程:您必須監控及設計工作負載,讓 GKE 可以在節點上有效率地排程工作負載,盡量減少未使用的資源 (裝箱)。
- 調整資源配置:您必須設定及配置節點自動佈建,設定自動調整資源配置設定,並確保節點的資源不會過多或過少。
- 資源管理:您必須評估在標準叢集上執行的每個工作負載的資源需求,確保資源要求符合工作負載需求。
- 版本管理:在 Standard 中,自動升級 GKE 版本和註冊發布管道等最佳做法預設為關閉。您可以在建立或更新叢集時,設定自動升級和 GKE 版本。
價格差異
Autopilot 的定價模式與 Standard 不同,如下所示:
- Autopilot 模式:您只需要為工作負載執行時使用的運算資源付費。您不必為節點上未使用的資源、作業系統執行成本、未排程的工作負載或系統工作負載付費。詳情請參閱 Autopilot 定價。
- 標準模式:無論節點上是否執行 Pod,您都必須支付每個節點的運算資源費用。您需要為未使用的資源付費,因此應管理工作負載排程,盡量減少節點中的資源浪費。詳情請參閱標準定價。
如要確保標準叢集的資源用量效率維持在一致的水準,您必須持續監控叢集狀態。在 Autopilot 叢集中,GKE 會為您執行監控和管理作業。
在 Standard 叢集中,您需要為節點上未使用的運算資源付費。您可以透過裝箱來降低這些費用,也就是在每個節點上盡可能放置多個 Pod,避免浪費容量。裝箱需要持續管理工作負載,並自訂排程。Autopilot 叢集可讓您不必將工作負載裝箱,因為您只需要為工作負載使用的資源付費。
何時該使用「標準」而非「自動駕駛」
我們建議使用 Autopilot 模式執行大多數工作負載,但部分情況下,Autopilot 模式預設的強化和叢集設定可能無法達成您的需求條件。在下列情況下,建議使用 Standard 模式而非 Autopilot 模式:
您需要精細控管叢集和節點設定,包括直接使用 SSH 連線至節點。
您想安裝或修改節點本身執行的軟體,例如變更節點作業系統。
您想自訂節點系統設定,例如設定 Linux sysctl。
您想執行 Autopilot 限制的動作,例如在 GKE 管理的命名空間 (如
kube-system
) 中執行工作負載。建議您不要在這些命名空間中部署工作負載。您想使用 Standard 專屬的特定 GKE 功能,例如 Cloud TPU。
您想在開放原始碼 Kubernetes 中測試 Alpha 版功能。
您想在叢集中佈建額外未使用的容量。
除非您有上述特定需求,否則建議您為工作負載試用 Autopilot。如需互動式逐步導覽,瞭解如何設定 Autopilot 叢集並公開 hello-world
應用程式,請前往 Google Cloud 控制台中的 Autopilot 逐步導覽: