Partilhar via


Acesso 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 no 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ções para Contentores Malha de serviço baseada em Istio/Malha de Serviço do Azure
Controlador de Ingresso/Gateway Controlador de entrada NGINX Azure Application Gateway para Contentores Istio Ingress Gateway
API API de Ingress 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 Interno/Externo Externa Interno/Externo
Terminação SSL No cluster Sim: Descarregamento e E2E SSL No cluster
mTLS N/A Sim: frontend e backend N/A
Endereço IP estático N/A Nome de Domínio Totalmente Qualificado (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
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 aplicação para contentores • 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.
• Funcionalidades avançadas de gestão de tráfego, tais como tentativas automáticas, resiliência das zonas de disponibilidade, autenticação mútua (mTLS) para o destino de back-end, divisão de tráfego/rotação ponderada 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 Ingress e Gateway.
Istio Ingress Gateway • Com base no Envoy, ao utilizar com o Istio para uma malha de serviços.
• 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 mais informações sobre o complemento de roteamento de aplicação, consulte Ingresso NGINX gerido com o complemento de roteamento de aplicação.

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.