ADC

Provisionner l’instance NetScaler VPX à l’aide d’OpenStack

Vous pouvez provisionner une instance NetScaler VPX dans un environnement OpenStack à l’aide de la commande Nova boot (OpenStack CLI) ou d’Horizon (tableau de bord OpenStack).

Le provisioning d’une instance VPX implique éventuellement l’utilisation de données provenant du lecteur de configuration. Le lecteur de configuration est un lecteur de configuration spécial qui se connecte à l’instance en tant que lecteur de CD-ROM lors de son démarrage. Ce lecteur de configuration peut être utilisé pour transmettre des configurations réseau telles que l’adresse IP de gestion, le masque réseau, la passerelle par défaut et pour injecter des scripts client.

Dans une appliance NetScaler, le mécanisme d’authentification par défaut est basé sur un mot de passe. Le mécanisme d’authentification par paire de clés SSH est désormais pris en charge pour les instances NetScaler VPX dans l’environnement OpenStack.

La paire de clés (clé publique et clé privée) est générée avant d’utiliser le mécanisme de cryptographie à clé publique. Vous pouvez utiliser différents mécanismes, tels que Horizon, Puttygen.exe pour Windows et ssh-keygen pour l’environnement Linux, pour générer la paire de clés. Reportez-vous à la documentation en ligne des mécanismes respectifs pour plus d’informations sur la génération de paires de clés.

Une fois qu’une paire de clés est disponible, copiez la clé privée dans un emplacement sécurisé auquel les personnes autorisées ont accès. Dans OpenStack, la clé publique peut être déployée sur une instance VPX à l’aide de la commande Horizon ou Nova boot. Lorsqu’une instance VPX est provisionnée à l’aide d’OpenStack, elle détecte d’abord que l’instance démarre dans un environnement OpenStack en lisant une chaîne BIOS spécifique. Cette chaîne est « OpenStack Foundation » et pour les distributions Red Hat Linux, elle est stockée dans /etc/nova/release. Il s’agit d’un mécanisme standard disponible dans toutes les implémentations OpenStack basées sur la plateforme d’hyperviseur KVM. Le disque doit comporter une étiquette OpenStack spécifique.

Si le lecteur de configuration est détecté, l’instance tente de lire la configuration réseau, les scripts personnalisés et la paire de clés SSH si elle est fournie.

Fichier de données utilisateur

L’instance NetScaler VPX utilise un fichier OVF personnalisé, également appelé fichier de données utilisateur, pour injecter la configuration réseau et des scripts personnalisés. Ce fichier est fourni dans le cadre du lecteur de configuration. Voici un exemple de fichier OVF personnalisé.

```
<?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--> ```

Dans le fichier OVF qui précède, « PropertySection » est utilisé pour la configuration réseau de NetScaler tandis que \ <cs:ScriptSection> est utilisé pour inclure tous les scripts. Les balises <Scripts> \ \ </Scripts> sont utilisées pour regrouper tous les scripts. Chaque script est défini entre des balises <Script> \ \ </Script>. Chaque balise de script comporte les champs/balises suivants :

a) \ <Type> : Spécifie la valeur du type de script. Valeurs possibles : Shell/Perl/Python/NSLCI (pour les scripts NetScaler CLI)

b) \ <Parameter> : Fournit des paramètres au script. Chaque script peut comporter plusieurs \ <Parameter> tags.

c) \ <BootScript> : Spécifie le point d’exécution du script. Valeurs possibles pour cette balise : avant/après. « avant » indique que le script est exécuté avant l’apparition de PE. « after » indique que le script sera exécuté après l’arrivée de PE.

d) \ <Text> : Colle le contenu d’un script.

Remarque

Actuellement, l’instance VPX ne prend pas en charge la désinfection des scripts. En tant qu’administrateur, vous devez vérifier la validité du script.

Toutes les sections ne doivent pas être présentes. Utilisez une « PropertySection » vide pour définir uniquement les scripts à exécuter au premier démarrage ou une fenêtre vide pour définir uniquement la configuration réseau.

Une fois que les sections requises du fichier OVF (fichier de données utilisateur) sont remplies, utilisez ce fichier pour provisionner l’instance VPX.

Configuration réseau

Dans le cadre de la configuration réseau, l’instance VPX lit :

  • Adresse IP de gestion
  • Masque réseau
  • passerelle par défaut

Une fois les paramètres correctement lus, ils sont renseignés dans la configuration de NetScaler, afin de permettre la gestion de l’instance à distance. Si les paramètres ne sont pas lus correctement ou si le lecteur de configuration n’est pas disponible, l’instance passe au comportement par défaut, qui est le suivant :

  • L’instance tente de récupérer les informations d’adresse IP à partir de DHCP.
  • Si DHCP échoue ou s’arrête, l’instance présente la configuration réseau par défaut (192.168.100.1/16).

Script client

L’instance VPX permet d’exécuter un script personnalisé pendant le provisionnement initial. L’appliance prend en charge les scripts de type Shell, Perl, Python et les commandes CLI NetScaler.

Authentification par paire de clés SSH

L’instance VPX copie la clé publique, disponible dans le lecteur de configuration en tant que partie des métadonnées de l’instance, dans son fichier « authorized_keys ». Cela permet à l’utilisateur d’accéder à l’instance à l’aide d’une clé privée.

Remarque

Lorsqu’une clé SSH est fournie, les informations d’identification par défaut (nsroot/nsroot) ne fonctionnent plus. Si un accès par mot de passe est nécessaire, ouvrez une session avec la clé privée SSH respective et définissez manuellement un mot de passe.

Avant de commencer

Avant de provisionner une instance VPX sur un environnement OpenStack, extrayez le .qcow2 fichier du fichier .tgz et générez

Une image OpenStack de l’image qcow2. Procédez comme suit :

  1. Extrayez le .qcow2 fichier du .tqz fichier en tapant la commande suivante

    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. Créez une image OpenStack à l’aide du .qcoz2 fichier extrait à l’étape 1 en tapant la commande suivante.

    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
    

    Figure 1 : L’illustration suivante fournit un exemple de sortie pour la commande glance image-create.

    Commande de création d'image OpenStack

Provisionnement de l’instance VPX

Vous pouvez provisionner une instance VPX de deux manières en utilisant l’une des options suivantes :

  • Horizon (tableau de bord OpenStack)
  • Commande de démarrage Nova (CLI OpenStack)

Provisionner une instance VPX à l’aide du tableau de bord OpenStack

Suivez ces étapes pour provisionner l’instance VPX à l’aide d’Horizon :

  1. Connectez-vous au tableau de bord OpenStack.
  2. Dans le panneau Projet sur le côté gauche du tableau de bord, sélectionnez Instances.
  3. Dans le panneau Instances, cliquez sur Lancer une instance pour ouvrir l’Assistant Lancement d’instance.

    Assistant de lancement d'instance

  4. Dans l’assistant de lancement d’instance, entrez les détails, tels que :

    1. Nom de l’instance
    2. Saveur d’instance
    3. Nombre d’instances
    4. Source de démarrage de l’instance
    5. Nom de l’image

    Détails de l'assistant de lancement

  5. Déployez une nouvelle paire de clés ou une paire de clés existante via Horizon en procédant comme suit :

    a) Si vous n’avez pas de paire de clés existante, créez-la à l’aide des mécanismes existants. Si vous possédez déjà une clé, ignorez cette étape.

    b) Copiez le contenu de la clé publique.

    c) Accédez à Horizon > Instances > Créer de nouvelles instances.

    d) Cliquez sur Accès et sécurité.

    e) Cliquez sur le signe + à côté du menu déroulant Key Pair et fournissez des valeurs pour les paramètres affichés.

    f) Collez le contenu de la clé publique dans la zone Clé publique, donnez un nom à la clé et cliquez sur Importer la paire de clés .

    Importer une paire de clés OpenStack

  6. Cliquez sur l’onglet Création de publications dans l’Assistant. Dans le script de personnalisation, ajoutez le contenu du fichier de données utilisateur. Le fichier de données utilisateur contient l’adresse IP, les détails du masque réseau et de la passerelle, ainsi que les scripts client de l’instance VPX.

  7. Une fois qu’une paire de clés est sélectionnée ou importée, cochez l’option config-drive et cliquez sur Launch.

    Instance de lancement

Provisionner l’instance VPX à l’aide de l’interface de ligne de commande OpenStack

Suivez ces étapes pour provisionner une instance VPX à l’aide de l’interface de ligne de commande OpenStack.

  1. Pour créer une image à partir de qcow2, tapez la commande suivante :

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

  2. Pour sélectionner une image afin de créer une instance, tapez la commande suivante :

    openstack image list | more

  3. Pour créer une instance d’une saveur particulière, tapez la commande suivante pour choisir un identifiant/un nom de saveur parmi une liste :

    openstack flavor list

  4. Pour connecter une carte réseau à un réseau particulier, tapez la commande suivante pour choisir un ID réseau dans une liste de réseaux :

    openstack network list

  5. Pour créer une instance, tapez la commande suivante :

    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
    

Figure 2 : L’illustration suivante fournit un exemple de sortie.

OpenStack fournit une CLI

Provisionner l’instance NetScaler VPX à l’aide d’OpenStack