Compartir a través de


¿Qué es el controlador de entrada de Application Gateway?

El controlador de entrada de Application Gateway (AGIC) es una aplicación de Kubernetes, lo que hace posible que los clientes de Azure Kubernetes Service (AKS) aprovechen la tecnología nativa de Azure Application Gateway: el equilibrador de carga L7 para exponer software en la nube a Internet. AGIC supervisa el clúster de Kubernetes en el que se hospeda y actualiza continuamente una instancia de Application Gateway para que los servicios seleccionados se expongan a Internet.

El controlador de entrada se ejecuta en su propio pod en la instancia de AKS del cliente. AGIC supervisa un subconjunto de recursos de Kubernetes para los cambios. El estado del clúster de AKS se traduce a una configuración específica de Application Gateway y se aplica a Azure Resource Manager (ARM).

Sugerencia

Considere Puerta de enlace de aplicaciones para contenedores como solución de entrada de Kubernetes. Para obtener más información, consulte Inicio rápido: Implementación de Application Gateway para contenedores ALB Controller.

Ventajas del controlador de entrada de Application Gateway

AGIC ayuda a eliminar la necesidad de tener otra dirección IP pública o equilibrador de carga frente al clúster de AKS y evita varios saltos en la ruta de datos antes de que las solicitudes lleguen al clúster de AKS. Application Gateway se comunica con los pods mediante su dirección IP privada directamente y no necesita los servicios de NodePort o KubeProxy. Esta capacidad también aporta un mejor rendimiento a las implementaciones.

El controlador de entrada es compatible exclusivamente con las SKU de Standard_v2 y WAF_v2, que también habilitan ventajas de escalado automático. Application Gateway puede reaccionar en respuesta a un aumento o una disminución de la carga y la escala de tráfico según corresponda, sin consumir ningún recurso del clúster de AKS.

El uso de Application Gateway, además de AGIC, también ayuda a proteger el clúster de AKS al proporcionar la funcionalidad de la directiva TLS y firewall de aplicaciones web (WAF).

Azure Application Gateway + AKS

AGIC se configura a través del recurso de entrada de Kubernetes, junto con los servicios, las implementaciones y los pods. Proporciona muchas características mediante el equilibrador de carga L7 de Application Gateway nativo de Azure. Por mencionar algunas:

  • Enrutamiento de direcciones URL
  • Afinidad basada en cookies
  • Finalización de TLS
  • TLS de un extremo a otro
  • Soporte para sitios web públicos, privados e híbridos
  • Firewall de aplicaciones web integrado

Diferencias entre la implementación de Helm y el complemento de AKS

Hay dos maneras de implementar AGIC para el clúster de AKS. La primera manera es mediante Helm; la segunda es mediante AKS como un complemento. La principal ventaja de implementar AGIC como un complemento de AKS es que es más sencillo que la implementación mediante Helm. En el caso de una nueva instalación, puede implementar una nueva instancia de Application Gateway y un nuevo clúster de AKS con AGIC habilitado como un complemento en una línea en la CLI de Azure. El complemento es también un servicio totalmente administrado, que ofrece ventajas adicionales, como actualizaciones automáticas y mayor compatibilidad. Las dos formas de implementar AGIC (Helm y el complemento de AKS) son totalmente compatibles con Microsoft. Además, el complemento permite una mejor integración con AKS como un complemento de primera clase.

El complemento de AGIC se implementa como un pod en el clúster de AKS del cliente; sin embargo, hay algunas diferencias entre la versión de la implementación de Helm y la versión del complemento de AGIC. A continuación se muestra una lista de las diferencias entre las dos versiones:

  • Los valores de implementación de Helm no se pueden modificar en el complemento de AKS:
    • verbosityLevel se establece en 5 de forma predeterminada;
    • usePrivateIp se establece en False de forma predeterminada (esta configuración se puede invalidar con la anotación use-private-ip);
    • shared no se admite en el complemento
    • reconcilePeriodSeconds no se admite en el complemento
    • armAuth.type no se admite en el complemento
  • AGIC implementado mediante Helm admite ProhibitedTargets, lo que significa que AGIC puede configurar la instancia de Application Gateway específicamente para los clústeres de AKS sin que afecte a otros back-ends existentes. El complemento de AGIC no es compatible actualmente con esta capacidad.
  • Dado que el complemento de AGIC es un servicio administrado, los clientes se actualizan automáticamente a la versión más reciente del complemento de AGIC, a diferencia de AGIC implementado mediante Helm, donde el cliente debe actualizar AGIC manualmente.

Nota:

Los clientes solo pueden implementar un complemento de AGIC por clúster de AKS y cada complemento de AGIC actualmente solo puede tener como destino una instancia de Application Gateway. En el caso de implementaciones que necesiten más de un AGIC por clúster o varios AGIC destinados a una instancia de Application Gateway, siga usando AGIC implementado mediante Helm.

Tanto el complemento helm como el complemento AGIC no admiten el servicio ExternalName.

Redes de contenedores y AGIC

Application Gateway controlador de entrada admite las siguientes ofertas de red de AKS:

  • Kubenet
  • CNI
  • Superposición de CNI

La superposición de Azure CNI y Azure CNI son las dos opciones recomendadas para el controlador de entrada de Application Gateway. Al elegir un modelo de red, tenga en cuenta los casos de uso de cada complemento de CNI y el tipo de modelo de red que usa:

Complemento de CNI Modelo de redes Resaltados de casos de uso
Superposición de Azure CNI Superposición - Mejor para la conservación de IP de red virtual
- Número máximo de nodos admitidos por el servidor de API + 250 pods por nodo
- Configuración más sencilla
-Sin acceso directo al IP de pod externo
Subred de pod de Azure CNI Plano - Acceso directo a pods externos
- Modos de uso eficaz de IP de red virtual o compatibilidad a gran escala de clústeres
Subred del nodo de Azure CNI Plano - Acceso directo a pods externos
- Configuración más sencilla
- Escala limitada
- Uso ineficaz de direcciones IP de red virtual

Al aprovisionar Puerta de enlace de aplicaciones para contenedores en un clúster que tenga habilitada la superposición de CNI o CNI, Puerta de enlace de aplicaciones para contenedores detecta automáticamente la configuración de red prevista. No se necesitan cambios en la configuración de la puerta de enlace ni en Ingress API para especificar CNI Overlay o CNI.

Con la superposición de Azure CNI, tenga en cuenta las siguientes limitaciones:

  • Controlador AGIC: debe ejecutar la versión v1.9.1 o posterior para aprovechar la superposición de CNI.
  • Tamaño de subred: la subred de Application Gateway debe ser un prefijo /24 máximo; solo se admite una implementación por subred.
  • Delegación de subred: la subred de Application Gateway debe tener delegación de subred para Microsoft.Network/applicationGateways.
  • Emparejamiento de VNET regional: Application Gateway implementado en una red virtual de la región A y los nodos del clúster de AKS de una red virtual de la región A no se admiten.
  • Emparejamiento de VNET global: Application Gateway implementado en una red virtual de la región A y los nodos del clúster de AKS de una red virtual de la región A no se admiten.
  • La superposición de Azure CNI con el controlador de entrada de Application Gateway no se admite en la nube de Azure Government ni en Microsoft Azure operado por 21Vianet (Azure en China).

Nota:

El controlador de entrada de Application Gateway detecta automáticamente la actualización del clúster de AKS desde Kubenet o CNI a la superposición de CNI. Se recomienda programar la actualización durante una ventana de mantenimiento a medida que se pueda producir una interrupción del tráfico. El controlador puede tardar unos minutos después de la actualización del clúster en detectar y configurar la compatibilidad con Superposición de CNI.

Advertencia

Asegúrese de que la subred de Application Gateway es una subred /24 o menor antes de actualizarla. La actualización de CNI a la superposición de CNI con una subred mayor (es decir, /23) provocará una interrupción y requerirá que la subred de Application Gateway se vuelva a crear con un tamaño de subred compatible.

Pasos siguientes