O que é o Gateway de Aplicativo para Contêineres?

O Gateway de Aplicativo para contêineres é um balanceamento de carga de camada de aplicativo (camada 7) e um produto de gerenciamento de tráfego dinâmico para cargas de trabalho em execução em um cluster do Kubernetes. Ele estende o portfólio de Balanceamento de Carga do Aplicativo do Azure e é uma nova oferta da família de produtos do Gateway de Aplicativo.

O Gateway de Aplicativo para Contêineres é a evolução do AGIC (Controlador de Entrada do Gateway de Aplicativo), um aplicativo do Kubernetes que permite que os clientes do AKS (Serviço de Kubernetes do Azure) usem o balanceador de carga do aplicativo do Gateway de Aplicativo nativo do Azure. Em sua forma atual, o AGIC monitora um subconjunto de Recursos do Kubernetes para alterações e as aplica ao Gateway de Aplicativo, utilizando o ARM (Azure Resource Manager).

Como ele funciona?

O Gateway de Aplicativo para Contêineres é composto por três componentes:

  • Recurso do Gateway de Aplicativos para contêineres
  • Front-ends
  • Associações

As seguintes dependências também são referenciadas em um Gateway de Aplicativo para implantação de Contêineres:

  • Endereço IP privado
  • Delegação de sub-rede
  • Identidade gerenciada atribuída ao usuário

A arquitetura de Gateway de Aplicativo para Contêineres é resumida na figura a seguir:

Diagrama representando o tráfego de entrada de Internet no Gateway de Aplicativo para Contêineres e sendo enviado de volta a pods de back-end no AKS.

Para obter detalhes sobre como o Gateway de Aplicativo para Contêineres aceita solicitações de entrada e as encaminha para um destino de back-end, consulte Gateway de Aplicativo para componentes de contêineres.

Características e benefícios

O Gateway de Aplicativo para Contêineres oferece alguns recursos totalmente novos no lançamento, como:

  • Divisão de tráfego/Round bobin ponderado
  • Autenticação mútua para o destino de back-end
  • Suporte do Kubernetes para Entrada e API de Gateway
  • Estratégias de implantação flexíveis
  • Maior desempenho, oferecendo atualizações quase em tempo real para adicionar ou mover pods, rotas e investigações

O Gateway de Aplicativo para Contêineres oferece uma entrada elástica e escalonável para clusters do AKS e compreende um novo plano de dados, bem como um plano de controle com um novo conjunto de APIs do ARM, diferente do Gateway de Aplicativo existente. Essas APIs são diferentes da implementação atual do Gateway de Aplicativo. O Gateway de Aplicativo para Contêineres está fora do plano de dados do cluster do AKS e é responsável pela entrada. O serviço é gerenciado por um componente do ALB Controller que é executado dentro do cluster do AKS e segue as APIs do Gateway do Kubernetes.

Recursos de balanceamento de carga

O Gateway de Aplicativo para Contêineres dá suporte aos seguintes recursos para gerenciamento de tráfego:

  • Novas tentativas automáticas
  • Dimensionamento automático
  • Resiliência da zona de disponibilidade
  • Investigações de integridade personalizadas e padrão
  • Suporte a certificados ECDSA e RSA
  • gRPC
  • Reescreve cabeçalho
  • HTTP/2
  • Gerenciamento de tráfego HTTPS:
    • Terminação SSL
    • SSL de ponta a ponta
  • Suporte à API de Entrada e Gateway
  • Encaminhamento de solicitação HTTP/HTTPS da Camada 7 com base no prefixo/correspondência exata em:
    • Nome do host
    • Caminho
    • Cabeçalho
    • Cadeia de consulta
    • Métodos
    • Portas (80/443)
  • mTLS (autenticação mútua) para front-end, back-end ou ponta a ponta
  • Suporte ao evento enviado pelo servidor (SSE)
  • Divisão de tráfego / Round-robin ponderado
  • Políticas de TLS
  • Redirecionamento de URL
  • Reconfiguração de URL

Estratégias de implantação

Há duas estratégias de implantação para o gerenciamento do Gateway de Aplicativo para Contêineres:

  • Implantação Bring Your Own (BYO): nesta estratégia de implantação, a implantação e o ciclo de vida do recurso do Gateway de Aplicativos para contêineres, o recurso de associação e o recurso de front-end são assumidos por meio do portal do Azure, da CLI, do PowerShell, do Terraform e etc. e referenciados na configuração no Kubernetes.
    • Na API de Gateway: sempre que quiser criar um novo recurso de Gateway no Kubernetes, um recurso de front-end deve ser provisionado no Azure previamente e referenciado pelo recurso do Gateway. A exclusão do recurso de front-end é responsável pelo administrador do Azure e não é excluído quando o recurso do Gateway no Kubernetes é excluído.
  • Gerenciado pelo Controlador ALB: nesta estratégia de implantação, o Controlador ALB implantado no Kubernetes é responsável pelo ciclo de vida do recurso Gateway de Aplicativos para contêineres e seus sub-recursos. O Controlador ALB cria o recurso Gateway de Aplicativos para contêineres quando um recurso personalizado do ApplicationLoadBalancer é definido no cluster e seu ciclo de vida é baseado no ciclo de vida do recurso personalizado.
    • Na API de Gateway: sempre que um recurso de Gateway é criado fazendo referência ao recurso ApplicationLoadBalancer, o ALB Controller provisiona um novo recurso de Front-end e gerencia seu ciclo de vida com base no ciclo de vida do recurso do Gateway.

Regiões com suporte

O Gateway de Aplicativo para Contêineres é oferecido atualmente nas seguintes regiões:

  • Leste da Austrália
  • Canadá Central
  • Índia Central
  • Centro dos EUA
  • Leste da Ásia
  • Leste dos EUA
  • Leste dos EUA 2
  • França Central
  • Centro-Oeste da Alemanha
  • Coreia Central
  • Centro-Norte dos EUA
  • Norte da Europa
  • Leste da Noruega
  • Centro-Sul dos Estados Unidos
  • Sudeste Asiático
  • Norte da Suíça
  • Norte dos EAU
  • Sul do Reino Unido
  • Oeste dos EUA
  • Europa Ocidental

Implementação da API de Gateway

O ALB Controller implementa a versão v1 da API de Gateway.

Recurso de API de Gateway Suporte Comentários
GatewayClass Sim
Gateway Sim Suporte para protocolo HTTP e HTTPS no ouvinte. As únicas portas permitidas no ouvinte são 80 e 443.
HTTPRoute Sim
ReferenceGrant Sim Atualmente, há suporte à versão v1alpha1 dessa API

Implementação da API de Entrada

O ALB Controller implementa suporte para Entrada.

Recurso de API de Entrada Suporte Comentários
Entrada Sim Suporte para protocolo HTTP e HTTPS no ouvinte.

Relatar problemas e enviar comentários

Quanto aos comentários, poste uma nova ideia em feedback.azure.com. Quanto aos problemas, crie uma solicitação de suporte por meio do portal do Azure no recurso do Gateway de Aplicativo para Contêineres.

Preço e SLA

Para obter informações sobre preços do Gateway de Aplicativo para Contêineres, confira Preços do Gateway de Aplicativo.

Para obter informações de SLA do Application Gateway for Containers, veja Acordos de Nível de Serviço (SLA) para Serviços Online.

Novidades

Para conhecer as novidades do Gateway de Aplicativo para Contêineres, confira Atualizações do Azure.

Próximas etapas