Compatibilidad con redirección dinámica en NetScaler CPX
NetScaler CPX admite el protocolo de redirección dinámica BGP. El objetivo clave del protocolo de redirección dinámica es anunciar la dirección IP del servidor virtual en función del estado de los servicios, vinculados al servidor virtual. Ayuda a un enrutador ascendente a elegir la mejor entre varias rutas a un servidor virtual distribuido topográficamente.
Para obtener información sobre la contraseña no predeterminada en NetScaler CPX, consulte la sección Support for using a non-default password in NetScaler CPX
del documento Configuración de NetScaler CPX.
En una red de host único, el cliente, los servidores y la instancia de NetScaler CPX se implementan como contenedores en el mismo host de Docker. Todos los contenedores están conectados a través del puente docker0. En este entorno, la instancia de NetScaler CPX actúa como proxy para las aplicaciones aprovisionadas como contenedores en el mismo host de Docker. Para obtener información sobre la implementación en modo de red de host de NetScaler CPX, consulte Modo de red de host.
Esta ilustración ilustra la topología de host único.
En esta topología, los servidores virtuales se configuran y anuncian (según el estado de los servicios) a la red o enrutador ascendente mediante BGP.
Realice los siguientes pasos para configurar BGP en NetScaler CPX en un solo host Docker con el modo de conexión en red puente.
Configurar la inyección de estado de ruta basada en BGP mediante la API REST en NetScaler CPX
-
Cree un contenedor a partir de la imagen de NetScaler CPX mediante el siguiente comando:
docker run -dt --privileged=true -p 22 -p 80 -p 161 -e EULA=yes --ulimit core=-1 cpx: <tag>
Por ejemplo:
docker run -dt --privileged=true -p 22 -p 80 -p 161 -e EULA=yes --ulimit core=-1 cpx:12.1-50.16
-
Inicie sesión en el contenedor con el siguiente comando:
docker exec -it <container id> bash
-
Habilite la función BGP con el siguiente comando:
cli_script.sh "enable ns feature bgp"
-
Obtenga el NSIP mediante el comando
show ns ip
:cli_script.sh "show ns ip"
-
Agregue el servidor virtual mediante el siguiente comando:
cli_script.sh "add lb vserver <vserver_name> http <VIP> <PORT>"
-
Agregue servicios y enlace servicios al servidor virtual.
-
Habilite
hostroute
para el VIP mediante el siguiente comando:cli_script.sh "set ns ip <VIP> -hostroute enabled”
Salga del contenedor y envíe comandos BGP NITRO desde el host al NSIP en el puerto 9080.
-
Configure el enrutador BGP:
Por ejemplo, si quieres configurar:
router bgp 100 Neighbour 172.17.0.2 remote-as 101 Redistribute kernel
Especifique el comando de la siguiente manera:
curl -u username:password http://<NSIP>:9080/nitro/v1/config/ -X POST --data 'object={"routerDynamicRouting": {"bgpRouter" : {"localAS":100, "neighbor": [{ "address": "172.17.0.2", "remoteAS": 101}], "afParams":{"addressFamily": "ipv4", "redistribute": {"protocol": "kernel"}}}}}'
-
Instale las rutas BGP aprendidas en el PE mediante el siguiente comando NITRO:
curl -u username:password http://<NSIP>:9080/nitro/v1/config/ --data 'object={"params":{"action":"apply"},"routerDynamicRouting": {"commandstring" : "ns route-install bgp"}}'
-
Verifique el estado de adyacencia de BGP mediante el siguiente comando NITRO:
curl -u username:password http://<NSIP>:9080/nitro/v1/config/routerDynamicRouting/bgpRouter
Salida de muestra:
root@ubuntu:~# curl -u username:password http://172.17.0.3:9080/nitro/v1/config/routerDynamicRouting/bgpRouter { "errorcode": 0, "message": "Done", "severity": "NONE", "routerDynamicRouting":{"bgpRouter":[{ "localAS": 100, "routerId": "172.17.0.3", "afParams": [ { "addressFamily": "ipv4" }, { "addressFamily": "ipv6" } ], "neighbor": [ { "address": "172.17.0.2", "remoteAS": 101, "ASOriginationInterval": 15, "advertisementInterval": 30, "holdTimer": 90, "keepaliveTimer": 30, "state": "Connect", "singlehopBfd": false, "multihopBfd": false, "afParams": [ { "addressFamily": "ipv4", "activate": true }, { "addressFamily": "ipv6", "activate": false } ]
-
Compruebe que las rutas aprendidas a través de BGP estén instaladas en el motor de paquetes con el siguiente comando:
cli_script.sh “show route”
-
Guarde la configuración mediante el siguiente comando:
cli_script.sh “save config”
La configuración de redirección dinámica se guarda en el archivo /nsconfig/ZebOS.conf
.