Puertas de funciones

En esta página, se explica cómo funcionan los interruptores de función de Kubernetes en Google Kubernetes Engine (GKE). Los interruptores de funciones son un conjunto de pares clave-valor que describen las funciones de Kubernetes. Solo puedes modificar los interruptores de funciones de Kubernetes en GKE con clústeres alfa. Para obtener más información, consulta Clústeres alfa.

El proyecto de Kubernetes lanza funciones nuevas en las etapas con el tiempo. Las características pueden estar en las etapas Alfa, Beta o DG.

Para ver qué funciones están habilitadas en tu clúster que ejecuta la versión 1.26 o una posterior, verifica el estado del interruptor de función.

Alternativamente, para verificar la etapa de una característica correspondiente a la versión del plano de control o los nodos de tu clúster, verifica la tabla de interruptores de función para funciones alfa o beta en la documentación de Kubernetes.

Funciones de GA de Kubernetes en GKE

La DG (también conocida como estable) de Kubernetes están habilitadas en GKE de forma predeterminada y no se pueden inhabilitar.

Funciones Beta de Kubernetes en GKE

Las funciones Beta suelen estar habilitadas de forma predeterminada en GKE. GKE puede inhabilitar una función Beta específica para una versión en particular para mitigar un problema conocido con la función, garantizar la compatibilidad con versiones anteriores o porque la integración y calificación de la función en GKE aún no se completaron.

Si deseas usar una función beta de Kubernetes en tu clúster de GKE que ejecute la versión 1.26 o una posterior, verifica el estado del interruptor de función para comprobar que esté habilitada. Si tu clúster ejecuta una versión anterior a la 1.26, puedes probar la función para verificar si está habilitada.

Comunícate con Atención al cliente de Cloud si no puedes verificar si la función beta está habilitada para la versión del nodo o el plano de control de tu clúster de GKE.

APIs beta de Kubernetes con clústeres de GKE

Además de las funciones beta de Kubernetes, también puedes usar las APIs beta de Kubernetes con clústeres de GKE. En el caso de las APIs beta que se introdujeron con la versión 1.24 o posterior, debes configurar las APIs beta por recurso y por clúster. Para obtener más información, consulta Usa las APIs beta de Kubernetes con clústeres de GKE.

Funciones de Kubernetes Alfa en GKE

Las características de Kubernetes Alfa están inhabilitadas de forma predeterminada en todos los clústeres de GKE, excepto en los clústeres alfa. GKE podría habilitar una función Alfa específica en una versión específica del plano de control.

Con los clústeres Alfa, se habilitan todas las puertas de funciones Alfa disponibles con la versión de Kubernetes y algunas puertas de funciones Beta, según el valor predeterminado. Para obtener más información sobre qué interruptores de funciones están disponibles con versiones específicas y qué funciones beta están habilitadas de forma predeterminada, consulta Interruptores de funciones para características alfa o beta en la documentación de Kubernetes. También puedes modificar de forma selectiva marcas de funciones específicas. Para obtener más información, consulta Puertas de funciones y clústeres alfa.

Para habilitar todas las funciones Alfa de Kubernetes, crea un clúster Standard Alfa.

Verifica el estado del interruptor de función

En los clústeres que ejecutan la versión 1.26 o una posterior, puedes ejecutar un comando kubectl para verificar qué funciones están habilitadas.

Verifica el estado del interruptor de función para tu clúster de GKE:

  1. Instala y configura el acceso a kubectl
  2. Ejecuta el siguiente comando:

    kubectl get --raw /metrics | grep kubernetes_feature_enabled
    

    El resultado, como en el siguiente ejemplo, muestra el nombre del interruptor de función, la etapa correspondiente ("" es DG) y si el interruptor de función está habilitada. 1 significa habilitado y 0 significa inhabilitado.

    Consulta el siguiente ejemplo de resultado:

    # 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
    ...
    

    Este resultado indica que, por ejemplo, la función APIResponseCompression está habilitada y en etapa beta.

¿Qué sigue?