Compartilhar via


O que são controladores de entrada do Gateway de Aplicativo?

O AGIC (Controlador de Entrada do Gateway de Aplicativo) é um aplicativo Kubernetes, que possibilita aos clientes do AKS (Serviço de Kubernetes do Azure) aproveitar o balanceador de carga L7 do Gateway de Aplicativo nativo do Azure para expor o software de nuvem à Internet. O AGIC monitora o cluster do Kubernetes no qual ele está hospedado e atualiza continuamente um Gateway de Aplicativo para que os serviços selecionados sejam expostos à Internet.

O controlador de entrada é executado em seu próprio pod no AKS do cliente. O AGIC monitora um subconjunto de recursos do Kubernetes quanto a alterações. O estado do cluster AKS é convertido na configuração específica do gateway de aplicativo e aplicado ao Azure Resource Manager (ARM).

Dica

Considere o Gateway de Aplicativo para Contêineres para sua solução de entrada do Kubernetes. Para obter mais informações, consulte Início Rápido: Implantar o controlador ALB do Gateway de Aplicativos para contêineres.

Benefícios do controlador de entrada do gateway de aplicativo

O AGIC ajuda a eliminar a necessidade de ter outro balanceador de carga/endereço de IP público na frente do cluster do AKS e evita vários saltos no seu datapath antes que as solicitações cheguem ao cluster do AKS. O Gateway de Aplicativo se comunica com os pods usando o IP privado diretamente e não exige os serviços NodePort ou KubeProxy. Isso também traz um melhor desempenho para suas implantações.

O Controlador de Entrada é compatível exclusivamente com os SKUs Standard_v2 e WAF_v2, que também permitem benefícios de dimensionamento automático. O gateway de aplicativo pode reagir em resposta a um aumento ou redução na carga de tráfego e dimensionar de acordo sem consumir nenhum recurso do cluster AKS.

O uso do gateway de aplicativo além do AGIC também ajuda a proteger o cluster AKS fornecendo a funcionalidade de política TLS e de firewall do aplicativo Web (WAF).

Aplicativo Azure gateway + AKS

O AGIC é configurado por meio do recurso de entrada do Kubernetes, juntamente com o serviço e as implantações/pods. Ele fornece muitos recursos, usando o balanceador de carga L7 do Gateway de Aplicativo nativo do Azure’. Para citar alguns:

  • Roteamento de URL
  • Afinidade baseada em cookie
  • terminação TLS
  • TLS de ponta a ponta
  • Suporte a sites da web públicos, privados e híbridos
  • Firewall do aplicativo Web integrado

Diferença entre a implantação Helm e o complemento AKS

Há duas maneiras de implantar o AGIC para o cluster AKS. A primeira é por meio do Helm; a segunda é por meio do AKS como um complemento. O principal benefício de implantar o AGIC como complemento do AKS é que ele é mais simples do que implantar pelo Helm. Para uma nova configuração, você pode implantar um novo gateway de aplicativo e um novo cluster AKS com o AGIC habilitado como um complemento em uma linha na CLI do Azure. O complemento também é um serviço totalmente gerenciado, que fornece benefícios adicionais, como atualizações automáticas e maior suporte. As duas maneiras de implantar o AGIC (Helm e complemento do AKS) são totalmente suportadas pela Microsoft. Além disso, o complemento permite uma melhor integração com o AKS como um complemento de primeira linha.

O complemento do AGIC também é implantado como um pod no cluster AKS do cliente. No entanto, há algumas diferenças entre a versão de implantação Helm e a versão do complemento do AGIC. Veja a seguir uma lista de diferenças entre as duas versões:

  • Os valores de implantação do Helm não podem ser modificados no complemento do AKS:
    • verbosityLevel é definido como 5 por padrão
    • usePrivateIp é definido como falso por padrão; essa configuração pode ser substituída pela anotação use-private-ip
    • shared não tem suporte no complemento
    • reconcilePeriodSeconds não tem suporte no complemento
    • armAuth.type não tem suporte no complemento
  • O AGIC implantado por meio do Helm dá suporte a ProhibitedTargets, o que significa que pode configurar o gateway de aplicativo especificamente para clusters AKS sem afetar outros back-ends existentes. No momento, o complemento do AGIC não dá suporte a essa funcionalidade.
  • Como o complemento AGIC é um serviço gerenciado, os clientes são atualizados automaticamente para a versão mais recente do complemento do AGIC, ao contrário do AGIC implantado pelo Helm, onde o cliente deve atualizar manualmente o AGIC.

Observação

Os clientes só podem implantar um complemento do AGIC por cluster AKS e cada complemento só pode direcionar um gateway de aplicativo. Para implantações que exigem mais de um AGIC por cluster ou vários AGICs direcionados a um gateway de aplicativo, continue usando o AGIC implantado por meio de Helm.

O complemento Helm e o AGIC não dão suporte ao serviço ExternalName.

Sistema de rede de contêiner e AGIC

O Controlador de Entrada do Gateway de Aplicativo dá suporte às seguintes ofertas de rede do AKS:

  • Kubenet
  • CNI
  • Sobreposição de CNI

O Azure CNI e o Azure CNI Overlay são as duas opções recomendadas para o Application Gateway Ingress Controller. Ao escolher um modelo de rede, considere os casos de uso para cada plug-in de CNI e o tipo de modelo de rede que ele usa:

Plug-in CNI Modelo de rede Destaques de caso de uso
Sobreposição de CNI do Azure Recobrir – Melhor para a conservação de IP da VNET
– Contagem máxima de nós com suporte pelo Servidor de API + 250 pods por nó
– Configuração mais simples
– Sem acesso direto ao IP do pod externo
Sub-rede do pod da CNI do Azure Plano – Acesso direto externo
– Modos para o uso eficiente de IP da VNet ou suporte à grande escala de cluster
Sub-rede do nó CNI do Azure Plano – Acesso direto externo
– Configuração mais simples
– Escala limitada
– Uso ineficiente de IPs de VNet

Ao provisionar o Gateway de Aplicativos para Contêineres em um cluster que tenha CNI Overlay ou CNI habilitado, o Gateway de Aplicativos para Contêineres detecta automaticamente a configuração de rede pretendida. Não há alterações necessárias na configuração da API do Gateway ou do Ingress para especificar CNI Overlay ou CNI.

Com a CNI do Azure em Sobreposição, considere as seguintes limitações:

  • Controlador AGIC: é necessário estar na versão v1.9.1 ou superior para usufruir da CNI em Sobreposição.
  • Tamanho da Sub-rede: a sub-rede do Gateway de Aplicativo deve ter um prefixo máximo /24; somente uma implantação tem suporte por sub-rede.
  • Delegação de Sub-rede: a sub-rede do Gateway de Aplicativo deve ter delegação de sub-rede para Microsoft.Network/applicationGateways.
  • Emparelhamento regional de VNet: o Gateway de Aplicativo do Azure implantado em uma rede virtual na região A e os nós do cluster AKS em uma rede virtual na região A não são suportados.
  • Emparelhamento global de VNet: o Gateway de Aplicativo do Azure implantado em uma rede virtual na região A e os nós do cluster AKS em uma rede virtual na região B não são suportados.
  • A sobreposição do Azure CNI com o Gateway de Aplicativo do Azure Ingress Controller não é compatível com a nuvem do Azure Government ou com o Microsoft Azure operado pela 21Vianet (Azure na China).

Observação

A atualização do cluster do AKS de Kubenet ou CNI para CNI em Sobreposição é detectada automaticamente pelo Controlador de Entrada do Gateway de Aplicativo. Recomenda-se agendar a atualização durante uma janela de manutenção, pois pode haver interrupção do tráfego. O controlador pode levar alguns minutos após a atualização do cluster para detectar e configurar o suporte para CNI Overlay.

Aviso

Verifique se a sub-rede do Gateway de Aplicativo é uma sub-rede /24 ou menor antes de atualizar. A atualização do CNI para o CNI Overlay com uma sub-rede maior (por exemplo, /23) levará a uma interrupção e exigirá que a sub-rede do Gateway de Aplicativo do Azure seja recriada com um tamanho de sub-rede compatível.

Próximas etapas