本頁面說明 Kubernetes feature gate 在 Google Kubernetes Engine (GKE) 中的運作方式。Feature gate 是一組鍵/值配對,可切換 Kubernetes 功能。在 GKE 中,您只能透過 Alpha 版叢集修改 Kubernetes feature gate。詳情請參閱「Alpha 叢集」。
Kubernetes 專案會隨著時間,分階段發布新功能。功能可能處於 Alpha 版、Beta 版或正式發布版階段。
如要查看叢集 (執行 1.26 以上版本) 啟用的功能,請檢查功能閘道狀態。
或者,如要驗證與叢集控制層或節點版本對應的功能階段,請查看 Kubernetes 說明文件中的「Alpha 版或 Beta 版功能的 Feature Gate」表格。
GKE 中 Kubernetes 的正式發布功能
GKE 預設會啟用 GA (又稱穩定) Kubernetes 功能,且無法停用。
GKE 中的 Beta 版 Kubernetes 功能
GKE 通常會預設啟用 Beta 版功能。 為減輕功能已知問題的影響、確保回溯相容性,或因為功能在 GKE 中的整合和資格認證尚未完成,GKE 可能會針對特定版本停用特定 Beta 版功能。
如要在執行 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。詳情請參閱「搭配使用 Kubernetes Beta 版 API 與 GKE 叢集」。
GKE 中的 Alpha 版 Kubernetes 功能
除了 Alpha 版叢集,所有 GKE 叢集都會預設停用 Alpha 版 Kubernetes 功能。GKE 可能會在特定控制層版本中啟用特定 Alpha 版功能。
在 Alpha 版叢集中,系統會啟用 Kubernetes 版本提供的所有 Alpha 版功能 feature gate,並根據預設值啟用部分 Beta 版 feature gate。如要進一步瞭解特定版本可用的 feature gate,以及預設啟用的 Beta 版功能,請參閱 Kubernetes 說明文件中的「Alpha 或 Beta 版功能的 feature gate」。您也可以選擇性修改特定 feature gate。詳情請參閱「Feature gate 和 Alpha 版叢集」。
如要啟用所有 Alpha 版 Kubernetes 功能,請建立 Alpha 版 Standard 叢集。
檢查功能閘道狀態
如果叢集執行 1.26 以上版本,您可以執行 kubectl 指令,查看已啟用的功能。
檢查 GKE 叢集的 feature gate 狀態:
- 安裝及設定 kubectl 存取權
執行下列指令:
kubectl get --raw /metrics | grep kubernetes_feature_enabled輸出內容會顯示 feature gate 的名稱、對應階段 (
""為正式發布版),以及 feature gate 是否已啟用,如下例所示。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 版階段。
後續步驟
- 如需目前 Kubernetes 功能的完整清單,請參閱「Feature gates」。
- 如需完整的 GKE 功能清單,請參閱 GKE 版本資訊。