Instalar CRDs da API de Gateway Gerido no Azure Kubernetes Service (AKS)

A API do Kubernetes Gateway é uma especificação para gerenciamento de tráfego em clusters Kubernetes. A especificação reforça a Ingress API, que carece de uma abordagem unificada e independente do fornecedor para o encaminhamento avançado do tráfego.

A Instalação da API do Gateway Gerenciado para o Serviço Kubernetes do Azure (AKS) instala as Definições de Recursos Personalizados (CRDs) para a API do Gateway do Kubernetes. Pode instalar estes CRDs independentemente de qualquer implementação específica da API do Gateway.

Observação

A instalação da API do Gateway Gerido apenas instala e gere os CRDs da API do Gateway. Pode usar estes CRDs com a sua própria implementação da API Gateway, mas o suporte ao AKS só se aplica quando utiliza a instalação da API Managed Gateway com um add-on ou extensão AKS suportada que implemente a API do Gateway. As proxies BYO ou outras implementações de APIs de Gateway autogeridas não são suportadas pelo AKS.

Pré-requisitos

  • Se já tiver uma instalação existente dos CRDs da API Gateway no seu cluster, deve cumprir os seguintes requisitos:

    • standard os CRDs de canal podem ser instalados no seu cluster. Experimental os CRDs do canal são proibidos, e deverá desinstalá-los antes de ativar a API de Gateway Gerido.
    • A versão do pacote Gateway API deve ser compatível com a versão Kubernetes do seu cluster. Para mais informações, consulte a secção Versões Kubernetes Suportadas para versões do pacote de API Gateway .
  • Opcionalmente, pode implementar um complemento ou extensão do AKS que implemente a API do Gateway, como o add-on Istio. Se usar o complemento Istio, deve estar em revisão menor asm-1-26 ou superior para garantir compatibilidade com a instalação da API da Porta de Entrada Gerida. Para implementar o suplemento Istio, veja Implementar o suplemento de malha de serviços baseado em Istio para o Azure Kubernetes Service (AKS).

Atualizar a versão do CLI do Azure

Você deve usar a versão azure-cli2.86.0 ou superior. Corre az --version para encontrar a tua azure-cli versão e corre az upgrade para atualizar.

Versões Kubernetes suportadas para versões do pacote Gateway API

A tabela seguinte descreve as versões Kubernetes suportadas para o seu cluster AKS para cada versão do pacote Gateway API para o standard canal:

Versão do pacote da API Gateway Versões do Kubernetes suportadas
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 atualizar o seu cluster AKS para uma nova versão menor após instalar os CRDs da API Managed Gateway, os CRDs atualizam automaticamente para a nova versão suportada do pacote Gateway API para essa versão Kubernetes. Por exemplo, se atualizar do AKS v1.33.0 para v1.34.0 e anteriormente tenha a API de Gateway Gerido instalada para a versão bundle v1.2.1, os CRDs atualizam automaticamente para a versão bundle v1.3.0.

Crie um novo cluster AKS com CRDs de API do Gateway gerido instalados

  • Crie um novo cluster AKS com CRDs da API de Gateway Gerido instalados usando o az aks create comando com a --enable-gateway-api bandeira. Também pode, opcionalmente, ativar um complemento suportado, como o complemento de malha de serviços Istio, no mesmo comando. O seguinte comando de exemplo cria um novo cluster AKS com a instalação da API do Gateway Gerenciado e o complemento de malha de serviço Istio ativado.

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

Instalar os CRDs da API de Gateway Gerenciado num cluster AKS existente

  • Instale os CRDs da API de Gateway Geridos num cluster existente usando o comando az aks update com a opção --enable-gateway-api.

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

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

  1. Veja os CRDs instalados no 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 Kubernetes Gateway. 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 que a versão do bundle corresponde à versão Kubernetes esperada para o seu cluster usando o seguinte kubectl get crds comando:

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

    O resultado deve mostrar as anotações esperadas, incluindo a anotação gateway.networking.k8s.io/bundle-version com a versão bundle esperada para a versão Kubernetes do seu cluster. Por exemplo, se o seu cluster estiver a correr Kubernetes v1.33.0, a versão esperada do bundle é v1.2.1, e a saída deve 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 CRDs da API de Gateway Gerenciada em um cluster AKS

  • Desinstale os CRDs da API Gerida de Gateway num cluster existente usando o comando az aks update com a opção --disable-gateway-api.

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