NetScaler VPX

Aprovisionar la instancia de NetScaler VPX mediante OpenStack

Puede aprovisionar una instancia de NetScaler VPX en un entorno OpenStack utilizando el comando Nova boot (CLI de OpenStack) o Horizon (panel de control de OpenStack).

El aprovisionamiento de una instancia VPX, opcionalmente, implica el uso de datos de la unidad de configuración (config drive). La unidad de configuración es una unidad de configuración especial que se conecta a la instancia como un dispositivo CD-ROM cuando arranca. Esta unidad de configuración se puede utilizar para pasar la configuración de red, como la dirección IP de administración, la máscara de red, la puerta de enlace predeterminada, y para inyectar scripts personalizados.

En un dispositivo NetScaler, el mecanismo de autenticación predeterminado se basa en contraseña. Ahora, el mecanismo de autenticación de par de claves SSH es compatible con las instancias de NetScaler VPX en el entorno OpenStack.

El par de claves (clave pública y clave privada) se genera antes de utilizar el mecanismo de criptografía de clave pública. Puede utilizar diferentes mecanismos, como Horizon, Puttygen.exe para Windows y ssh-keygen para el entorno Linux, para generar el par de claves. Consulte la documentación en línea de los mecanismos respectivos para obtener más información sobre la generación de pares de claves.

Una vez que el par de claves esté disponible, copie la clave privada en una ubicación segura a la que tengan acceso las personas autorizadas. En OpenStack, la clave pública se puede implementar en una instancia VPX utilizando Horizon o el comando Nova boot. Cuando se aprovisiona una instancia VPX utilizando OpenStack, primero detecta que la instancia se está iniciando en un entorno OpenStack leyendo una cadena BIOS específica. Esta cadena es “OpenStack Foundation” y para las distribuciones de Red Hat Linux se almacena en /etc/nova/release. Este es un mecanismo estándar que está disponible en todas las implementaciones de OpenStack basadas en la plataforma de hipervisor KVM. La unidad debe tener una etiqueta OpenStack específica.

Si se detecta la unidad de configuración, la instancia intenta leer la configuración de red, los scripts personalizados y el par de claves SSH, si se proporcionan.

Archivo de datos de usuario

La instancia de NetScaler VPX utiliza un archivo OVF personalizado, también conocido como archivo de datos de usuario, para inyectar la configuración de red y scripts personalizados. Este archivo se proporciona como parte de la unidad de configuración. Aquí hay un ejemplo de un archivo OVF personalizado.

```
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Environment xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
oe:id=""
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:cs="http://schemas.citrix.com/openstack">
<PlatformSection>
<Kind></Kind>
<Version>2016.1</Version>
<Vendor>VPX</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="com.citrix.netscaler.ovf.version" oe:value="1.0"/>
<Property oe:key="com.citrix.netscaler.platform" oe:value="NSVPX"/>
<Property oe:key="com.citrix.netscaler.orch_env" oe:value="openstack-orch-env"/>
<Property oe:key="com.citrix.netscaler.mgmt.ip" oe:value="10.1.2.22"/>
<Property oe:key="com.citrix.netscaler.mgmt.netmask" oe:value="255.255.255.0"/>
<Property oe:key="com.citrix.netscaler.mgmt.gateway" oe:value="10.1.2.1"/>
</PropertySection>
 <cs:ScriptSection>
   <cs:Version>1.0</cs:Version>
     <ScriptSettingSection xmlns="http://schemas.citrix.com/openstack" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
         <Scripts>
           <Script>
                 <Type>shell</Type>
                 <Parameter>X Y</Parameter>
                <Parameter>Z</Parameter>
                <BootScript>before</BootScript>
                  <Text>
                        #!/bin/bash
                        echo "Hi, how are you" $1 $2 >> /var/sample.txt
                  </Text>
           </Script>
           <Script>
                 <Type>python</Type>
                 <BootScript>after</BootScript>
                  <Text>
                       #!/bin/python
 print("Hello");
                  </Text>
           </Script>
   <Script>
                 <Type>perl</Type>
                 <BootScript>before</BootScript>
                  <Text>
                       !/usr/bin/perl
 my $name = "VPX";
 print "Hello, World $name !\n" ;
                  </Text>
           </Script>
           <Script>
                <Type>nscli</Type>
                <BootScript>after</BootScript>
                <Text>
                 add vlan 33
 bind vlan 33 -ifnum 1/2
                </Text>
           </Script>
         </Scripts>
     </ScriptSettingSection>
 </cs:ScriptSection>
</Environment>
<!--NeedCopy--> ```

En el archivo OVF, la “PropertySection” precedente se utiliza para la configuración de red de NetScaler, mientras que <cs:ScriptSection> se utiliza para encerrar todos los scripts. Las etiquetas <Scripts></Scripts> se utilizan para agrupar todos los scripts. Cada script se define entre las etiquetas <Script> </Script>. Cada etiqueta de script tiene los siguientes campos/etiquetas:

a) <Type>: Especifica el valor para el tipo de script. Valores posibles: Shell/Perl/Python/NSLCI (para scripts CLI de NetScaler)

b) <Parameter>: Proporciona parámetros al script. Cada script puede tener varias etiquetas <Parameter>.

c) <BootScript>: Especifica el punto de ejecución del script. Valores posibles para esta etiqueta: before/after. “before” especifica que el script se ejecuta antes de que se inicie PE. “after” especifica que el script se ejecutará después de que se inicie PE.

d) <Text>: Pega el contenido de un script.

Nota:

Actualmente, la instancia VPX no se encarga de la desinfección de scripts. Como administrador, debe verificar la validez del script.

No es necesario que todas las secciones estén presentes. Utilice una “PropertySection” vacía para definir solo los scripts que se ejecutarán en el primer arranque o una <cs:ScriptSection> vacía para definir solo la configuración de red.

Una vez que se hayan rellenado las secciones requeridas del archivo OVF (archivo de datos de usuario), utilice ese archivo para aprovisionar la instancia VPX.

Configuración de red

Como parte de la configuración de red, la instancia VPX lee:

  • Dirección IP de administración
  • Máscara de red
  • Puerta de enlace predeterminada

Una vez que los parámetros se leen correctamente, se rellenan en la configuración de NetScaler® para permitir la administración remota de la instancia. Si los parámetros no se leen correctamente o la unidad de configuración no está disponible, la instancia pasa al comportamiento predeterminado, que es:

  • La instancia intenta recuperar la información de la dirección IP de DHCP.
  • Si DHCP falla o agota el tiempo de espera, la instancia se inicia con la configuración de red predeterminada (192.168.100.1/16).

Script de cliente

La instancia VPX permite ejecutar un script personalizado durante el aprovisionamiento inicial. El dispositivo admite scripts de tipo Shell, Perl, Python y comandos CLI de NetScaler.

Autenticación de par de claves SSH

La instancia VPX copia la clave pública, disponible en la unidad de configuración como parte de los metadatos de la instancia, en su archivo “authorized_keys”. Esto permite al usuario acceder a la instancia con la clave privada.

Nota:

Cuando se proporciona una clave SSH, las credenciales predeterminadas (nsroot/nsroot) dejan de funcionar. Si se necesita acceso basado en contraseña, inicie sesión con la clave privada SSH respectiva y establezca una contraseña manualmente.

Antes de empezar

Antes de aprovisionar una instancia VPX en un entorno OpenStack, extraiga el archivo .qcow2 del archivo .tgz y cree

una imagen de OpenStack a partir de la imagen qcow2. Siga estos pasos:

  1. Extraiga el archivo .qcow2 del archivo .tqz escribiendo el siguiente comando

    tar xvzf <TAR file>
    tar xvzf <NSVPX-KVM-12.0-26.2_nc.tgz>
    NSVPX-KVM.xml
    NSVPX-KVM-12.0-26.2_nc.qcow2
    
  2. Cree una imagen de OpenStack utilizando el archivo .qcoz2 extraído en el paso 1 escribiendo el siguiente comando.

    openstack image create --container-format bare --property hw_disk_bus=ide --disk-format qcow2 --file <path to qcow2 file> --public <name of the OpenStack image>
    
    glance image-create --name="NS-VPX-12-0-26-2" --property hw_disk_bus=ide --ispublic=
    true --container-format=bare --disk-format=qcow2< NSVPX-KVM-12.0-26.2_nc.qcow2
    

    Figura 1: La siguiente ilustración proporciona un ejemplo de salida para el comando glance image-create.

    Comando de creación de imagen OpenStack

Aprovisionamiento de la instancia VPX

Puede aprovisionar una instancia VPX de dos maneras utilizando una de las opciones:

  • Horizon (panel de control de OpenStack)
  • Comando de arranque de Nova (CLI de OpenStack)

Aprovisionar una instancia VPX mediante el panel de control de OpenStack

Siga estos pasos para aprovisionar la instancia VPX mediante Horizon:

  1. Inicie sesión en el panel de control de OpenStack.
  2. En el panel Proyecto, en el lado izquierdo del panel de control, seleccione Instancias.
  3. En el panel Instancias, haga clic en Iniciar instancia para abrir el asistente de inicio de instancia.

    ¡Asistente de inicio de instancia!(/es-es/vpx/media/instance-launching-wizard.png)

  4. En el asistente Iniciar instancia, rellene los detalles, como:

    1. Nombre de la instancia
    2. Tipo de instancia
    3. Recuento de instancias
    4. Origen de arranque de la instancia
    5. Nombre de la imagen

    ¡Detalles del asistente de inicio!(/es-es/vpx/media/launch-wizard-details.png)

  5. Implemente un nuevo par de claves o un par de claves existente a través de Horizon siguiendo estos pasos:

    a) Si no tiene un par de claves existente, cree la clave utilizando cualquier mecanismo existente. Si ya tiene una clave, omita este paso.

    b) Copie el contenido de la clave pública.

    c) Vaya a Horizon > Instancias > Crear nuevas instancias.

    d) Haga clic en Acceso y seguridad.

    e) Haga clic en el signo + junto al menú desplegable Par de claves y proporcione valores para los parámetros mostrados.

    f) Pegue el contenido de la clave pública en el cuadro Clave pública, asigne un nombre a la clave y haga clic en Importar par de claves.

    Importar par de claves OpenStack

  6. Haga clic en la pestaña Post-creación del asistente. En Script de personalización, añada el contenido del archivo de datos de usuario. El archivo de datos de usuario contiene la dirección IP, la máscara de red y los detalles de la puerta de enlace, así como los scripts de cliente de la instancia VPX.

  7. Después de seleccionar o importar un par de claves, marque la opción config-drive y haga clic en Iniciar.

    Iniciar instancia

Aprovisionar la instancia VPX mediante la CLI de OpenStack

Siga estos pasos para aprovisionar una instancia VPX mediante la CLI de OpenStack.

  1. Para crear una imagen a partir de qcow2, escriba el siguiente comando:

    openstack image create --container-format bare --property hw_disk_bus=ide --diskformat qcow2 --file NSVPX-OpenStack.qcow2 --public VPX-ToT-Image

  2. Para seleccionar una imagen para crear una instancia, escriba el siguiente comando:

    openstack image list | more

  3. Para crear una instancia de un tipo (flavor) particular, escriba el siguiente comando para elegir un ID/Nombre de tipo (flavor) de una lista:

    openstack flavor list

  4. Para adjuntar una NIC a una red en particular, escriba el siguiente comando para elegir un ID de red de una lista de redes:

    openstack network list

  5. Para crear una instancia, escriba el siguiente comando:

    openstack server create --flavor FLAVOR_ID --image IMAGE_ID --key-name KEY_NAME
    --user-data USER_DATA_FILE_PATH --config-drive True --nic net-id=net-uuid
    INSTANCE_NAME
    openstack server create --image VPX-ToT-Image --flavor m1.medium --user-data
    ovf.xml --config-drive True --nic net-id=2734911b-ee2b-48d0-a1b6-3efd44b761b9
    VPX-ToT
    

Figura 2: La siguiente ilustración proporciona una salida de ejemplo.

CLI de OpenStack para aprovisionar

Aprovisionar la instancia de NetScaler VPX mediante OpenStack