Aprovisione la instancia Citrix ADC VPX mediante OpenStack

Puede aprovisionar una instancia de Citrix ADC VPX en un entorno Openstack mediante el comando de arranque Nova (CLI de OpenStack) o Horizon (panel de control de OpenStack).

Aprovisionar una instancia VPX, opcionalmente implica el uso de datos de la unidad de configuración. La unidad de configuración es una unidad de configuración especial que se conecta a la instancia como un dispositivo de CD-ROM cuando se inicia. 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 Gateway predeterminada y para inyectar scripts de clientes.

En un dispositivo Citrix ADC, 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 Citrix ADC VPX en el entorno OpenStack.

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

Una vez que haya un par de claves disponible, copie la clave privada en una ubicación segura a la que tendrán acceso las personas autorizadas. En OpenStack, la clave pública se puede implementar en una instancia VPX mediante el comando de arranque Horizon o Nova. Cuando se aprovisiona una instancia VPX mediante OpenStack, primero detecta que la instancia se está iniciando en un entorno OpenStack leyendo una cadena de 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 Hypervisor KVM. La unidad debe tener una etiqueta específica de OpenStack.

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 proporciona.

Archivo de datos de usuario

La instancia de Citrix ADC VPX utiliza un archivo OVF personalizado, también conocido como archivo de datos de usuario, para inyectar scripts personalizados de configuración de red. Este archivo se proporciona como parte de la unidad de configuración. A continuación se muestra 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>
```

En el archivo OVF anterior "PropertySection" se utiliza para la configuración de red NetScaler mientras que <cs:ScriptSection> se utiliza para encerrar todos los scripts. <Scripts></Scripts> se utilizan para agrupar todos los scripts juntos. Cada script se define entre <! [CDATA [<Script> </Script>]] > etiquetas. 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 de NetScaler CLI)

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

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

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

Nota

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

No todas las secciones necesitan estar presentes. Utilice una “PropertySection” vacía para definir solo scripts para ejecutar en el primer arranque o una vacía para definir solo la configuración de red.

Una vez rellenadas las secciones requeridas del archivo OVF (archivo userdata), 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

Después de leer correctamente los parámetros, 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 supera el tiempo de espera, la instancia aparece con la configuración de red predeterminada (192.168.100.1/16).

Script del cliente

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

Autenticación de par de claves SSH

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

Nota

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

Antes de empezar

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

una imagen de OpenStack 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 mediante 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.

    Imagen localizada

Aprovisionamiento de la instancia VPX

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

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

Aprovisione 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, situado a la izquierda del tablero de mandos, seleccione Instancias.
  3. En el panel Instancias, haga clic en Iniciar instancia para abrir el Asistente de inicio de instancias.

    Imagen localizada

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

    1. Nombre de la instancia
    2. Sabor de instancia
    3. Recuento de instancias
    4. Origen de inicio de instancia
    5. Nombre de la imagen

    Imagen localizada

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

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

    b) Copiar 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 + situado junto al menú desplegable Par de claves y proporcione los valores de los parámetros mostrados.

    f) Pegar contenido de clave pública en el cuadro Clave pública, dar un nombre a la clave y hacer clic en Importar par de claves.

    Imagen localizada

  6. Haga clic en la ficha Creación de publicaciones del asistente. En Script de personalización, agregue el contenido del archivo de datos de usuario. El archivo userdata contiene la dirección IP, los detalles de la máscara de red y la puerta de enlace, así como 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.

    Imagen localizada

Aprovisione la instancia VPX mediante OpenStack CLI

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

  1. Para crear una imagen desde 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 sabor determinado, escriba el siguiente comando para elegir un ID de sabor de una lista:

    openstack flavor list

  4. Para conectar una NIC a una red determinada, 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 un resultado de ejemplo.

Imagen localizada