O que é o Application Gateway Ingress Controller?

O Application Gateway Ingress Controller (AGIC) é um aplicativo Kubernetes, que possibilita que os clientes do Serviço Kubernetes do Azure (AKS) aproveitem o balanceador de carga nativo do Application Gateway L7 do Azure para expor o software de nuvem à Internet. A AGIC monitora o cluster Kubernetes em que está hospedado e atualiza continuamente um Application Gateway, para que os serviços selecionados sejam expostos à Internet.

O Ingress Controller é executado em seu próprio pod no AKS do cliente. A AGIC monitora um subconjunto de Recursos do Kubernetes em busca de alterações. O estado do cluster AKS é traduzido para a configuração específica do Application Gateway e aplicado ao Azure Resource Manager (ARM).

Benefícios do Application Gateway Ingress Controller

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

O Ingress Controller é suportado exclusivamente por Standard_v2 e WAF_v2 SKUs, que também permitem benefícios de dimensionamento automático. O Application Gateway pode reagir em resposta a um aumento ou diminuição na carga de tráfego e dimensionar de acordo, sem consumir recursos do cluster AKS.

O uso do Application Gateway além do AGIC também ajuda a proteger seu cluster AKS, fornecendo a política TLS e a funcionalidade WAF (Web Application Firewall).

Azure Application Gateway + AKS

O AGIC é configurado por meio do recurso Kubernetes Ingress, juntamente com Service e Deployments/Pods. Ele fornece muitos recursos, usando o balanceador de carga L7 nativo do Application Gateway do Azure. Para citar alguns:

  • Encaminhamento do URL
  • Afinidade com base no cookie
  • Terminação TLS
  • TLS ponto a ponto
  • Suporte para sites públicos, privados e híbridos
  • Firewall de aplicação Web integrada

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

Há duas maneiras de implantar o AGIC para seu cluster AKS. A primeira maneira é através de Helm; o segundo é através do AKS como um add-on. O principal benefício de implantar o AGIC como um complemento do AKS é que ele é mais simples do que implantar através do 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 oferece benefícios adicionais, como atualizações automáticas e maior suporte. Ambas as formas de implantação do AGIC (complemento Helm e 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 classe.

O complemento AGIC ainda é implantado como um pod no cluster AKS do cliente, no entanto, há algumas diferenças entre a versão de implantação do Helm e a versão do complemento do AGIC. Segue-se uma lista das diferenças entre as duas versões:

  • Os valores de implantação do leme não podem ser modificados no complemento AKS:
    • verbosityLevel é definido como 5 por padrão
    • usePrivateIp está definido como false por padrão; Essa configuração pode ser substituída pela anotação use-private-ip
    • shared não é suportado no complemento
    • reconcilePeriodSeconds não é suportado no complemento
    • armAuth.type não é suportado no complemento
  • O AGIC implantado via Helm suporta ProhibitedTargets, o que significa que o AGIC pode configurar o Application Gateway especificamente para clusters AKS sem afetar outros back-ends existentes. Atualmente, o complemento AGIC não suporta esse recurso.
  • Como o complemento AGIC é um serviço gerenciado, os clientes são atualizados automaticamente para a versão mais recente do complemento AGIC, ao contrário do AGIC implantado através do Helm, onde o cliente deve atualizar manualmente o AGIC.

Nota

Os clientes só podem implantar um complemento AGIC por cluster AKS, e cada complemento AGIC atualmente só pode ter como alvo um Application Gateway. Para implantações que exigem mais de um AGIC por cluster ou vários AGICs destinados a um Application Gateway, continue a usar o AGIC implantado por meio do Helm.

Próximos passos

  • AKS Add-On Greenfield Deployment: Instruções sobre como instalar o complemento AGIC, o AKS e o Application Gateway na infraestrutura de ardósia em branco.
  • AKS Add-On Brownfield Deployment: Instale o complemento AGIC em um cluster AKS com um Application Gateway existente.
  • Implantação do Helm Greenfield: instale o AGIC através do Helm, do novo cluster AKS e do novo Application Gateway na infraestrutura de ardósia em branco.
  • Implantação do Helm Brownfield: implante o AGIC por meio do Helm em um cluster AKS existente e no Application Gateway.