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