Partilhar via


Ingresso no Serviço Kubernetes do Azure (AKS)

O ingresso no AKS é um recurso do Kubernetes que gerencia o acesso ao tráfego externo semelhante ao HTTP a serviços dentro de um cluster. Uma entrada AKS pode fornecer serviços como balanceamento de carga, terminação SSL e hospedagem virtual baseada em nome. Para obter mais informações sobre o Kubernetes Ingress, consulte a documentação do Kubernetes Ingress.

Controladores de entrada

Ao gerenciar o tráfego de aplicativos, os controladores Ingress fornecem recursos avançados operando na camada 7. Eles podem rotear o tráfego HTTP para diferentes aplicativos com base na URL de entrada, permitindo regras de distribuição de tráfego mais inteligentes e flexíveis. Por exemplo, um controlador de entrada pode direcionar o tráfego para diferentes microsserviços, dependendo do caminho da URL, melhorando a eficiência e a organização dos seus serviços.

Por outro lado, um serviço do tipo LoadBalancer, quando criado, configura um recurso subjacente do balanceador de carga do Azure. Este balanceador de carga funciona na camada 4, distribuindo o tráfego para os pods em seu Serviço em uma porta especificada. No entanto, os serviços de camada 4 não estão cientes dos aplicativos reais e não podem implementar esses tipos de regras de roteamento complexas.

Compreender a distinção entre estas duas abordagens ajuda a selecionar a ferramenta certa para as suas necessidades de gestão de tráfego.

Diagrama mostrando o fluxo de tráfego de entrada em um cluster AKS

Comparar opções de entrada

A tabela a seguir lista as diferenças de recursos entre as diferentes opções do controlador de ingresso:

Caraterística Complemento de roteamento de aplicativos Gateway de Aplicação para Contentores Malha de serviço baseada em Malha de Serviço do Azure/Istio
Controlador de Ingresso/Gateway Controlador de entrada NGINX Azure Application Gateway for Containers Istio Ingress Gateway
API API de ingresso API de Ingresso e API de Gateway Istio Ingress API
Alojamento No cluster Azure hospedado No cluster
Dimensionamento Dimensionamento automático Dimensionamento automático Dimensionamento automático
Balanceamento de carga Interna/Externa Externa Interna/Externa
Terminação SSL No cluster Sim: Descarregamento e E2E SSL No cluster
mTLS N/A Sim ao back-end N/A
Endereço IP estático N/A FQDN N/A
Certificados SSL armazenados do Azure Key Vault Sim Sim N/A
Integração do DNS do Azure para gerenciamento de zona DNS Sim Sim N/A

A tabela a seguir lista os diferentes cenários em que você pode usar cada controlador de entrada:

Opção de ingresso Quando utilizar o
NGINX gerenciado - complemento de roteamento de aplicativos • Controladores de entrada NGINX hospedados, personalizáveis e escaláveis no cluster.
• Recursos básicos de balanceamento de carga e roteamento.
• Configuração de balanceador de carga interno e externo.
• Configuração de endereço IP estático.
• Integração com o Azure Key Vault para gestão de certificados.
• Integração com Zonas DNS do Azure para gestão de DNS público e privado.
• Suporta a API de Ingresso.
Gateway de aplicativo para contêineres • Gateway de entrada hospedado no Azure.
• Estratégias de implantação flexíveis gerenciadas pelo controlador ou traga seu próprio Application Gateway for Containers.
• Recursos avançados de gerenciamento de tráfego, como tentativas automáticas, resiliência da zona de disponibilidade, autenticação mútua (mTLS) para o alvo de back-end, divisão de tráfego / round robin ponderado e dimensionamento automático.
• Integração com o Azure Key Vault para gestão de certificados.
• Integração com Zonas DNS do Azure para gestão de DNS público e privado.
• Suporta as APIs de entrada e gateway.
Istio Ingress Gateway • Com base no Envoy, ao usar com o Istio para uma malha de serviço.
• Recursos avançados de gerenciamento de tráfego, como limitação de taxa e circuit breaking.
• Suporte para mTLS

Nota

A API de gateway para tráfego de entrada do Istio ainda não é suportada para o complemento Istio, mas está atualmente em desenvolvimento ativo.

Criar um recurso de Ingresso

O complemento de roteamento de aplicativos é a maneira recomendada de configurar um controlador Ingress no AKS. O complemento de roteamento de aplicativo é um controlador de entrada totalmente gerenciado para o Serviço Kubernetes do Azure (AKS) que fornece os seguintes recursos:

  • Fácil configuração de controladores NGINX Ingress gerenciados baseados no controlador Kubernetes NGINX Ingress.

  • Integração com o DNS do Azure para gestão de zonas públicas e privadas.

  • Terminação SSL com certificados armazenados no Cofre da Chave do Azure.

Para obter mais informações sobre o complemento de roteamento de aplicativo, consulte Ingresso NGINX gerenciado com o complemento de roteamento de aplicativo.

Preservação do IP de origem do cliente

Configure seu controlador de entrada para preservar o IP de origem do cliente em solicitações para contêineres em seu cluster AKS. Quando o controlador de entrada roteia a solicitação de um cliente para um contêiner no cluster AKS, o IP de origem original dessa solicitação não está disponível para o contêiner de destino. Quando você habilita a preservação do IP de origem do cliente, o IP de origem do cliente está disponível no cabeçalho da solicitação em X-Forwarded-For.

Se você estiver usando a preservação de IP de origem do cliente em seu controlador de entrada, não poderá usar a passagem TLS. A preservação do IP de origem do cliente e a passagem TLS podem ser usadas com outros serviços, como o tipo LoadBalancer .

Para saber mais sobre a preservação do IP de origem do cliente, consulte Como funciona a preservação do IP de origem do cliente para os Serviços LoadBalancer no AKS.