本頁說明 Google Kubernetes Engine (GKE) 在叢集中安裝的 ComputeClass。您會瞭解每個內建 ComputeClass 的名稱、可用性和節點設定。本頁面適用於平台工程師和應用程式操作員,協助他們瞭解可用的 ComputeClass,以及特定工作負載最適合的類別。
您應該已熟悉 ComputeClasses。
內建 ComputeClass 總覽
許多 GKE 工作負載都是一般用途工作負載,不需要特殊硬體,例如網路伺服器或小型批次工作。對於這些工作負載,優先事項通常是減少與手動管理節點基礎架構和自動調度資源設定相關的負擔。
GKE 提供多種內建 ComputeClass,適用於各種用途,例如在 Standard 叢集中執行 Autopilot 工作負載,或在 Spot VM 上執行容錯一般用途工作負載。如果工作負載不需要特定硬體 (例如 GPU) 或特定節點設定 (例如 Linux sysctl 旗標),請使用內建的 ComputeClass。如果工作負載需要更專業的硬體,請使用自訂 ComputeClass。
GKE 內建的 ComputeClass
下表說明 GKE 提供的內建 ComputeClass:
| 內建 ComputeClass | |
|---|---|
autopilot |
建立使用 Autopilot 容器最佳化運算平台的隨選 x86 節點。 這個 ComputeClass 是任何 GKE 版本中 Autopilot 叢集的預設值,但在特定 GKE 版本中可明確選取。 這是 Autopilot ComputeClass,代表 GKE 會為您管理節點,即使在 Standard 叢集中也一樣。您可以使用這個 ComputeClass,在 Standard 叢集中執行 Autopilot 模式工作負載。 適用於執行 GKE 1.34.1-gke.1829001 以上版本的 Autopilot 叢集和 Standard 叢集。 |
autopilot-spot |
建立使用 Autopilot 容器最佳化運算平台的 Spot VM。根據預設,這個 ComputeClass 會套用至 Autopilot 叢集中,在 Pod 規格明確選取 Spot VM 的任何 Pod。 這是 Autopilot ComputeClass,代表即使在 Standard 叢集中,GKE 也會為您管理節點。您可以使用這個 ComputeClass,在 Standard 叢集中執行 Autopilot 模式工作負載。 適用於執行 GKE 1.34.1-gke.1829001 以上版本的 Autopilot 叢集和 Standard 叢集。 |
autopilot-arm |
建立隨選 Arm 節點,使用 Autopilot 容器最佳化運算平台。這個平台不分代別,因此不會綁定特定機器家族。這與指定 C4A、N4A 或 T2A 等機器系列不同。建議使用 適用於 Autopilot 叢集 (GKE 1.35.3-gke.1389000 以上版本),以及使用 Autopilot ComputeClasses 的 Standard 叢集 (GKE 1.36.0-gke.3302001 以上版本)。這項功能僅適用於下列地區: |
autopilot-arm-spot |
建立使用 Autopilot 容器最佳化 Arm 平台的 Spot VM。建議您使用這個 ComputeClass 處理容錯或批次 Arm 工作負載,以最佳化成本。 適用於 Autopilot 叢集和使用 Autopilot ComputeClasses 的 Standard 叢集 (GKE 1.36.0-gke.3302001 以上版本)。這項功能僅適用於下列地區: |
如要查看這些內建 ComputeClass 的規格,請使用 kubectl get 指令:
kubectl get computeclass COMPUTECLASS_NAME -o yaml
定價
Autopilot 會根據 Pod 要求的 ComputeClass,以不同方式計費。詳情請參閱 Google Kubernetes Engine 定價。
在工作負載中內建 ComputeClass 選取功能
部署 GKE 工作負載時,如要選取內建或自訂 ComputeClass,請在工作負載資訊清單中選取 cloud.google.com/compute-class 標籤,如下列範例所示:
在這個範例中,COMPUTE_CLASS 是運算類別的名稱。在特定工作負載中,您只能選取一個 ComputeClass。
部署選取 ComputeClass 的工作負載時,GKE 會使用該 ComputeClass 的屬性建立新節點,以便執行 Pod。舉例來說,如果您在工作負載中選取 autopilot 內建的 ComputeClass,GKE 就會在 Autopilot 模式中執行這些 Pod。
預設套用內建 ComputeClass
您可以將叢集中的任何 ComputeClass 設為特定命名空間或整個叢集的預設 ComputeClass。如果 Pod 未明確選取其他 ComputeClass,GKE 就會將該 ComputeClass 套用至這些 Pod。如要將內建 ComputeClass 設為預設,請執行下列任一操作:
- 如要將 ComputeClass 設為命名空間預設值,請在命名空間中為 ComputeClass 新增標籤。
- 如要將 ComputeClass 設為叢集層級的預設值,請建立名為
default的新 ComputeClass,並採用與內建 ComputeClass 相同的優先順序規則。
如要進一步瞭解如何將 ComputeClass 設為命名空間或叢集的預設值,請參閱「預設將 ComputeClass 套用至 Pod」。
舉例來說,假設某個標準叢集執行許多一般用途的 Pod,例如網頁伺服器或小型批次作業。如果您將模仿 autopilot 內建 ComputeClass 的 ComputeClass 設為叢集的預設值,這些一般用途工作負載就會在 Autopilot 容器最佳化運算平台上執行,且無須變更工作負載規格。需要不同硬體的工作負載,可以為特定 ComputeClass 新增選取器。