Configuration de la haute disponibilité pour NetScaler CPX

Un système comportant des applications critiques et critiques pour l’entreprise doit être disponible en permanence, sans aucun point de défaillance unique. Les systèmes à haute disponibilité garantissent la disponibilité continue des applications sans interruption des services fournis à l’utilisateur. NetScaler CPX prend en charge le déploiement à haute disponibilité de deux instances NetScaler, ce qui protège les services contre les interruptions imprévues et garantit la continuité des activités en cas de panne. Une fois que vous avez configuré la haute disponibilité, vous pouvez également mettre à niveau le logiciel NetScaler CPX sans perturber les services des utilisateurs.

Remarque : Si le compte utilisateur interne est désactivé, la fonctionnalité de haute disponibilité de NetScaler CPX n’est pas prise en charge.

Topologie 1 : Déployez des instances NetScaler CPX sur un seul hôte Docker avec le mode réseau bridge

Dans cette topologie, deux nœuds NetScaler CPX sont créés sur le même hôte Docker avec le mode réseau bridge. Les deux nœuds se trouvent sur le même réseau de pont et les nœuds sont directement accessibles l’un à l’autre.

Le schéma suivant explique cette topologie.

Topologie 1

Dans cet exemple, deux instances NetScaler CPX, CPX-1 (NSIP : 172.17.0.3) et CPX-2 (NSIP : 172.17.0.4), sont créées sur le même hôte Docker. Pour la prise en charge de la haute disponibilité, vous devez configurer les nœuds de haute disponibilité sur les deux instances NetScaler CPX à l’aide du NSIP de l’autre nœud.

Effectuez les étapes suivantes pour configurer la prise en charge de la haute disponibilité sur les instances NetScaler CPX sur un seul hôte Docker en mode pont.

  1. Accédez à l’hôte Docker et connectez-vous à l’invite SSH de l’instance NetScaler CPX. Pour plus d’informations, consultez Configuration d’une instance NetScaler CPX à l’aide de l’interface de ligne de commande.

  2. Configurez un nœud haute disponibilité sur l’instance CPX-1 à l’aide de la commande suivante.

    cli_script.sh ‘add ha node 1 172.17.0.4 [-inc enabled]’
    
  3. Configurez un nœud haute disponibilité sur l’instance CPX-2 à l’aide de la commande suivante.

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

Remarque : Lorsqu’un nœud NetScaler CPX en mode réseau bridge est redémarré, l’adresse IP attribuée à un NetScaler CPX peut changer en fonction de la version de docker sur l’hôte. Si le NSIP de l’un des nœuds change après le redémarrage d’un NetScaler CPX, la configuration de haute disponibilité existante ne fonctionnera pas même si la configuration est enregistrée. Dans ce cas, vous devez à nouveau configurer la haute disponibilité sur les nœuds NetScaler CPX.

Topologie 2 : Déployez NetScaler CPX sur différents hôtes Docker avec le mode réseau bridge

Dans cette topologie, deux instances NetScaler CPX sont déployées en mode pont sur deux hôtes Docker différents accessibles l’un depuis l’autre. Dans ce déploiement, NetScaler CPX doit connaître l’adresse IP de l’hôte. La variable d’environnement HOST peut être utilisée au moment du provisionnement du NetScaler CPX pour que NetScaler CPX connaisse l’adresse IP de l’hôte.

Vous devez définir le mappage des ports pour les nœuds NetScaler CPX. Vous pouvez utiliser l’option -p de la commande docker run lors de la création du nœud NetScaler CPX pour activer le mappage des ports requis.

Vous devez mapper les ports suivants :

  • UDP 3003
  • TCP 3008
  • TCP 8873

Le schéma suivant explique la topologie du déploiement de deux instances NetScaler CPX en mode pont sur deux hôtes Docker différents.

Topologie 2

Dans ce diagramme, la ligne bleue droite représente le flux de trafic CPX-HA entre deux hôtes.

Remarque : Sur un hôte Docker, un seul NetScaler CPX peut former une paire de haute disponibilité. Aucun autre NetScaler CPX sur le même hôte ne peut pas former une paire de haute disponibilité avec un autre NetScaler CPX sur un hôte différent.

Procédez comme suit pour déployer des instances NetScaler en mode pont sur différents hôtes Docker et configurer la prise en charge de la haute disponibilité à l’aide de l’exemple de topologie.

Dans cet exemple, l’adresse IP hôte1 est configurée en tant que 10.10.10.10/24 et l’adresse IP hôte2 est configurée en tant que 10.10.10.20/24.

  1. Déployez NetScaler CPX avec le mappage de port requis sur host1 à l’aide de la commande suivante.

    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. Déployez NetScaler CPX sur host2 à l’aide de la même commande avec l’adresse IP de l’hôte 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. Configurez un nœud haute disponibilité sur l’instance CPX-1 à l’aide de la commande suivante.

    cli_script.sh  ‘add ha node 1 10.10.10.20 -inc enabled’
    
  4. Configurez un nœud haute disponibilité sur l’instance CPX-2 à l’aide de la commande suivante.

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

Remarque : Dans ce déploiement, vous devez utiliser l’adresse IP de l’hôte du nœud haute disponibilité au lieu de l’adresse NSIP du nœud haute disponibilité.

Topologie 3 : déploiement de NetScaler CPX sur différents hôtes Docker en mode réseau hôte sans interface dédiée

Dans cette topologie, deux instances NetScaler CPX sont déployées sur deux hôtes Docker différents en mode hôte sans interface dédiée. Les hôtes doivent être joignables les uns aux autres. Dans ce déploiement, NetScaler CPX doit connaître l’adresse IP de l’hôte. Vous pouvez utiliser la variable d’environnement HOST lors du provisionnement de NetScaler CPX pour lui faire connaître l’adresse IP de l’hôte.

Vous devez définir le mappage des ports pour le nœud NetScaler CPX. Vous pouvez utiliser l’option -p de la commande docker run lors de la création du nœud NetScaler CPX pour activer le mappage des ports requis.

Le schéma suivant explique la topologie.

Topologie 3

Dans ce diagramme, la ligne bleue droite représente le flux de trafic CPX-HA entre deux hôtes.

Remarque : Sur un hôte Docker, vous ne pouvez déployer qu’un seul NetScaler CPX en mode hôte.

Procédez comme suit pour déployer les instances NetScaler CPX et configurer la prise en charge de la haute disponibilité à l’aide de l’exemple de topologie.

  1. Déployez NetScaler CPX avec le mappage de port requis et sur host1 à l’aide de la commande suivante.

    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. Déployez NetScaler CPX sur host2 avec l’adresse IP de host2 à l’aide de la commande suivante.

    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. Configurez un nœud haute disponibilité sur l’instance CPX-1 à l’aide de la commande suivante.

    cli_script.sh  ‘add ha node 1 10.10.10.20 -inc enabled
    
  4. Configurez un nœud haute disponibilité sur l’instance CPX-2 à l’aide de la commande suivante.

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

Topologie 4 : Déployer des CPX sur différents hôtes Docker avec le mode réseau hôte et des interfaces dédiées

Dans cette topologie, deux instances NetScaler CPX sont déployées sur différents hôtes Docker en mode réseau hôte. Les hôtes doivent disposer de plusieurs interfaces. Vous pouvez spécifier l’interface dédiée pour NetScaler CPX à l’aide de la variable d’environnement CPX_NW_DEV .

Pour plus d’informations sur l’attribution d’interfaces réseau dédiées pour NetScaler CPX à l’aide de la variable d’environnement CPX_NW_DEV, consultez Déploiement de l’instance NetScaler CPX à l’aide de lacommande docker run.

Les CPX NetScaler déployés sur différents hôtes Docker doivent être joignables les uns aux autres sur ce réseau de données via l’interface dédiée.

Cette configuration permet aux nœuds haute disponibilité d’échanger des messages de pulsation et de synchroniser les fichiers de configuration en communiquant directement sur les ports 3003, 3008 et 8873. Il n’y a pas besoin de règles NAT sur l’hôte. Le NSIP par défaut de NetScaler CPX créé en mode hôte est identique sur les deux nœuds. Par conséquent, vous devez également spécifier les informations NS_IP et NS_GATEWAY .

Dans cet exemple, deux CPX NetScaler en mode hôte sont créés sur deux hôtes différents. Les instances NetScaler CPX possèdent les interfaces eth1 des deux hôtes et les interfaces eth1 sont connectées au même réseau.

Le schéma suivant explique la topologie. Dans ce diagramme, la flèche bleue représente le flux du trafic CPX-HA sur le réseau connecté à l’interface eth1.

Topologie 4

Remarque : Sur un hôte Docker, vous ne pouvez déployer qu’un seul NetScaler CPX en mode hôte.

Procédez comme suit pour déployer les instances NetScaler CPX et configurer la prise en charge de la haute disponibilité à l’aide de l’exemple de topologie.

  1. Déployez NetScaler CPX en mode hôte sur host1 à l’aide de la commande suivante.

    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. Déployez NetScaler CPX en mode hôte sur host2 à l’aide de la commande suivante.

    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
    

    Remarque : Vous devez configurer des routes statiques pour que les deux nœuds NetScaler CPX puissent atteindre l’autre nœud NetScaler CPX afin d’échanger des messages de pulsation et de synchroniser des fichiers de configuration.

  3. Configurez un nœud haute disponibilité sur l’instance CPX-1 à l’aide de la commande suivante.

    cli_script.sh  ‘add ha node 1 12.12.12.3 [-inc enabled]’
    
  4. Configurez un nœud haute disponibilité sur l’instance CPX-2 à l’aide de la commande suivante.

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