Instalar CRDs de API do Gateway Gerenciado no AKS (Serviço de Kubernetes do Azure)

A API do Gateway do Kubernetes é uma especificação para o gerenciamento de tráfego em clusters do Kubernetes. A especificação aprimora a API de Entrada, que não tem uma abordagem unificada e independente do provedor para roteamento de tráfego avançado.

A instalação da API de Gateway Gerenciado para o Serviço de Kubernetes do Azure (AKS) instala as CRDs (definições de recurso personalizadas) para a API de Gateway do Kubernetes. Você pode instalar esses CRDs independentemente de qualquer implementação de API de Gateway específica.

Observação

A instalação da API Gerenciada do Gateway instala e gerencia apenas os CRDs da Gateway API. Você pode usar esses CRDs com sua própria implementação de API de Gateway, mas o suporte do AKS só se aplica quando você usa a instalação da API do Gateway Gerenciado com um complemento ou extensão do AKS com suporte que implementa a API do Gateway. Proxies BYO ou outras implementações de API de Gateway autogerenciadas não são compatíveis com o AKS.

Pré-requisitos

  • Se você já tiver uma instalação existente dos CRDs da API de Gateway em seu cluster, deverá atender aos seguintes requisitos:

    • Somente CRDs de canal standard podem ser instalados em seu cluster. Os CRDs do canal Experimental não são permitidos e você deve desinstalá-los antes de habilitar a API do Gateway Gerenciado.
    • A versão do pacote de API do Gateway deve ser compatível com a versão do Kubernetes do cluster. Para obter mais informações, consulte a seção Versões do Kubernetes compatíveis com versões do pacote de API do Gateway.
  • Opcionalmente, você pode implantar um complemento ou extensão do AKS que implementa a API do Gateway, como o complemento istio. Se usar o complemento Istio, você deverá estar em uma revisão secundária ou posterior do asm-1-26 para garantir a compatibilidade com a instalação da API do Gateway Gerenciado. Para implantar o complemento istio, consulte Implantar complemento de malha de serviço baseado em Istio para o AKS (Serviço de Kubernetes do Azure).

Atualizar a versão da CLI do Azure

Você deve usar azure-cli versão 2.86.0 ou superior. Execute az --version para localizar sua azure-cli versão e execute az upgrade para atualizar.

Versões do Kubernetes com suporte para versões do pacote de API do Gateway

A tabela a seguir descreve as versões do Kubernetes com suporte para o cluster do AKS para cada versão do pacote de API do Gateway para o standard canal:

Versão do pacote de API do Gateway Versões compatíveis do Kubernetes
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+

Observação

Se você atualizar o cluster do AKS para uma nova versão menor depois de instalar os CRDs da API do Gateway Gerenciado, os CRDs atualizarão automaticamente para a nova versão de pacote da API do Gateway com suporte para essa versão do Kubernetes. Por exemplo, se você atualizar do AKS v1.33.0 para v1.34.0 e anteriormente tiver a API do Gateway Gerenciado instalada para a versão do pacote v1.2.1, os CRDs atualizarão automaticamente para a versão do pacote v1.3.0.

Criar um cluster do AKS com CRDs de API de Gateway Gerenciado instalados

  • Crie um novo cluster do AKS com as CRDs da API de Gateway Gerenciado instaladas usando o comando az aks create com o sinalizador --enable-gateway-api. Opcionalmente, você também pode habilitar um complemento com suporte, como o complemento de malha de serviço Istio, no mesmo comando. O comando de exemplo a seguir cria um novo cluster do AKS com a instalação da API do Gateway Gerenciado e o complemento de malha de serviço Istio habilitado:

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

Instalar API de Gateway Gerenciado CRDs em um cluster existente do AKS

  • Instale as CRDs da API do Gateway Gerenciado em um cluster existente usando o comando az aks update com o sinalizador --enable-gateway-api.

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

Verificar a instalação da CRD da API do Gateway Gerenciado

  1. Exiba os CRDs instalados em seu cluster usando o seguinte kubectl get crds comando:

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

    A saída deve mostrar os CRDs instalados, que fazem parte da especificação da API do Gateway do Kubernetes. Por exemplo:

    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. Verifique se os CRDs têm as anotações esperadas e se a versão do pacote corresponde à versão esperada do Kubernetes para seu cluster usando o seguinte kubectl get crds comando:

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

    A saída deve mostrar as anotações esperadas, incluindo a anotação gateway.networking.k8s.io/bundle-version com a versão do pacote esperada para a versão do Kubernetes do cluster. Por exemplo, se o cluster estiver executando o Kubernetes v1.33.0, a versão do pacote esperada será v1.2.1e a saída deverá ser semelhante à seguinte:

    {
    "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 os CRDs de API do Managed Gateway em um cluster do AKS

  • Desinstale as CRDs da API do Gateway Gerenciado em um cluster existente usando o comando az aks update com o sinalizador --disable-gateway-api.

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