Implante um gateway auto-hospedado para o Kubernetes com Helm
APLICA-SE A: Desenvolvedor | Premium
Helm é uma ferramenta de empacotamento de software livre que ajuda a instalar e gerenciar o ciclo de vida de aplicativos Kubernetes. Ele permite que você gerencie gráficos do Kubernetes, que são pacotes de recursos pré-configurados do Kubernetes.
Este artigo fornece as etapas necessárias para implantar um componente de gateway auto-hospedado do Gerenciamento de API para um cluster do Kubernetes suando o Helm.
Observação
Você também pode implantar o gateway auto-hospedado em um cluster do Kubernetes habilitado para o Azure Arc como uma extensão de cluster.
Pré-requisitos
- Crie um cluster do Kubernetes ou tenha acesso a um existente.
Dica
Clusters de nó único funcionam bem para fins de desenvolvimento e avaliação. Use clusters de vários nós com certificação do Kubernetes no local ou na nuvem para cargas de trabalho de produção.
- Criar uma instância do Gerenciamento de API do Azure.
- Provisionar um recurso de gateway na instância do Gerenciamento de API
- Instalar o Helm v3.
Adicionar o repositório do Helm
Adicione o Gerenciamento de API do Azure como um novo repositório do Helm.
helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
Atualize o repositório para buscar os gráficos mais recentes do Helm.
helm repo update
Verifique a configuração do Helm listando todos os gráficos disponíveis.
$ helm search repo azure-apim-gateway NAME CHART VERSION APP VERSION DESCRIPTION azure-apim-gateway/azure-api-management-gateway 1.0.0 2.0.0 A Helm chart to deploy an Azure API Management ...
Implante um gateway auto-hospedado para o Kubernetes
Selecione Gateways na opção Implantação e infraestrutura.
Selecione o recurso de gateway auto-hospedado que deseja implantar.
Selecione a opção Implantação.
Um novo token na caixa de texto Token foi gerado automaticamente para você usando os valores padrão de Vencimento e Chave Secreta. Ajuste um ou ambos, se desejado, e selecione Gerar para criar um novo token.
Anote o Token e a URL de configuração
Instalar o gateway auto-hospedado usando o gráfico do Helm
helm install azure-api-management-gateway \ --set gateway.configuration.uri='<your configuration url>' \ --set gateway.auth.key='<your token>' \ azure-apim-gateway/azure-api-management-gateway
Execute o comando. O comando instrui o cluster do Kubernetes a:
- Baixar a imagem do gateway auto-hospedado do Microsoft Container Registry e executá-la como um contêiner.
- Configurar o contêiner para expor as portas HTTP (8080) e HTTPS (8081).
Importante
Por padrão, o gateway está usando um serviço do ClusterIP e só é exposto dentro do cluster. Você pode alterar isso especificando o tipo de serviço do Kubernetes durante a instalação.
Por exemplo, você pode expô-lo por meio de um balanceador de carga adicionando
--set service.type=LoadBalancer
Execute o comando a seguir para verificar se o pod do gateway está em execução. O nome do pod será diferente.
kubectl get pods NAME READY STATUS RESTARTS AGE azure-api-management-gateway-59f5fb94c-s9stz 1/1 Running 0 1m
Execute o comando a seguir para verificar se o serviço do gateway está em execução. O nome do serviço e os endereços IP serão diferentes.
kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-api-management-gateway ClusterIP 10.0.229.55 <none> 8080/TCP,8081/TCP 1m
Volte ao portal do Azure e confirme se o nó de gateway implantado relata um status íntegro.
Dica
Use o comando kubectl logs <gateway-pod-name>
para exibir um instantâneo do log do gateway auto-hospedado.
Próximas etapas
- Para saber mais sobre o gateway auto-hospedado, confira a Visão geral do gateway auto-hospedado do Gerenciamento de API do Azure.
- Saiba mais sobre as diretrizes para executar o gateway auto-hospedado no Kubernetes em produção.
- Saiba como implantar o gateway auto-hospedado do Gerenciamento de API em clusters do Kubernetes habilitados para o Azure Arc.
- Saiba mais sobre as funcionalidades de observabilidade dos gateways do Gerenciamento de API do Azure.