Quantcast
Channel: Blog Virtualizacion
Viewing all articles
Browse latest Browse all 679

Install Docker Netscaler CPX

$
0
0

Install Docker Netscaler CPX

Hoy os queremos enseñar a instalar Netscaler CPX sobre una máquina virtual VMware Centos 7 mediante un sistema de Dockers. Para enseñaros como hacerlo utilizaré VMware Workstation y una máquina virtual linux Centos 7 con red en modo Bridge. Así que nos ponemos manos a la obra, y lanzamos el comando para instalar Docker:

yum –y install docker

Ahora habilitamos el servicio:

systemctl enable docker.service

install-docker-netscaler-cpx-1

Ahora podemos reiniciar el sistema. Al arrancar veremos que se ha generado un nuevo interface:

install-docker-netscaler-cpx-2

Podemos gestionar los servicios lanzando los siguientes comandos:

systemctl start docker.service ## Arranca docker ##
systemctl stop docker.service ##  Para docker ##
systemctl restart docker.service ## Reinicia docker ##
systemctl status docker.service ## Ver estado docker ##

Descargamos la imagen de Netscaler CPX. Se pueden ver las instrucciones en la web de Docker Store:

install-docker-netscaler-cpx-3

El comando sería en este momento:

[root@localhost ~]# docker pull store/citrix/netscalercpx:12.0-56.20

Trying to pull repository docker.io/store/citrix/netscalercpx ...

12.0-56.20: Pulling from docker.io/store/citrix/netscalercpx

6ce531b1ca45: Pull complete

38e4a6bc2d04: Pull complete

7cbb621499da: Pull complete

a2921fd6218f: Pull complete

2b4e7c8adb0a: Pull complete

980882099ccc: Pull complete

81e3dc3dd27c: Pull complete

17dabbe4b8a9: Pull complete

0e3da0d4fd64: Pull complete

f2e7b4c3e799: Pull complete

c3469b674821: Pull complete

9af9916546cf: Pull complete

1aeb683ace83: Pull complete

4e3ae7b95fc5: Pull complete

Digest: sha256:d88b72e227efdccdf2e7a553a4207038f34825ce08ce7c9cbf5664ad5c1cf23a

Status: Downloaded newer image for docker.io/store/citrix/netscalercpx:12.0-56.20
Comprobamos que se ha descargado la image para poder lanzarlo:
[root@localhost ~]# docker images

REPOSITORY                            TAG                 IMAGE ID            CREATED             SIZE

docker.io/store/citrix/netscalercpx   12.0-56.20          8528cafdfa33        6 months ago        375 MB
Para generar el docker de Netscaler CPX usaríamos el siguiente comando:
docker run -dt -P --privileged=true –net=host –e NS_NETMODE=”HOST” -e CPX_CORES= --name  --ulimit core=-1 -e CPX_NW_DEV='' -e CPX_CONFIG=’{“YIELD”:”NO”}’ -e LS_IP= -e LS_PORT= e PLATFORM=CP1000 -v :/cpx :
Os dejo el ejemplo que yo he utilizado y explico cada parámetro:
[root@localhost ~]# docker run -e EULA=yes -dt -P --ulimit core=-1 --cap-add=NET_ADMIN store/citrix/netscalercpx:12.0-56.20

9fafe15a2025db7a75e2e2efe6d5da32152736e3bfa52a372bc18e148763e555
PARAMETROS:
  • dt: Ejecutar el docker en background
  • P: Abre los puertos por defecto para Netscaler CPX
    • 80 se utiliza para HTTP
    • 443 se usa para HTTPS
    • 22 utilizado para SSH
    • 161 / UDP se usa para SNMP
  • p: Para cada puerto individual (Ejemplo: -p 22 -p 443 -p 161/udp)
  • ulimit: No limitamos las opciones
  • cap-add: Añadimos capacidades linux

MAS INFORMACION: https://docs.citrix.com/en-us/netscaler-cpx/12/deploy-using-docker-image-file.html

Comprobamos que se ha generado. Fijaros en los puertos que asigna a los puertos por defecto en el docker que son los que utilizaréis para conectaros. Ejemplo, 32770 para el 80:

[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9fafe15a2025 store/citrix/netscalercpx:12.0-56.20 "/var/netscaler/bi..." About a minute ago Up About a minute 443/tcp, 0.0.0.0:32771->22/tcp, 0.0.0.0:32770->80/tcp, 0.0.0.0:32769->161/udp ecstatic_swirles

Una vez que lo tenemos generado, ahora tenemos que averiguar la IP. Para ello utilizaremos el IP del CONTAINER o DOCKER:

[root@localhost ~]# docker inspect 9fafe15a2025

install-docker-netscaler-cpx-4

Deberéis aseguraros que existe regla de firewall:

iptables -L

Chain DOCKER (1 references)
target prot opt source destination
ACCEPT udp -- anywhere 172.17.0.2 udp dpt:snmp
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:http
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:ssh

Si no queréis problemas sería mejor habilitar las iptables (y deshabilitar Selinux, salvo que os manejéis) ya que sino los dockers os darán errores aunque os dejo como hacer un disabled:

[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i docker0 -o docker0 -p udp -d 172.17.0.2 --dport...at chain?).
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p udp -s 172.17.0.2 -d 172.17.0.2 --dport 161 -j ... that name.
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 32774 -j DNAT --to-destination 17... that name.
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport...at chain?).
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.17.0.2 -d 172.17.0.2 --dport 80 -j M... that name.
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 32775 -j DNAT --to-destination 17... that name.
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport...at chain?).
ago 01 23:12:43 localhost.localdomain firewalld[723]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.17.0.2 -d 172.17.0.2 --dport 22 -j M... that name.
ago 01 23:16:17 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
ago 01 23:16:17 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.

Con todo esto abrimos un navegador y vamos a la url:

https://IP_DOCKER:PORT_ASIGNADO

La imagen es sobre la propia máquina virtual, por eso voy al puerto 80. Si lo hacemos sobre el host que lanza la máquina virtual iríamos a http://IP_MAQUINA_VIRTUAL:32770 en mi caso es el puerto que me ha asignado al generar el docker para el puerto 80:

install-docker-netscaler-cpx-5

La contraseña para SSH es root / linux

install-docker-netscaler-cpx-6

Podéis comprobar que se basa en debian fácilmente:

root@8d694a324986:~# cat /etc/debian_version
stretch/sid
Existe un script en la instalación que se llama cli_script.sh para usar con todos los comandos de netscaler:
root@8d694a324986:~# cli_script.sh "add server test1 192.1.1.1"
exec: add server test1 192.1.1.1
Done
Otro ejemplo:
root@8d694a324986:~# cli_script.sh "show ns config"
exec: show ns config
        NetScaler IP: 172.17.0.2  (mask: 255.255.0.0)
        Number of MappedIP(s): 0
        Node: Standalone
        NetScaler IP Vlan: 1 Tagged: NO Bound Ports:
                           System Time: Thu Aug  2 00:52:08 2018
              Last Config Changed Time: Thu Aug  2 00:47:12 2018
        Config Changed since Last Saved Config: TRUE
Done

La entrada Install Docker Netscaler CPX se publicó primero en VMware Citrix Blog.


Viewing all articles
Browse latest Browse all 679