本頁說明如何使用快速啟動節點,在 Google Kubernetes Engine (GKE) 叢集中更快部署及擴展工作負載。如果工作負載使用相容的設定,GKE 會盡可能在 Autopilot 模式中使用快速啟動節點。
快速啟動 GKE 節點可大幅縮短相容機器系列的啟動時間。啟動時間縮短可帶來下列好處:
- 冷啟動速度更快
- 更快速的自動調度資源
- 改善 Pod 排程長尾延遲
- 提升基礎架構成本效益
有了快速啟動節點,GKE 會預先初始化硬體資源,縮短啟動時間。預先初始化的資源會盡可能提供,系統可能只會部分放送熱門廣告。如果沒有快速啟動節點,系統會視需求初始化資源,並在正常啟動時間提供節點。
需求條件
快速啟動節點不需要額外設定。如果工作負載使用相容的設定,GKE 會自動使用快速啟動節點。如要使用快速啟動節點,必須符合下列所有條件:
- 使用 Autopilot 叢集,或在標準叢集中以 Autopilot 模式執行工作負載。
- 請勿使用與快速啟動節點不相容的功能。詳情請參閱「限制」一節。
- 請使用下表所述的任一設定:
| 運算資源 | 發布版本和版本支援 | 支援的開機磁碟類型和大小 |
|---|---|---|
| Autopilot 容器最佳化運算平台 |
|
pd-balanced 磁碟,最多 100 GiB |
| G2 機器系列 |
|
pd-balanced 個磁碟,每個磁碟最多 500 GiB |
限制
下列功能與快速啟動 GKE 節點不相容。如果您使用上述任一功能,GKE 會以一般啟動時間佈建節點:
- 在 GKE 1.33.0-gke.1304000 之前的版本上,使用
DEFAULTGPU 驅動程式版本。如果是 1.33.0-gke.1304000 以上版本,LATEST和DEFAULT都適用於快速啟動的節點。 - 1.33.2-gke.1015000 之前的版本次要開機磁碟。
- 客戶自行管理的加密金鑰 (CMEK)
- Spot VM
- 本機 SSD
- 刊登位置政策
- 支援多網路
Autopilot GPU 工作負載
在 Autopilot 模式中要求相容的 GPU,節點啟動時間最多可加快四倍,Pod 排程時間最多可加快兩倍,因為 Autopilot GPU 工作負載可使用快速啟動的節點。
以下是一些使用範例。不過,只要 Pod 符合「需求條件」一節中的條件,就能與快速啟動節點相容。
ComputeClass
在 ComputeClass 中要求相容的加速器類型和數量,如下列範例所示:
apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
name: ACCELERATOR_COMPUTE_CLASS_NAME
spec:
priorities:
- gpu:
type: ACCELERATOR_TYPE
count: ACCELERATOR_COUNT
nodePoolAutoCreation:
enabled: true
在 Pod 中選取這個 ComputeClass 時 (如下例所示),GKE 會使用快速啟動節點:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
nodeSelector:
# Select a ComputeClass that requests compatible GPUs
cloud.google.com/compute-class: ACCELERATOR_COMPUTE_CLASS_NAME
containers:
- name: my-container
image: gcr.io/google_containers/pause
resources:
limits:
nvidia.com/gpu: ACCELERATOR_COUNT
替換下列值:
ACCELERATOR_COMPUTE_CLASS_NAME:要求加速器的 ComputeClass 名稱。ACCELERATOR_TYPE:加速器類型。ACCELERATOR_COUNT:Pod 需要的加速器數量。這個值必須小於或等於 ComputeClass 中spec.priorities.gpu.count欄位的值。POD_NAME:Pod 的名稱。
如要進一步瞭解 ComputeClass,請參閱關於自訂運算類別。
Pod 規格
在 Pod 規格中選取相容的加速器類型和數量,如下列範例所示:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
nodeSelector:
cloud.google.com/gke-accelerator: ACCELERATOR_NAME
containers:
- name: my-container
image: gcr.io/google_containers/pause
resources:
limits:
nvidia.com/gpu: ACCELERATOR_COUNT
替換下列值:
POD_NAME:Pod 的名稱。ACCELERATOR_NAME:Pod 要求的加速器名稱。ACCELERATOR_COUNT:Pod 需要的加速器數量。
定價
您可以在 GKE Autopilot 中使用快速啟動節點,無需額外付費。如要進一步瞭解 GKE Autopilot 定價,請參閱 Google Kubernetes Engine 定價頁面的 Autopilot 模式部分。