Provisionner l’instance NetScaler VPX à l’aide d’OpenStack
Vous pouvez provisionner une instance NetScaler VPX dans un environnement OpenStack soit en utilisant la commande Nova boot (CLI OpenStack), soit Horizon (tableau de bord OpenStack).
Le provisionnement d’une instance VPX implique facultativement l’utilisation de données provenant du lecteur de configuration (config drive). Le lecteur de configuration est un lecteur de configuration spécial qui se connecte à l’instance en tant que périphérique CD-ROM lors de son démarrage. Ce lecteur de configuration peut être utilisé pour transmettre la configuration réseau, telle que l’adresse IP de gestion, le masque de sous-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. Désormais, le mécanisme d’authentification par paire de clés SSH est 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, afin de 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 vers 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 en utilisant 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 lecteur doit avoir 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 fournis.
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 les 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, la « PropertySection » précédente est utilisée pour la configuration réseau NetScaler, tandis que <cs:ScriptSection> est utilisée pour encapsuler tous les scripts. Les balises <Scripts></Scripts> sont utilisées pour regrouper tous les scripts. Chaque script est défini entre les balises <Script> </Script>. Chaque balise de script possède les champs/balises suivants :
a) <Type>: Spécifie la valeur du type de script. Valeurs possibles : Shell/Perl/Python/NSLCI (pour les scripts CLI NetScaler)
b) <Parameter>: Fournit des paramètres au script. Chaque script peut avoir plusieurs balises <Parameter>.
c) <BootScript>: Spécifie le point d’exécution du script. Valeurs possibles pour cette balise : before/after. « before » spécifie que le script est exécuté avant le démarrage de PE. « after » spécifie que le script sera exécuté après le démarrage 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 n’ont pas besoin d’être présentes. Utilisez une « PropertySection » vide pour définir uniquement les scripts à exécuter au premier démarrage ou une <cs:ScriptSection> vide pour définir uniquement la configuration réseau.
Une fois les sections requises du fichier OVF (fichier de données utilisateur) renseignées, 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 lus avec succès, ils sont renseignés dans la configuration NetScaler® pour permettre la gestion de l’instance à distance. Si les paramètres ne sont pas lus avec succès ou si le lecteur de configuration n’est pas disponible, l’instance passe au comportement par défaut, qui est :
- L’instance tente de récupérer les informations d’adresse IP auprès du DHCP.
- Si le DHCP échoue ou expire, l’instance démarre avec la configuration réseau par défaut (192.168.100.1/16).
Script client
L’instance VPX permet d’exécuter un script personnalisé lors du 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 dans le cadre des métadonnées de l’instance, dans son fichier « authorized_keys ». Cela permet à l’utilisateur d’accéder à l’instance avec 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, connectez-vous avec la clé privée SSH respective et définissez manuellement un mot de passe.
Avant de commencer
Avant de provisionner une instance VPX dans un environnement OpenStack, extrayez le fichier .qcow2 du fichier .tgz et créez
une image OpenStack à partir de l’image qcow2. Suivez ces étapes :
-
Extrayez le fichier
.qcow2du fichier.tqzen tapant la commande suivantetar xvzf <TAR file> tar xvzf <NSVPX-KVM-12.0-26.2_nc.tgz> NSVPX-KVM.xml NSVPX-KVM-12.0-26.2_nc.qcow2 -
Créez une image OpenStack à l’aide du fichier
.qcoz2extrait à 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.qcow2Figure 1 : L’illustration suivante fournit un exemple de sortie pour la commande glance image-create.

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 Nova boot (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 :
- Connectez-vous au tableau de bord OpenStack.
- Dans le panneau Projet, sur le côté gauche du tableau de bord, sélectionnez Instances.
-
Dans le panneau Instances, cliquez sur Lancer une instance pour ouvrir l’assistant de lancement d’instance.

-
Dans l’assistant Lancer une instance, renseignez les détails, tels que :
- Nom de l’instance
- Type d’instance
- Nombre d’instances
- Source de démarrage de l’instance
- Nom de l’image

-
Déployez une nouvelle paire de clés ou une paire de clés existante via Horizon en suivant les étapes suivantes :
a) Si vous n’avez pas de paire de clés existante, créez la clé en utilisant n’importe quel mécanisme existant. Si vous avez une clé existante, 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 Paire de clés et indiquez les valeurs des 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.

-
Cliquez sur l’onglet Post-création dans l’assistant. Dans Script de personnalisation, ajoutez le contenu du fichier de données utilisateur. Le fichier de données utilisateur contient l’adresse IP, le masque de sous-réseau et les détails de la passerelle, ainsi que les scripts client de l’instance VPX.
-
Une fois qu’une paire de clés est sélectionnée ou importée, cochez l’option config-drive et cliquez sur Lancer.

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.
-
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 -
Pour sélectionner une image pour la création d’une instance, tapez la commande suivante :
openstack image list | more -
Pour créer une instance d’une saveur particulière, tapez la commande suivante pour choisir un ID/Nom de saveur dans une liste :
openstack flavor list -
Pour attacher une carte réseau à un réseau particulier, tapez la commande suivante pour choisir un ID de réseau dans une liste de réseaux :
openstack network list -
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.
