特徵門檻


本頁說明 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 叢集的特徵閘道狀態:

  1. 安裝及設定 kubectl 存取權
  2. 執行下列指令:

    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 版階段。

後續步驟

  • 如需目前 Kubernetes 功能的完整清單,請參閱「功能閘道」。
  • 如需 GKE 功能的完整清單,請參閱 GKE 版本資訊