本頁說明 Kubernetes 功能閘道在 Google Kubernetes Engine (GKE) 中的運作方式。Feature gate 是一組鍵/值組合,可切換 Kubernetes 功能。您只能透過 Alpha 版叢集,在 GKE 中修改 Kubernetes 功能閘道。詳情請參閱「Alpha 版叢集」。
Kubernetes 專案會隨著時間推移,在各階段發布新功能。功能可能處於 Alpha 版、Beta 版或正式發布版階段。
如要查看叢集 (執行 1.26 以上版本) 啟用的功能,請檢查功能閘道狀態。
或者,如要驗證與叢集控制層或節點版本對應的功能階段,請查看 Kubernetes 說明文件中的「Alpha 版或 Beta 版功能的功能閘」表格。
GKE 中 Kubernetes 的正式發布功能
GKE 預設會啟用正式發行 (又稱為穩定版) 的 Kubernetes 功能,且無法停用。
GKE 中的 Beta 版 Kubernetes 功能
GKE 通常會啟用 Beta 版功能。GKE 可能會停用特定版本的 Beta 版功能,以解決該功能的已知問題、確保回溯相容性,或是因為該功能在 GKE 中的整合和資格認證尚未完成。
如要在執行 1.26 以上版本的 GKE 叢集中使用 Beta 版 Kubernetes 功能,請檢查功能閘道狀態,確認已啟用這項功能。如果叢集執行的版本低於 1.26,您可以測試這項功能,確認是否已啟用。
如果無法確認 GKE 叢集控制層或節點版本是否已啟用 Beta 版功能,請與 Cloud Customer Care 聯絡。
搭配 GKE 叢集使用的 Kubernetes Beta 版 API
除了 Kubernetes Beta 版功能,您也可以搭配 GKE 叢集使用 Kubernetes Beta 版 API。如果是 1.24 以上版本導入的 Beta 版 API,您必須為每個叢集的每個資源設定 Beta 版 API。詳情請參閱在 GKE 叢集中使用 Kubernetes Beta 版 API。
GKE 中的 Alpha 版 Kubernetes 功能
在所有 GKE 叢集中,系統預設會停用 Alpha 版 Kubernetes 功能,Alpha 版叢集除外。GKE 可能會在特定控制層版本中啟用特定 Alpha 版功能。
在 Alpha 版叢集中,系統會啟用 Kubernetes 版本提供的所有 Alpha 版功能閘道,以及部分 Beta 版功能閘道 (視預設值而定)。如要進一步瞭解特定版本可用的功能閘道,以及預設啟用的 Beta 版功能,請參閱 Kubernetes 說明文件中的「Alpha 版或 Beta 版功能的功能閘道」。您也可以選擇性地修改特定功能閘道。詳情請參閱「功能閘道和 Alpha 版叢集」。
如要啟用所有 Alpha 版 Kubernetes 功能,請建立「Alpha 版 Standard 叢集」。
檢查功能閘道狀態
如果叢集執行的是 1.26 以上版本,可以執行 kubectl
指令,檢查已啟用的功能。
檢查 GKE 叢集的特徵閘道狀態:
- 安裝及設定 kubectl 存取權
執行下列指令:
kubectl get --raw /metrics | grep kubernetes_feature_enabled
輸出內容會顯示功能閘道的名稱、對應階段 (
""
為正式發布),以及功能閘道是否已啟用,如下例所示。1
代表啟用,0
代表停用。請參閱以下範例輸出內容:
# HELP kubernetes_feature_enabled [BETA] This metric records the data about the stage and enablement of a k8s feature. # TYPE kubernetes_feature_enabled gauge kubernetes_feature_enabled{name="APIListChunking",stage=""} 1 kubernetes_feature_enabled{name="APIPriorityAndFairness",stage=""} 1 kubernetes_feature_enabled{name="APIResponseCompression",stage="BETA"} 1 kubernetes_feature_enabled{name="APISelfSubjectReview",stage=""} 1 kubernetes_feature_enabled{name="APIServerIdentity",stage="BETA"} 1 kubernetes_feature_enabled{name="APIServerTracing",stage="BETA"} 1 kubernetes_feature_enabled{name="AdmissionWebhookMatchConditions",stage="BETA"} 1 ...
這項輸出內容表示
APIResponseCompression
功能已啟用,且處於 Beta 版階段。