Compartilhar via


Entrada no AKS (Serviço do Kubernetes do Azure)

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

Controladores de entrada

Ao gerenciar o tráfego do aplicativo, os controladores de entrada fornecem funcionalidades avançadas 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 microsserviços diferentes, dependendo do caminho da URL, aumentando a eficiência e a organização de seus serviços.

Por outro lado, um Serviço do tipo LoadBalancer, quando criado, configura um recurso subjacente do balanceador de carga do Azure. Esse 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.

Entender a distinção entre essas duas abordagens ajuda na seleção da ferramenta certa para suas necessidades de gerenciamento de tráfego.

Diagrama mostrando o fluxo de tráfego de ingresso 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 entrada:

Recurso Complemento de Roteamento de Aplicativos Gateway de Aplicativo para contêineres Malha de Serviço do Azure/malha de serviço baseada em Istio
Controlador de entrada/gateway Controlador de entrada NGINX Gateway de Aplicativo do Azure para contêineres Gateway de entrada do Istio
API API de Entrada API de Entrada e API de Gateway API de Entrada do Istio
Hosting No cluster Hospedado pelo Azure No cluster
Dimensionamento Dimensionamento automático Dimensionamento automático Dimensionamento automático
Balanceamento de carga Interno/Externo Externos Interno/Externo
Terminação SSL No cluster Sim: Descarregamento e E2E SSL No cluster
mTLS N/D Sim para back-end N/D
Endereço IP Estático N/D FQDN N/D
Certificados SSL armazenados do Azure Key Vault Sim Yes N/D
Integração de DNS do Azure para gerenciamento de zona DNS Sim Yes N/D

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

Opção de entrada Quando usar
NGINX Gerenciado – complemento de Roteamento de Aplicativos • Controladores de entrada NGINX hospedados no cluster, personalizáveis e escalonáveis.
• Recursos básicos de balanceamento de carga e roteamento.
• Configuração do balanceador de carga interno e externo.
• Configuração de endereço IP estático.
• Integração com o Azure Key Vault para gerenciamento de certificados.
• Integração com as Zonas DNS do Azure para gerenciamento de DNS público e privado.
• Dá suporte à API de Entrada.
Gateway de Aplicativos para Contêineres • Gateway de entrada hospedado no Azure.
• Estratégias de implantação flexíveis gerenciadas pelo controlador ou traga seu próprio Gateway de Aplicativos para Contêineres.
• Recursos avançados de gerenciamento de tráfego, como repetições automáticas, resiliência de zona de disponibilidade, autenticação mútua (mTLS) para o destino de back-end, divisão de tráfego/round robin ponderado e dimensionamento automático.
• Integração com o Azure Key Vault para gerenciamento de certificados.
• Integração com as Zonas DNS do Azure para gerenciamento de DNS público e privado.
• Dá suporte às APIs de Entrada e Gateway.
Gateway de Entrada do Istio • Com base no Envoy, ao usar o Istio para uma malha de serviço.
• Recursos avançados de gerenciamento de tráfego, como limitação de taxa e interrupção de circuito.
• Suporte para mTLS

Observação

A API do Gateway para tráfego de entrada do Istio ainda não tem suporte para o complemento do Istio, mas está atualmente em desenvolvimento ativo.

Criar um recurso de entrada

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

  • Configuração fácil de controladores de entrada NGINX gerenciados com base no controlador de entrada NGINX do Kubernetes.

  • Integração com o DNS do Azure para gerenciamento de zona pública e privada.

  • Terminação SSL com certificados armazenados no Azure Key Vault.

Para obter mais informações sobre o complemento de roteamento de aplicativos, consulte Entrada NGINX gerenciada com o complemento de roteamento de aplicativo.

Preservação de IP de origem do cliente

Configure o controlador de entrada para preservar o IP de origem do cliente em solicitações para contêineres no 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 dessa solicitação fica indisponível para o contêiner de destino. Quando você habilita a preservação de IP de origem do cliente, o IP de origem do cliente fica 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 passagem TLS. A preservação de IP de origem do cliente e a passagem de TLS podem ser usadas com outros serviços, como o tipo Balanceador de carga.

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