Installare le CRD della Gateway API gestita in Servizio Azure Kubernetes (AKS)

L'API del gateway Kubernetes è una specifica per la gestione del traffico nei cluster Kubernetes. La specifica migliora l'API in ingresso, che non dispone di un approccio unificato e indipendente dal provider per il routing del traffico avanzato.

L'installazione della Managed Gateway API per il servizio Servizio Azure Kubernetes (AKS) installa le definizioni delle risorse personalizzate (CRD) per l'API del gateway Kubernetes. È possibile installare questi CDR indipendentemente da qualsiasi implementazione specifica dell'API gateway.

Annotazioni

L'installazione della Managed Gateway API installa e gestisce solo i CRD del Gateway API. È possibile usare questi CRD con l'implementazione dell'API Gateway personale, ma il supporto del servizio Azure Kubernetes si applica solo quando si usa l'installazione dell'API Gateway gestita con un componente aggiuntivo o un'estensione supportata da Azure Kubernetes che implementa l'API Gateway. I proxy BYO o altre implementazioni dell'API del Gateway gestite autonomamente non sono supportate da AKS (Azure Kubernetes Service).

Prerequisiti

  • Se nel cluster è già presente un'installazione esistente dei CRD dell'API Gateway, è necessario soddisfare i seguenti requisiti:

    • Solo le CRD del canale standard possono essere installate nel cluster. Experimental I CDR del canale non sono consentiti ed è necessario disinstallarli prima di abilitare l'API del gateway gestito.
    • La versione del bundle dell'API gateway deve essere compatibile con la versione kubernetes del cluster. Per altre informazioni, vedere la sezione Versioni del bundle dell'API gateway supportate per Kubernetes .
  • Facoltativamente, è possibile distribuire un add-on o un'estensione AKS che implementa la Gateway API, come il componente aggiuntivo Istio. Se si usa il componente aggiuntivo Istio, è necessario eseguire una revisione di versione minore asm-1-26 o successiva per garantire la compatibilità con l'installazione dell'API del gateway gestito. Per distribuire il componente aggiuntivo Istio, vedere Distribuire il componente aggiuntivo Mesh basato su Istio per Servizio Azure Kubernetes (AKS).

Aggiornare la versione dell'interfaccia della riga di comando di Azure

È necessario usare la versione azure-cli o una successiva 2.86.0. Eseguire az --version per trovare la azure-cli versione ed eseguire az upgrade per eseguire l'aggiornamento.

Versioni di Kubernetes supportate per le versioni del bundle dell'API gateway

La tabella seguente illustra le versioni di Kubernetes supportate per il proprio cluster AKS per ogni versione del bundle Gateway API per il canale standard.

Versione del pacchetto dell'API gateway Versioni di Kubernetes supportate
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+

Annotazioni

Se si aggiorna il cluster AKS a una nuova versione secondaria dopo aver installato i CRD dell'API del Gateway Gestito, i CRD verranno aggiornati automaticamente alla nuova versione supportata del bundle dell'API Gateway per quella versione di Kubernetes. Ad esempio, se si esegue l'aggiornamento dal servizio Azure Kubernetes v1.33.0 a v1.34.0 e in precedenza è stata installata l'API del gateway gestito per la versione del bundle v1.2.1, le CRD vengono automaticamente aggiornate alla versione del bundle v1.3.0.

Crea un nuovo cluster AKS con i CRD dell'API del gateway gestito installati

  • Creare un nuovo cluster del servizio Azure Kubernetes con le CRD dell'API del gateway gestito installate usando il comando az aks create con il flag --enable-gateway-api. Facoltativamente, è anche possibile abilitare un componente aggiuntivo supportato, ad esempio il componente aggiuntivo Mesh del servizio Istio, nello stesso comando. Il seguente comando di esempio crea un nuovo cluster AKS con l'installazione dell'API del gateway gestito e il componente aggiuntivo Istio service mesh abilitato.

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

Installare i CRD dell'API del gateway gestito su un cluster AKS esistente.

  • Installare le CRD dell'API del gateway gestito in un cluster esistente usando il comando az aks update con il flag --enable-gateway-api.

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

Verificare l'installazione CRD dell'API del gateway gestito

  1. Visualizzare i CRL installati nel cluster usando il comando seguente kubectl get crds :

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

    L'output dovrebbe mostrare le CDR installate, che fanno parte della specifica dell'API del gateway Kubernetes. Per esempio:

    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. Verificare che i CRL abbiano le annotazioni previste e che la versione del bundle corrisponda alla versione di Kubernetes prevista per il cluster usando il comando seguente kubectl get crds :

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

    L'output dovrebbe mostrare le annotazioni previste, inclusa l'annotazione gateway.networking.k8s.io/bundle-version con la versione del bundle prevista per la versione Kubernetes del cluster. Ad esempio, se il cluster esegue Kubernetes v1.33.0, la versione prevista del bundle è v1.2.1e l'output dovrebbe essere simile al seguente:

    {
    "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"
    }
    

Disinstallare i CRD dell'API del Gateway gestito su un cluster AKS

  • Disinstallare le CRD dell'API del gateway gestito in un cluster esistente usando il comando az aks update con il flag --disable-gateway-api.

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