Citrix ADC

Solución Kubernetes Ingress

En este tema se ofrece una visión general de la solución Kubernetes Ingress proporcionada por Citrix y se explican los beneficios.

¿Qué es Kubernetes Ingress?

Cuando ejecuta una aplicación dentro de un clúster de Kubernetes, debe proporcionar una forma para que los usuarios externos tengan acceso a las aplicaciones desde fuera del clúster de Kubernetes. Kubernetes proporciona un objeto llamado Ingress que proporciona la forma más efectiva de exponer varios servicios mediante una dirección IP estable. Un objeto Kubernetes Ingress siempre está asociado con uno o más servicios y actúa como un punto de entrada único para que los usuarios externos accedan a los servicios que se ejecutan dentro del clúster.

El siguiente diagrama explica cómo funciona la entrada de Kubernetes. Kubernetes Ingress

La implementación de Kubernetes Ingress consta de los siguientes componentes:

  • Recurso Ingress. Un recurso Ingress permite definir reglas para acceder a las aplicaciones desde fuera del clúster.

  • Controller de entrada. Un controlador Ingress es una aplicación implementada dentro del clúster que interpreta las reglas definidas en la entrada. Convierte las reglas Ingress en instrucciones de configuración para una aplicación de equilibrio de carga integrada con el clúster. El equilibrador de carga puede ser una aplicación de software que se ejecuta dentro del clúster de Kubernetes o un dispositivo de hardware que se ejecuta fuera del clúster.

  • Dispositivo de entrada. Un dispositivo Ingress es una aplicación de equilibrio de carga como Citrix ADC CPX, VPX o MPX que realiza el equilibrio de carga de acuerdo con las instrucciones de configuración proporcionadas por el controlador Ingress.

¿Qué es la solución Kubernetes Ingress de Citrix?

En esta solución, Citrix proporciona una implementación del Controller Kubernetes Ingress para administrar y enrutar el tráfico al clúster de Kubernetes mediante ADC de Citrix (Citrix ADC CPX, VPX o MPX). El controlador Ingress de Citrix integra los ADC de Citrix con el entorno de Kubernetes y configura Citrix ADC CPX, VPX o MPX de acuerdo con las reglas Ingress.

Las soluciones estándar Kubernetes Ingress proporcionan equilibrio de carga solo en la capa 7 (tráfico HTTP o HTTPS). Sin embargo, es posible que tenga que exponer muchas aplicaciones heredadas que dependen de TCP o UDP o aplicaciones y necesitan una forma de equilibrar la carga de esas aplicaciones también. La solución Citrix Kubernetes Ingress proporciona compatibilidad con tráfico TCP, TCP-SSL y UDP, además de la entrada HTTP o HTTPS estándar. Además, funciona sin problemas en múltiples nubes o centros de datos locales.

Citrix ADC proporciona directivas de administración de tráfico de nivel empresarial, como directivas de reescritura y respuesta, para equilibrar eficazmente el tráfico en la capa 7. Sin embargo, Kubernetes Ingress carece de tales directivas de gestión del tráfico de nivel empresarial. Con la solución Kubernetes Ingress de Citrix, puede aplicar directivas de reescritura y respuesta para el tráfico de aplicaciones en un entorno de Kubernetes mediante CRD proporcionados por Citrix.

La solución Kubernetes Ingress de Citrix también admite la implementación canaria automatizada para su proceso de aplicaciones CI/CD. En esta solución, Citrix ADC se integra con la plataforma Spinnaker y sirve de fuente para proporcionar métricas precisas para analizar la implementación de Canarias mediante Kayenta. Tras analizar las métricas, Kayenta genera una puntuación agregada para el Canary y toma la decisión de promocionar o fallar la versión canaria. También puede regular la distribución del tráfico a la versión Canaria mediante la infraestructura de directivas de Citrix ADC.

En la siguiente tabla se resumen los beneficios que ofrece la solución Ingress de Citrix sobre Kubernetes Ingress.

Funciones Kubernetes Ingress Solución Ingress de Citrix
Compatibilidad con HTTP y HTTPS
Enrutamiento URL​ ​
TLS
Equilibrio de carga
TCP, TCP-SSL No
UDP No
HTTP/2
Soporte automatizado de implementación canaria con herramientas CI/CD No
Compatibilidad con la aplicación de​ directivas de reescritura y respuesta de Citrix ADC No
Autenticación (Autorización abierta (OAuth), TLS mutua (MTL)) No
Compatibilidad con la aplicación de directivas de limitación de velocidad de Citrix No

Opciones de implementación para la solución Kubernetes Ingress

La solución Kubernetes Ingress de Citrix le proporciona una arquitectura flexible en función de cómo quiera administrar sus ADC de Citrix y su entorno de Kubernetes.

Ingress unificado (nivel único)

En una arquitectura Ingress unificada (de un solo nivel), un dispositivo Citrix MPX o VPX implementado fuera del clúster de Kubernetes se integra con el entorno de Kubernetes mediante el controlador Ingress Citrix. El controlador Ingress de Citrix se implementa como un pod en el clúster de Kubernetes y automatiza la configuración de los ADC de Citrix en función de los cambios realizados en los microservicios o en los recursos de ingreso. El dispositivo Citrix ADC realiza funciones como equilibrio de carga, terminación TLS y optimizaciones de protocolos HTTP o TCP en el tráfico entrante y, a continuación, enruta el tráfico al microservicio correcto dentro de un clúster de Kubernetes. Esta arquitectura se adapta mejor a casos en los que el mismo equipo administra la plataforma Kubernetes y otra infraestructura de red, incluidos los controladores de entrega de aplicaciones (ADC).

El siguiente diagrama muestra una implementación que utiliza la arquitectura de Ingress unificada.

Un solo nivel

Una solución unificada de ingreso proporciona los siguientes beneficios clave:

  • Proporciona una forma de ampliar las capacidades de su infraestructura Citrix ADC existente al entorno Kubernetes
  • Le permite aplicar directivas de administración de tráfico para el tráfico entrante
  • Proporciona una arquitectura simplificada adecuada para equipos de DevOps conocedores de la red
  • Soporta multitenancy

Ingreso de dos niveles

En una arquitectura de dos niveles, Citrix ADC (MPX o VPX) implementado fuera del clúster de Kubernetes actúa en el nivel 1 y la carga equilibra el tráfico Norte-Sur con CPX de Citrix ADC que se ejecutan dentro del clúster. Citrix ADC CPX actúa en el nivel 2 y realiza el equilibrio de carga para microservicios dentro del clúster de Kubernetes.

La arquitectura de doble nivel es más adecuada en casos donde la plataforma Kubernetes y la infraestructura de red son administrados por equipos independientes. Los equipos de redes utilizan Citrix ADC de nivel 1 para casos de uso como GSLB, terminación TLS en la plataforma de hardware y equilibrio de carga TCP. Los equipos de plataformas de Kubernetes pueden usar Citrix ADC (CPX) de nivel 2 para el equilibrio de carga de la capa 7 (HTTP/HTTPS), TLS mutuo y la observabilidad o supervisión de microservicios. El Citrix ADC (CPX) de nivel 2 puede tener una versión de software diferente de la versión de Citrix ADC de nivel 1 para acomodar las capacidades recién disponibles.

El siguiente diagrama muestra una implementación con arquitectura de dos niveles.

Doble nivel

Una entrada de dos niveles proporciona los siguientes beneficios clave:

  • Garantiza una alta velocidad de desarrollo de aplicaciones para desarrolladores o equipos de plataformas
  • Permite aplicar directivas de administración de tráfico impulsadas por desarrolladores para microservicios dentro del clúster de Kubernetes
  • Permite escalar y multitenancy en la nube

Para obtener más información, consulte la Documentación del controlador Ingress de Citrix.

Introducción

Para empezar a utilizar la solución Kubernetes Ingress de Citrix, puede probar los siguientes ejemplos:

Solución Kubernetes Ingress