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. El controlador Ingress convierte las reglas de 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 Citrix ingress controller integra Citrix ADC con su entorno de Kubernetes y configura Citrix ADC CPX, VPX o MPX de acuerdo con las reglas de entrada.

Las soluciones estándar de Kubernetes Ingress proporcionan equilibrio de carga solo en la capa 7 (tráfico HTTP o HTTPS). Algunas veces, necesita exponer muchas aplicaciones heredadas que dependen de TCP o UDP o aplicaciones y necesitan una forma de equilibrar la carga de esas aplicaciones. 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 Canary 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 Canary mediante Kayenta. Tras analizar las métricas, Kayenta genera una puntuación agregada para Canary y decide promocionar o fallar la versión Canary. También puede regular la distribución del tráfico a la versión Canary 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
Redirección de URL​ ​
TLS
Equilibrio de carga
TCP, TCP-SSL No
UDP No
HTTP/2
Soporte automatizado de implementación Canary 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 de Ingress unificada (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 Citrix ingress controller. El Citrix ingress controller se implementa como pod en el clúster de Kubernetes y automatiza la configuración de Citrix ADC en función de los cambios realizados en los microservicios o los recursos de Ingress. 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.

En casos en los que equipos independientes administran la plataforma Kubernetes y la infraestructura de red, la arquitectura de doble nivel es la más adecuada.

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 Citrix ingress controller.

Introducción

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

Solución Kubernetes Ingress