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.
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.
Azure Kubernetes Service