Ingress Controller de Citrix ADC

Configurar la afinidad o la persistencia de la sesión en el Citrix ADC de entrada

La configuración de afinidad o persistencia de sesión en Ingress Citrix ADC le permite dirigir las solicitudes de los clientes al mismo servidor seleccionado, independientemente del servidor virtual del grupo que reciba la solicitud del cliente. Cuando caduca el tiempo configurado para la persistencia, se selecciona cualquier servidor virtual del grupo para las solicitudes de clientes entrantes.

Si se configura la persistencia, anula los métodos de equilibrio de carga una vez que se ha seleccionado el servidor. Mantiene los estados de las conexiones en los servidores representados por ese servidor virtual. A continuación, Citrix ADC utiliza el método de equilibrio de carga configurado para la selección inicial de un servidor, pero reenvía a ese mismo servidor todas las solicitudes posteriores del mismo cliente.

El tipo de persistencia más utilizado es la persistencia basada en cookies.

Configurar la persistencia en función de las cookies

Cuando habilita la persistencia basada en cookies, Citrix ADC agrega una cookie HTTP en el campo de Set-Cookie encabezado de la respuesta HTTP. La cookie contiene información sobre el servicio al que se deben enviar las solicitudes HTTP. El cliente almacena la cookie y la incluye en todas las solicitudes posteriores, y el ADC la usa para seleccionar el servicio para esas solicitudes.

Citrix ADC inserta la cookie <NSC_XXXX>= <ServiceIP> <ServicePort>.

Donde:

  • <<NSC_XXXX> es el identificador del servidor virtual que se deriva del nombre del servidor virtual.
  • <<ServiceIP> es el valor hexadecimal de la dirección IP del servicio.
  • <<ServicePort> es el valor hexadecimal del puerto del servicio.

Citrix ADC cifra ServiceIP y ServicePort cuando inserta una cookie, y las descifra cuando recibe una cookie.

Por ejemplo, a.com=ffffffff02091f1045525d5f4f58455e445a4a423660;expires=Fri, 23-Aug-2019 07:01:45.

Puede configurar la configuración de persistencia en el Citrix ADC de entrada, mediante la siguiente anotación de entrada proporcionada por el Citrix Ingress Controller:

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"COOKIEINSERT", "timeout":"20", "cookiename":"k8s_cookie"}}'

Dónde:

  • timeout especifica la duración de la persistencia. Si las cookies de sesión se utilizan con un timeout valor de 0, Citrix ADC no especifica un tiempo de caducidad, independientemente de la versión de cookie HTTP utilizada. La cookie de sesión caduca cuando se cierra el explorador web
  • cookiename especifica el nombre de la cookie con un máximo de 32 caracteres. Si no se especifica, el nombre de la cookie se genera internamente.
  • persistenceType aquí especifica el tipo de persistencia que se utilizará, COOKIEINSERT se usa para la persistencia basada en cookie. Además de las cookie, también se pueden usar otras opciones junto con los argumentos apropiados y otros parámetros requeridos.

Los valores posibles son SOURCEIP, SSLSESSION, DESTIP, SRCIPDESTIP, etc.

Persistencia de la dirección IP de origen

Cuando la persistencia de IP de origen está configurada en Ingress Citrix ADC, puede establecer la persistencia en un servidor virtual de equilibrio de carga, lo que crea una adherencia para las solicitudes posteriores del mismo cliente.

A continuación, se muestra un ejemplo de anotación de entrada para configurar la persistencia de la dirección IP de origen:

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SOURCEIP", "timeout":"10"}}'

Persistencia de ID de sesión SSL

Cuando se configura la persistencia del ID de sesión SSL, el dispositivo Citrix ADC usa el ID de sesión SSL, que forma parte del proceso de enlace SSL, para crear una sesión de persistencia antes de que la solicitud inicial se dirija a un servicio. El servidor virtual de equilibrio de carga dirige las solicitudes posteriores que tienen el mismo ID de sesión SSL al mismo servicio. Este tipo de persistencia se usa para los servicios de puente SSL.

A continuación, se muestra un ejemplo de anotación Ingress para configurar la persistencia del identificador de sesión SSL:

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SSLSESSION"}}'

Persistencia basada en direcciones IP de destino

En este tipo de persistencia, cuando Ingress Citrix ADC recibe una solicitud de un nuevo cliente, crea una sesión de persistencia basada en la dirección IP del servicio seleccionado por el servidor virtual (la dirección IP de destino). Posteriormente, dirige las solicitudes a la misma IP de destino al mismo servicio. Este tipo de persistencia se utiliza con el equilibrio de carga de enlace.

A continuación, se muestra un ejemplo de anotación de entrada para configurar la persistencia basada en la dirección IP de destino:

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"DESTIP"}}'

Persistencia basada en direcciones IP de origen y destino

En este tipo de persistencia, cuando el dispositivo Citrix ADC recibe una solicitud, crea una sesión de persistencia basada tanto en la dirección IP del cliente (la dirección IP de origen) como en la dirección IP del servicio seleccionado por el servidor virtual (la dirección IP de destino). Posteriormente, dirige las solicitudes de la misma IP de origen y a la misma IP de destino al mismo servicio.

A continuación, se muestra un ejemplo de anotación de entrada para configurar la persistencia basada en direcciones IP de origen y destino:

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SRCIPDESTIP"}}'
Configurar la afinidad o la persistencia de la sesión en el Citrix ADC de entrada