ADC

Solución Kubernetes Ingress

En este tema se proporciona una descripción general de la solución Kubernetes Ingress proporcionada por NetScaler 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 accedan a las aplicaciones desde fuera del clúster de Kubernetes. Kubernetes proporciona un objeto llamado Ingress que proporciona la forma más eficaz de exponer múltiples servicios mediante una dirección IP estable. Un objeto de ingreso de Kubernetes siempre está asociado a 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 Kubernetes Ingress. Entrada de Kubernetes

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

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

  • Controlador de ingreso. 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 ingreso. Un dispositivo Ingress es una aplicación de equilibrio de carga como NetScaler 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, NetScaler proporciona una implementación del controlador Kubernetes Ingress para administrar y enrutar el tráfico a su clúster de Kubernetes mediante NetScaler (NetScaler CPX, VPX o MPX). El controlador NetScaler Ingress integra NetScalers con su entorno de Kubernetes y configura NetScaler CPX, VPX o MPX de acuerdo con las reglas de Ingress.

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 NetScaler Ingress Controller proporciona soporte para el tráfico TCP, TCP-SSL y UDP, además del ingreso HTTP o HTTPS estándar. Además, funciona sin problemas en varias nubes o centros de datos locales.

NetScaler proporciona directivas de administración de tráfico de nivel empresarial, como directivas de reescritura y respuesta, para equilibrar la carga del tráfico de manera eficiente en la capa 7. Sin embargo, Kubernetes Ingress carece de directivas de administración de 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 los CRD proporcionados por NetScaler.

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, NetScaler 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 NetScaler.

La siguiente tabla resume las ventajas que ofrece la solución Ingress de Citrix en comparación con Kubernetes Ingress.

Funciones Entrada de Kubernetes 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
Soporte para aplicar​ directivas de reescritura y respuesta de NetScaler No
Autenticación (autorización abierta (OAuth), TLS mutuo (mTLS)) No
Soporte para aplicar directivas de limitación de velocidad de Citrix No

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

La solución Kubernetes Ingress de NetScaler le proporciona una arquitectura flexible en función de cómo desee administrar su entorno de NetScalers y Kubernetes.

Ingress unificado (nivel único)

En una arquitectura Ingress unificada (de un solo nivel), un dispositivo NetScaler MPX o VPX implementado fuera del clúster de Kubernetes se integra con el entorno de Kubernetes mediante el controlador NetScaler Ingress. El controlador NetScaler Ingress se implementa como un pod en el clúster de Kubernetes y automatiza la configuración de NetScaler en función de los cambios en los microservicios o los recursos de Ingress. El dispositivo NetScaler 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 los casos en los que el mismo equipo administra la plataforma Kubernetes y otras infraestructuras de red, incluidos los controladores de entrega de aplicaciones (ADC).

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

Single-tier

Una solución de Ingress unificada ofrece las siguientes ventajas clave:

  • Proporciona una forma de ampliar las capacidades de su infraestructura NetScaler existente al entorno de Kubernetes
  • Le permite aplicar directivas de gestión del tráfico para el tráfico entrante
  • Proporciona una arquitectura simplificada adecuada para equipos de DevOps expertos en redes
  • Soporta multiinquilino

Entrada de doble nivel

En una arquitectura de dos niveles, NetScaler (MPX o VPX) implementado fuera del clúster de Kubernetes actúa en el nivel 1 y equilibra la carga del tráfico norte-sur con los CPX de NetScaler que se ejecutan dentro del clúster. NetScaler 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 NetScaler 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 la plataforma Kubernetes pueden usar NetScaler (CPX) de nivel 2 para equilibrar la carga de la capa 7 (HTTP/HTTPS), el TLS mutuo y la observabilidad o la supervisión de los microservicios. El NetScaler (CPX) de nivel 2 puede tener una versión de software diferente a la del NetScaler de nivel 1 para adaptarse a las nuevas capacidades disponibles.

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

Doble nivel

Un Ingress de doble nivel ofrece las siguientes ventajas clave:

  • Garantiza una alta velocidad de desarrollo de aplicaciones para desarrolladores o equipos de plataformas
  • Permite aplicar directivas de administración del 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 de NetScaler Ingress Controller.

Introducción

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

Solución Kubernetes Ingress