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 fixe à l’instance en tant que périphérique de CD-ROM lorsqu’il démarre. Ce lecteur de configuration peut être utilisé pour transmettre la configuration réseau telle que l’adresse IP de gestion, le masque réseau, la Gateway 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 CLI NetScaler)
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
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
- Gateway par défaut
Une fois les paramètres lus avec succès, ils sont renseignés dans la configuration NetScaler, afin de permettre la gestion à distance de l’instance. 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 :
- 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 dans le cadre des métadonnées d’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, 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 :
-
Extrayez le
.qcow2
fichier du.tqz
fichier en 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
.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.
Provisionnement de l’instance VPX
Vous pouvez provisionner une instance VPX de deux façons 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
Procédez comme suit pour provisionner l’instance VPX à l’aide d’Horizon :
- Connectez-vous au tableau de bord OpenStack.
- Dans le panneau Projet situé à gauche du tableau de bord, sélectionnez Instances.
-
Dans le panneau Instances, cliquez sur Lancer une instance pour ouvrir l’Assistant Lancement d’instance.
-
Dans l’assistant de lancement d’instance, entrez les détails, tels que :
- Nom de l’instance
- Saveur d’instance
- Nombre d’instances
- Source de démarrage d’instance
- Nom de l’image
-
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 clé à l’aide des mécanismes existants. Si vous avez une clé existante, ignorez cette étape.
b) Copier 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+ en regard 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 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.
-
Une fois qu’une paire de clés est sélectionnée ou importée, cochez l’option config-drive et cliquez sur Launch.
Provisionner l’instance VPX à l’aide de l’interface de ligne de commande OpenStack
Procédez comme suit 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 créer 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 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 réseau dans une liste réseau :
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.