Instale las CRD de Managed Gateway API en Azure Kubernetes Service (AKS)

La API de puerta de enlace de Kubernetes es una especificación para la administración del tráfico en clústeres de Kubernetes. La especificación mejora la API de entrada, que carece de un enfoque unificado y independiente del proveedor para el enrutamiento de tráfico avanzado.

La instalación de la API de puerta de enlace administrada para Azure Kubernetes Service (AKS) instala las definiciones de recursos personalizados (CRD) para la API de puerta de enlace de Kubernetes. Puede instalar estos CRD independientemente de cualquier implementación específica de la API de puerta de enlace.

Nota:

La instalación de Managed Gateway API solo instala y administra los CRD del Gateway API. Puede usar estos CRD con su propia implementación de API de puerta de enlace, pero la compatibilidad de AKS solo se aplica cuando se usa la instalación de la API de puerta de enlace administrada con un complemento o extensión de AKS compatible que implementa la API de puerta de enlace. AKS no admite servidores proxy BYO ni otras implementaciones de API de puerta de enlace autoadministradas.

Prerrequisitos

  • Si ya tiene una instalación existente de las CRD de la API de puerta de enlace en el clúster, debe reunir los siguientes requisitos:

  • Opcionalmente, puede implementar un complemento o una extensión de AKS que implemente la API de puerta de enlace, como el complemento Istio. Si usa el complemento Istio, debe utilizar la revisión menor asm-1-26 o posterior para garantizar la compatibilidad con la instalación de la API de puerta de enlace administrada. Para implementar el complemento Istio, consulte Implementación del complemento de malla de servicio basado en Istio para Azure Kubernetes Service (AKS).

Actualización de la versión de la CLI de Azure

Debe usar azure-cli la versión 2.86.0 o superior. Ejecute az --version para buscar la azure-cli versión y ejecute az upgrade para actualizar.

Versiones admitidas de Kubernetes para las versiones de paquetes del Gateway API

En la tabla siguiente se describen las versiones de Kubernetes admitidas para el clúster de AKS para cada versión del paquete de API de puerta de enlace para el standard canal:

Versión del paquete de API de pasarela Versiones de Kubernetes compatibles.
v1.2.1 v1.26.0: v1.33.x
v1.3.0 v1.34.x
v1.4.1 v1.35.x
v1.5.1 v1.36.0+

Nota:

Si actualiza el clúster de AKS a una nueva versión menor después de instalar los CRD de la API de puerta de enlace administrada, los CRD se actualizan automáticamente a la nueva versión compatible del paquete de API de puerta de enlace para esa versión de Kubernetes. Por ejemplo, si pasa de AKS v1.33.0 a v1.34.0 y anteriormente tenía instalada la API de puerta de enlace administrada para la versión del paquete v1.2.1, las CRD se actualizan automáticamente a la versión v1.3.0 del paquete.

Crear un nuevo clúster de AKS con CRD de API de puerta de enlace administrada instaladas

  • Cree un nuevo clúster de AKS con las CRD de API de puerta de enlace administrados instalados mediante el comando az aks create con el indicador --enable-gateway-api. También puede habilitar opcionalmente un complemento compatible, como el complemento de malla de servicio Istio, en el mismo comando. El siguiente comando de ejemplo crea un nuevo clúster de AKS con la instalación de la API de puerta de enlace administrada y el complemento de malla de servicio Istio habilitado:

    az aks create --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api --enable-azure-service-mesh
    

Instalar las CRDs de la API de puerta de enlace administrada en un clúster de AKS existente

  • Instale las CRD de la API de puerta de enlace administrada en un clúster existente mediante el comando az aks update con el indicador --enable-gateway-api.

    az aks update --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api
    

Comprobar la instalación de CRD de la API de puerta de enlace administrada

  1. Vea los CRD instalados en el clúster mediante el siguiente kubectl get crds comando:

    kubectl get crds | grep "gateway.networking.k8s.io"
    

    La salida debe mostrar los CRD instalados, que forman parte de la especificación de la API de puerta de enlace de Kubernetes. Por ejemplo:

    gatewayclasses.gateway.networking.k8s.io                           2025-08-29T17:52:36Z
    gateways.gateway.networking.k8s.io                                 2025-08-29T17:52:36Z
    grpcroutes.gateway.networking.k8s.io                               2025-08-29T17:52:36Z
    httproutes.gateway.networking.k8s.io                               2025-08-29T17:52:37Z
    referencegrants.gateway.networking.k8s.io                          2025-08-29T17:52:37Z
    
  2. Compruebe que los CRD tienen las anotaciones esperadas y la versión de agrupación coincide con la versión de Kubernetes esperada para el clúster mediante el siguiente kubectl get crds comando:

    kubectl get crd gateways.gateway.networking.k8s.io -ojsonpath={.metadata.annotations} | jq
    

    La salida debe mostrar las anotaciones esperadas, incluida la anotación gateway.networking.k8s.io/bundle-version con la versión del paquete esperada para la versión de Kubernetes del clúster. Por ejemplo, si el clúster ejecuta Kubernetes v1.33.0, la versión de agrupación esperada es v1.2.1y la salida debe ser similar a la siguiente:

    {
    "api-approved.kubernetes.io": "https://github.com/kubernetes-sigs/gateway-api/pull/3328",
    "app.kubernetes.io/managed-by": "aks",
    "app.kubernetes.io/part-of": <hash>,
    "gateway.networking.k8s.io/bundle-version": "v1.2.1",
    "gateway.networking.k8s.io/channel": "standard"
    }
    

Desinstalar CRD de la API de puerta de enlace administrada en un clúster de AKS

  • Desinstale las CRD de la API de puerta de enlace administrada en un clúster existente mediante el comando az aks update con el indicador --disable-gateway-api.

    az aks update --resource-group myResourceGroup --name myAKSCluster --disable-gateway-api