功能门控


本页面介绍 Kubernetes 特性门控在 Google Kubernetes Engine (GKE) 中的工作原理。功能门控是一组用于切换 Kubernetes 功能的键值对。您无法在 GKE 集群中修改 Kubernetes 功能门控。

Kubernetes 项目会随着时间的推移分阶段发布新功能。功能可以处于 Alpha 版alpha、Beta 版alpha或 GAalpha 阶段。

如需查看为运行 1.26 版或更高版本的集群启用了哪些功能,请检查功能门控状态

或者,如需验证与集群的控制平面或节点版本相对应的功能阶段,请查看 Kubernetes 文档中的 Alpha 版或 Beta 版功能门控表。

GKE 中的正式版 Kubernetes 功能

正式版(也称为稳定版)Kubernetes 功能在 GKE 上默认处于启用状态,且无法停用

GKE 中的 Beta 版 Kubernetes 功能

Beta 版功能通常默认在 GKE 中启用。GKE 可能会为特定版本停用特定 Beta 版功能,以缓解该功能的已知问题、确保向后兼容性,或者因为 GKE 中该功能的集成和资格尚未完成。

如果您想在运行 1.26 或更高版本的 GKE 集群中使用 Beta 版 Kubernetes 功能,请检查特性门控状态,确认该功能已启用。如果您的集群运行的版本低于 1.26,您可以通过测试该功能来检查该功能是否已启用。

如果您无法验证自己的 GKE 集群的控制平面或节点版本是否启用了某个 Beta 版功能,请与 Cloud Customer Care 联系

GKE 中的 Alpha 版 Kubernetes 功能

默认情况下,Alpha 版 Kubernetes 功能在所有 GKE 集群中都处于停用状态。GKE 可能在特定控制平面版本中启用特定的 Alpha 版功能。

要启用所有 Alpha 版 Kubernetes 功能,请创建一个 Alpha 版 Standard 集群

检查功能门控状态

对于运行 1.26 版或更高版本的集群,您可以运行 kubectl 命令来检查已启用哪些功能。

检查 GKE 集群的功能门控状态:

  1. 安装 kubectl 并配置 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 版本说明