Ingress Controller de Citrix ADC

Topologías de implementación

Los ADC de Citrix se pueden combinar en topologías potentes y flexibles que complementan los límites de la organización. Las implementaciones de doble nivel emplean hardware de alta capacidad o Citrix ADC virtualizados (Citrix ADC MPX y VPX) en el primer nivel para descargar funciones de seguridad e implementar directivas organizativas relativamente estáticas mientras se segmenta el control entre los operadores de red y los operadores de Kubernetes.

En implementaciones de doble nivel, el segundo nivel se encuentra dentro del clúster de Kubernetes (con Citrix ADC CPX) y está bajo el control de los propietarios del servicio. Esta configuración proporciona estabilidad a los operadores de red, a la vez que permite a los usuarios de Kubernetes implementar cambios a alta velocidad. Las topologías de un solo nivel son adecuadas para las organizaciones que necesitan manejar altas tasas de cambio. Esto

Topología de un solo nivel

En una topología de un solo nivel, los dispositivos Citrix ADC MPX o VPX redirigen el tráfico (norte-sur) desde los clientes a los microservicios dentro del clúster. El Citrix Ingress Controller se implementa como un pod independiente en el clúster de Kubernetes. El controlador automatiza la configuración de Citrix ADC (MPX o VPX) en función de los cambios en los microservicios o los recursos de Ingress.

Single-tier

Topología de doble nivel

En la topología de doble nivel, los dispositivos Citrix ADC MPX o VPX en el nivel 1 dirigen el tráfico (norte-sur) desde el cliente a Citrix ADC CPX en el nivel 2. A continuación, Citrix ADC CPX de nivel 2 redirige el tráfico a los microservicios del clúster de Kubernetes. El Citrix Ingress Controller implementado como un pod independiente configura los dispositivos de nivel 1. Además, el controlador sidecar en uno o más pods de Citrix ADC CPX configura el Citrix ADC CPX asociado en el mismo pod.

Doble nivel

Topología de nube

Los clústeres de Kubernetes en nubes públicas como Amazon Web Services (AWS), Google Cloudy Microsoft Azure pueden usar sus servicios de equilibrio de carga nativos, como AWS Elastic Load Balancing, Google Cloud Load Balancingy Microsoft Azure NLB como el primer nivel (relativamente estático) de equilibrio de carga en un segundo nivel de Citrix ADC CPX. Citrix ADC CPX funciona dentro del clúster de Kubernetes con el controlador Ingress sidecar. Los clústeres de Kubernetes pueden ser autoalojados o administrados por el proveedor de la nube (por ejemplo, AWS EKS, Google GKE y Azure AKS) mientras se usa Citrix ADC CPX como entrada. Si el clúster de Kubernetes basado en la nube es autohospedado o autoadministrado, Citrix ADC VPX se puede usar como el primer nivel en una topología de doble nivel.

Implementación en la nube con Citrix ADC (VPX) en el nivel 1: implementación en la nube con VPX en el nivel 1

Implementación en la nube con Cloud LB en el nivel 1: implementación en la nube con CLB en el nivel 1

Malla de servicio lite

Una solución de entrada (ya sea de hardware o virtualizada o en contenedores) normalmente realiza funciones de proxy L7 para el tráfico norte-sur (N-S). La arquitectura Service Mesh lite utiliza la misma solución Ingress para administrar también el tráfico de este a oeste.

En una implementación estándar de Kubernetes, el tráfico de este a oeste (E-W) atraviesa el KubeProxy integrado implementado en cada nodo. Kube-proxy, al ser un proxy L4, solo puede realizar un equilibrio de carga basado en TCP/UDP sin los beneficios del proxy L7.

Citrix ADC (MPX, VPX o CPX) puede proporcionar beneficios para el tráfico E-W, tales como:

  • Descarga mutua de TLS o SSL
  • Redirección basada en contenido, permite o bloquea el tráfico en función de los parámetros de encabezado HTTP o HTTPS
  • Algoritmos de equilibrio de carga avanzados (por ejemplo, menos conexiones, menos tiempo de respuesta, etc.)
  • Observabilidad del tráfico este-oeste mediante la medición de señales doradas (errores, latencias, saturación o volumen de tráfico). Service Graph de Citrix ADM es una solución de observabilidad para supervisar y depurar microservicios.

Para obtener más información, consulte Service mesh lite.

Dual-tier-Hairpin-mode

Servicios de tipo LoadBalancer

Los servicios de tipo LoadBalancer en Kubernetes le permiten exponer los servicios directamente al mundo exterior sin utilizar un recurso de entrada. Solo lo ponen a disposición los proveedores de la nube, que ponen en marcha sus propios equilibradores de carga en la nube nativos y asignan una dirección IP externa a través de la cual se accede al servicio. Esto le ayuda a implementar microservicios fácilmente y a exponerlos fuera del clúster de Kubernetes.

De forma predeterminada, en un clúster de Kubernetes bare metal, el servicio de tipo LoadBalancer simplemente se expone NodePorts para el servicio. Además, no configura equilibradores de carga externos.

El Citrix Ingress Controller admite los servicios de tipo LoadBalancer. Puede crear un servicio de tipo LoadBalancer y exponerlo mediante la entrada Citrix ADC en el nivel 1. La entrada de Citrix ADC aprovisiona un equilibrador de carga para el servicio y se asigna una dirección IP externa al servicio. El Citrix Ingress Controller asigna la dirección IP mediante el controlador de Citrix IPAM.

Para obtener más información, consulte Exponer servicios de tipo LoadBalancer.

Servicio de tipo LoadBalancer

Servicios de tipo NodePort

De forma predeterminada, se puede acceder a los servicios de Kubernetes mediante la dirección IP del clúster. La dirección IP del clúster es una dirección IP interna a la que se puede acceder dentro del clúster de Kubernetes. Para que el servicio sea accesible desde fuera del clúster de Kubernetes, puede crear un servicio de tipo NodePort.

El Citrix Ingress Controller admite servicios de tipo NodePort. Con el Citrix ADC de entrada y el Citrix Ingress Controller, puede exponer el servicio de tipo NodePort al mundo exterior.

Para obtener más información, consulte Exponer servicios de tipo NodePort.

Servicios de tipo NodePort

Implementación mediante gráficos Helm y el generador de implementaciones de Citrix

Para implementar topologías nativas de la nube de Citrix, hay varias opciones disponibles mediante gráficos YAML y Helm. Los gráficos Helm son una de las formas más fáciles de implementar en un entorno de Kubernetes. Cuando implementa con los gráficos Helm, puede usar un archivo values.yaml para especificar los valores de los parámetros configurables en lugar de proporcionar cada parámetro como argumento.

Puede generar el archivo values.yaml para implementaciones nativas de la nube de Citrix mediante el generador de implementaciones de Citrix, que es una GUI.

El compilador de implementaciones de Citrix admite las siguientes topologías:

  • De un solo nivel

    • Ingreso

    • Tipo de servicio LoadBalancer

  • Doble capa

    • Citrix ADC CPX como NodePort

    • Citrix ADC CPX como servicio de tipo LoadBalancer

  • Ingresos de varios clústeres

  • Malla de servicio

Para obtener información detallada sobre cómo usar el compilador de implementaciones de Citrix, consulte el blog del compilador de implementaciones de Citrix.

Topologías de implementación