Configuración de alta disponibilidad para NetScaler 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. NetScaler CPX admite la implementación de alta disponibilidad de dos instancias de NetScaler, 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 NetScaler 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 NetScaler CPX.

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

En esta topología, se crean dos nodos NetScaler 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 de NetScaler CPX, 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 NetScaler CPX mediante el NSIP del otro nodo.

Realice los siguientes pasos para configurar el soporte de alta disponibilidad en instancias NetScaler 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 NetScaler CPX. Para obtener más información, consulte Configuración de una instancia de NetScaler CPX 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 NetScaler CPX en modo de red puente, la dirección IP asignada a un NetScaler 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 NetScaler 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 NetScaler CPX.

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

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

Debe establecer la asignación de puertos para los nodos NetScaler CPX. Puede usar la opción -p del comando docker run al crear el nodo NetScaler 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 NetScaler 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 NetScaler CPX puede formar un par de alta disponibilidad. Cualquier otro NetScaler CPX en el mismo host no puede formar un par de alta disponibilidad con otro NetScaler CPX en un host diferente.

Realice los siguientes pasos para implementar instancias de NetScaler 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 NetScaler 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 NetScaler 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 NetScaler CPX en diferentes hosts de Docker en modo de red host sin una interfaz dedicada

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

Debe establecer la asignación de puertos para el nodo NetScaler CPX. Puede usar la opción -p del comando docker run al crear el nodo NetScaler 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 NetScaler CPX en modo host.

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

  1. Implemente NetScaler 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 NetScaler 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 NetScaler 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 NetScaler 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 NetScaler CPX mediante la variable de entorno CPX_NW_DEV, consulte Implementación de la instancia de NetScaler CPX mediante el comando docker run.

Los de NetScaler CPX 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 NetScaler 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 de NetScaler CPX en modo host en dos hosts diferentes. Las instancias de NetScaler CPX 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 NetScaler CPX en modo host.

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

  1. Implemente NetScaler 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 NetScaler 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 NetScaler CPX lleguen al otro nodo de NetScaler 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]’