Partilhar via


Implantar um gateway auto-hospedado no Kubernetes com o YAML

APLICA-SE A: Developer | Prémio

Este artigo descreve as etapas para implantar o componente de gateway auto-hospedado do Gerenciamento de API do Azure em um cluster Kubernetes.

Importante

O suporte para imagens de contêiner de gateway auto-hospedado do Azure API Management versão 0 e versão 1 termina em 1º de outubro de 2023, juntamente com sua API de Configuração v1 correspondente. Use nosso guia de migração para usar o gateway auto-hospedado v2.0.0 ou superior com a API de configuração v2. Saiba mais em nossa documentação de substituição

Nota

Você também pode implantar o gateway auto-hospedado em um cluster Kubernetes habilitado para Azure Arc como uma extensão de cluster.

Pré-requisitos

Implementar no Kubernetes

Gorjeta

As etapas a seguir implantam o gateway auto-hospedado no Kubernetes e habilitam a autenticação para a instância de Gerenciamento de API usando um token de acesso de gateway (chave de autenticação). Você também pode implantar o gateway auto-hospedado no Kubernetes e habilitar a autenticação para a instância de Gerenciamento de API usando o Microsoft Entra ID.

  1. Selecione Gateways em Implantação e infraestrutura.
  2. Selecione o recurso de gateway auto-hospedado que você deseja implantar.
  3. Selecione Implantação.
  4. Um token de acesso na caixa de texto Token foi gerado automaticamente para você, com base nos valores padrão das chaves Expiração e Segredo. Se necessário, escolha valores em um ou ambos os controles para gerar um novo token.
  5. Selecione a guia Kubernetes em Scripts de implantação.
  6. Selecione o <link do arquivo gateway-name>.yml e baixe o arquivo YAML.
  7. Selecione o ícone de cópia no canto inferior direito da caixa de texto Implantar para salvar os kubectl comandos na área de transferência.
  8. Ao usar o Serviço Kubernetes do Azure (AKS), execute az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin em uma nova sessão de terminal.
  9. Execute os comandos para criar os objetos Kubernetes necessários no namespace padrão e inicie pods de gateway auto-hospedados a partir da imagem de contêiner baixada do Microsoft Artifact Registry.
    • A primeira etapa cria um segredo do Kubernetes que contém o token de acesso gerado na etapa 4. Em seguida, ele cria uma implantação do Kubernetes para o gateway auto-hospedado que usa um ConfigMap com a configuração do gateway.

Confirme se o gateway está em execução

  1. Execute o seguinte comando para verificar se a implantação foi bem-sucedida. Pode levar um pouco de tempo para que todos os objetos sejam criados e para que os pods sejam inicializados.

    kubectl get deployments
    

    Deve voltar

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    <gateway-name>   1/1     1            1           18s
    
  2. Execute o seguinte comando para verificar se os serviços foram criados com êxito. Os IPs e as portas do seu serviço serão diferentes.

    kubectl get services
    

    Deve voltar

    NAME                                TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    <gateway-name>-live-traffic         ClusterIP      None            <none>        4290/UDP,4291/UDP   9m1s
    <gateway-name>-instance-discovery   LoadBalancer   10.99.236.168   <pending>     80:31620/TCP,443:30456/TCP   9m1s
    
  3. Volte para o portal do Azure e selecione Visão geral.

  4. Confirme se Status mostra uma marca de seleção verde, seguida por uma contagem de nós que corresponde ao número de réplicas especificadas no arquivo YAML. Esse status significa que os pods de gateway auto-hospedados implantados estão se comunicando com êxito com o serviço de Gerenciamento de API e têm uma "pulsação" regular. Captura de tela mostrando o status do gateway auto-hospedado no portal.

Gorjeta

  • Execute o kubectl logs deployment/<gateway-name> comando para visualizar logs de um pod selecionado aleatoriamente se houver mais de um.
  • Execute kubectl logs -h para obter um conjunto completo de opções de comando, como exibir logs para um pod ou contêiner específico.

Próximos passos