Configuración de alta disponibilidad para Citrix ADC CPX

Un sistema con aplicaciones de misión crítica y crítica para el negocio debe estar disponible de forma continua sin tener puntos únicos de falla. Los sistemas con alta disponibilidad garantizan la disponibilidad continua de las aplicaciones sin interrumpir los servicios prestados al usuario. Citrix ADC CPX admite la implementación de alta disponibilidad de dos instancias de Citrix ADC, lo que protege los servicios del tiempo de inactividad no planificado y garantiza la continuidad empresarial en caso de que se produzca un error. Una vez que configure la alta disponibilidad, también puede actualizar el software Citrix ADC CPX sin provocar ninguna interrupción de los servicios a los usuarios.

Nota: Si la cuenta de usuario interna está inhabilitada, no se admite la alta disponibilidad de la función Citrix ADC CPX.

Topología 1: Implementar instancias de Citrix ADC CPX en un único host de Docker con modo de red puente

En esta topología, se crean dos nodos Citrix ADC CPX en el mismo host Docker con modo de red de puente. Ambos nodos están en la misma red puente y los nodos son accesibles directamente entre sí.

En el siguiente diagrama se explica esta topología.

Topología 1

En este ejemplo, se crean dos instancias CPX de Citrix ADC, CPX-1 (NSIP: 172.17.0.3) y CPX-2 (NSIP: 172.17.0.4), en el mismo host de Docker. Para obtener soporte de alta disponibilidad, debe configurar nodos de alta disponibilidad en ambas instancias de Citrix ADC CPX mediante el NSIP del otro nodo.

Realice los siguientes pasos para configurar el soporte de alta disponibilidad en instancias Citrix ADC CPX en un único host docker en modo puente.

  1. Acceda al host de Docker e inicie sesión en el indicador SSH de la instancia de Citrix ADC CPX. Para obtener más información, consulte Configuración de una instancia CPX de Citrix ADC mediante la interfaz de línea de comandos.

  2. Configure un nodo de alta disponibilidad en la instancia CPX-1 mediante el siguiente comando.

    cli_script.sh ‘add ha node 1 172.17.0.4 [-inc enabled]’
    
  3. Configure un nodo de alta disponibilidad en una instancia CPX-2 mediante el siguiente comando.

    cli_script.sh ‘add ha node 1 172.17.0.3 [-inc enabled]’
    

Nota: Cuando se reinicia un nodo Citrix ADC CPX en modo de red puente, la dirección IP asignada a un Citrix ADC CPX puede cambiar en función de la versión de docker en el host. Si el NSIP de cualquiera de los nodos cambia después de reiniciar un Citrix ADC CPX, la configuración de alta disponibilidad existente no funcionará aunque se guarde la configuración. En ese caso, debe volver a configurar la alta disponibilidad en los nodos Citrix ADC CPX.

Topología 2: Implemente Citrix ADC CPX en diferentes hosts de Docker con el modo de red puente

En esta topología, se implementan dos instancias de Citrix ADC CPX en modo puente en dos hosts docker diferentes a los que se puede acceder entre sí. En esta implementación, Citrix ADC CPX debe conocer la dirección IP del host. La variable de entorno HOST se puede utilizar en el momento de aprovisionar Citrix ADC CPX para que Citrix ADC CPX conozca la dirección IP del host.

Debe establecer la asignación de puertos para los nodos Citrix ADC CPX. Puede usar la opción -p del comando docker run al crear el nodo Citrix ADC CPX para habilitar la asignación de puertos para los puertos requeridos.

Debe asignar los siguientes puertos:

  • UDP 3003
  • TCP 3008
  • TCP 8873

El siguiente diagrama explica la topología de la implementación de dos instancias de Citrix ADC CPX en modo puente en dos hosts de docker diferentes.

Topología 2

En este diagrama, la línea azul recta representa el flujo de tráfico CPX-HA entre dos hosts.

Nota: En un host Docker, solo un Citrix ADC CPX puede formar un par de alta disponibilidad. Cualquier otro Citrix ADC CPX en el mismo host no puede formar un par de alta disponibilidad con otro Citrix ADC CPX en un host diferente.

Realice los siguientes pasos para implementar instancias de Citrix ADC en modo puente en diferentes hosts de docker y configurar el soporte de alta disponibilidad mediante la topología de ejemplo.

En este ejemplo, la dirección IP de host1 se configura como 10.10.10.10/24 y la dirección IP de host2 se configura como 10.10.10.20/24.

  1. Implemente Citrix ADC CPX con la asignación de puertos requerida en host1 mediante el siguiente comando.

    Docker run -dt --privileged=true -e EULA=yes --ulimit core=-1 -p 8873:8873 -p 3003:3003/udp -p 3008:3008 -e Host=10.10.10.10 cpx:latest
    
  2. Implemente Citrix ADC CPX en host2 mediante el mismo comando con la dirección IP del host 2.

    docker run -dt --privileged=true -e EULA=yes --ulimit core=-1 -p 8873:8873 -p 3003:3003/udp -p 3008:3008 -e HOST=10.10.10.20 cpx:latest
    
  3. Configure un nodo de alta disponibilidad en la instancia CPX-1 mediante el siguiente comando.

    cli_script.sh  ‘add ha node 1 10.10.10.20 -inc enabled’
    
  4. Configure un nodo de alta disponibilidad en una instancia CPX-2 mediante el siguiente comando.

    cli_script.sh ‘add ha node 1 10.10.10.10 -inc enabled’
    

Nota: En esta implementación, debe usar la dirección IP del host del nodo de alta disponibilidad en lugar de la dirección NSIP del nodo de alta disponibilidad.

Topología 3: Implemente Citrix ADC CPX en diferentes hosts de Docker en modo de red host sin una interfaz dedicada

En esta topología, se implementan dos instancias de Citrix ADC CPX en dos hosts Docker diferentes en modo host sin una interfaz dedicada. Los anfitriones deben ser accesibles entre sí. En esta implementación, Citrix ADC CPX debe conocer la dirección IP del host. Puede usar la variable de entorno HOST durante el aprovisionamiento de Citrix ADC CPX para que conozca la dirección IP del host.

Debe establecer la asignación de puertos para el nodo Citrix ADC CPX. Puede usar la opción -p del comando docker run al crear el nodo Citrix ADC CPX para habilitar la asignación de puertos para los puertos requeridos.

En el siguiente diagrama se explica la topología.

Topología 3

En este diagrama, la línea azul recta representa el flujo de tráfico CPX-HA entre dos hosts.

Nota: En un host Docker, solo puede implementar un Citrix ADC CPX en modo host.

Realice los siguientes pasos para implementar las instancias CPX de Citrix ADC y configurar el soporte de alta disponibilidad mediante la topología de ejemplo.

  1. Implemente Citrix ADC CPX con la asignación de puertos requerida y en host1 mediante el siguiente comando.

    docker run -dt --privileged=true -e EULA=yes --ulimit core=-1 --net=host -e NS_NETMODE=HOST -e HOST=10.10.10.10 cpx:latest
    
  2. Implemente Citrix ADC CPX en host2 con la dirección IP de host2 mediante el siguiente comando.

    docker run -dt --privileged=true -e EULA=yes --ulimit core=-1
    --net=host -e NS_NETMODE=HOST -e HOST=10.10.10.20 cpx:latest
    
  3. Configure un nodo de alta disponibilidad en la instancia CPX-1 mediante el siguiente comando.

    cli_script.sh  ‘add ha node 1 10.10.10.20 -inc enabled
    
  4. Configure un nodo de alta disponibilidad en una instancia CPX-2 mediante el siguiente comando.

    cli_script.sh ‘add ha node 1 10.10.10.10 -inc enabled’
    

Topología 4: Implemente CPX en diferentes hosts de Docker con modo de red de host e interfaces dedicadas

En esta topología, se implementan dos instancias de Citrix ADC CPX en diferentes hosts de Docker en modo de red host. Los hosts deben tener más de una interfaz. Puede especificar la interfaz dedicada para Citrix ADC CPX mediante la variable de entorno CPX_NW_DEV.

Para obtener más información sobre la asignación de interfaces de red dedicadas para Citrix ADC CPX mediante la variable de entorno CPX_NW_DEV, consulte Implementación de la instancia CPX de Citrix ADC mediante el comando docker run.

Los CPX de Citrix ADC implementados en diferentes hosts de Docker deben ser accesibles entre sí en esta red de datos con la interfaz dedicada.

Esta configuración permite que los nodos de alta disponibilidad intercambien mensajes de latido y sincronicen los archivos de configuración al comunicarse directamente en los puertos 3003, 3008 y 8873. No hay necesidad de reglas NAT en el host. El NSIP predeterminado de Citrix ADC CPX creado en modo host es el mismo en ambos nodos. Por lo tanto, también debe especificar la información de NS_IP y NS_GATEWAY.

En este ejemplo, se crean dos CPX de Citrix ADC en modo host en dos hosts diferentes. Las instancias CPX de Citrix ADC poseen las interfaces eth1 en ambos hosts y las interfaces eth1 están conectadas a la misma red.

En el siguiente diagrama se explica la topología. En este diagrama, la flecha azul representa el flujo de tráfico CPX-HA en la red conectada a la interfaz eth1.

Topología 4

Nota: En un host Docker, solo puede implementar un Citrix ADC CPX en modo host.

Realice los siguientes pasos para implementar las instancias CPX de Citrix ADC y configurar el soporte de alta disponibilidad mediante la topología de ejemplo.

  1. Implemente Citrix ADC CPX en modo host en host1 mediante el siguiente comando.

    docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e CPX_NW_DEV=eth1 -e NS_IP='12.12.12.2' -e NS_GATEWAY='12.12.12.9' -e EULA=yes --ulimit core=-1 cpx:latest
    
  2. Implemente Citrix ADC CPX en modo host en host2 mediante el siguiente comando.

    docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e CPX_NW_DEV=eth1 -e NS_IP='12.12.12.3' -e NS_GATEWAY='12.12.12.10' -e EULA=yes --ulimit core=-1 cpx:latest
    

    Nota: Debe configurar rutas estáticas para que ambos nodos de Citrix ADC CPX lleguen al otro nodo de Citrix ADC CPX para intercambiar mensajes de latido y sincronizar los archivos de configuración.

  3. Configure un nodo de alta disponibilidad en la instancia CPX-1 mediante el siguiente comando.

    cli_script.sh  ‘add ha node 1 12.12.12.3 [-inc enabled]’
    
  4. Configure un nodo de alta disponibilidad en una instancia CPX-2 mediante el siguiente comando.

    cli_script.sh ‘add high availability node 1 12.12.12.2 [-inc enabled]’