Déployer Automatiquent des VMs en PowerShell (Partie 1)

Déployer Automatiquent des VMs en PowerShell (Partie 1)

Selon la taille de votre architecture VMware et le nombre de VMs que vous déployez, il peut être intéressant de prendre le temps nécessaire pour automatiser le déploiement de vos Vms.

 

Bien que nous soyons équipé de VRealize Orchestrator,  j’ai opté pour un script en PowerShell,  car :

  • On trouve très peu sur le net de documentations et d’exemples sur Orchestrator
  • il ne nécessite aucune licence supplémentaire

Avant de commencer ce post,  j’ai longtemps hésité sur le degré de détail que je devais insérer dans ce billet et j’ai finalement décidé de by-passer la première étape  qui regroupe les différents tests préalables au déploiement, pour me concentrer sur le déploiement et la customisation.

L’exemple de déploiement qui suit , s’appuie sur :

  • Des Templates de Vms
  • Les fichiers de customisation système  pour Linux et Microsoft  (customisation du hostname, nom de domaine, dns, …)

On peut trouver ou  créer ces fichiers de customisation sur le client lourd dans Home -> Management -> Customization Specification Manager

Sur le client léger , dans Home -> Monitoring -> Customization Specification manager

Un détail important,  car on le retrouvera un peu partout dans les exemples, dans notre script de déploiement, nous créons un objet myVM de type « PSCustomObject », cet objet sert à stocker toutes les données de la vm que l’on déploie.

Si vous souhaitez avoir plus d’information sur PSCustomObject, vous pouvez lire l’article de Kevin Marquette ici

 

1 – Préparation du fichier de Customisation de l’OS

 

Pour le fichier de customisation temporaire, on crée un nom de fichier horodaté, au cas ou l’on lancerait en parallèle plusieurs déploiements.

 

 

 

Puis, à partir du fichier de customisation en place (Linux ou Windows), on crée un nouveau fichier temporaire pour la customisation de la VM, avec les informations réseau comme l’IP , le masque de sous réseau, les serveurs DNS (si nécessaire)  et les serveurs WINS (si nécessaire sur Windows, mais pas chez nous…)

  • Génération du  fichier temporaire de customisation , dans le cas du déploiement d’une Vm Linux (les adresses DNS sont présents dans le fichier de customisation servant de modèle.)

  • Dans le cas du déploiement d’une VM Windows, nous ajoutons les serveurs DNS

Il ne faudra pas oublier de supprimer ce fichier de customisation une fois la vm générée.

2 – Création de la nouvelle VM

 

 

Pour créer la Vm , la commande est « NEW-VM ». Mais à cette commande on va ajouter un certain nombre d’arguments et on va spécifier le fichier de customisation que l’on vient juste de créer.

 

 

On retrouve donc ici les arguments :

  • name :  on indique  le nom  de la VM au sens VMWare, c’est-à-dire que l’on retrouve dans l’arborescence du vcenter.
  • template : on indique le template qui doit être utilisé pour le déploiement de la VM.
  • RessourcePool : on donne le nom du cluster d’ESXI sur lequel la VM doit être déployée.
  • Datastore : on indique le nom du Datastore ou du Cluster de Datastore de destination
  • OSCustomizationSpec : On indique le fichier de customisation qui doit être utilisé pour la customisation de l’OS
  • Location : le nom du folder de destination de la vue logique « Vms and Templates »

 

La documentation de la cmdlet « NEW-VM » est disponible ici avec toutes les options.

 

La cmdlet NEW-VM effectue une opération synchrone, elle nous rend donc la main une fois l’opération de création terminée.

3 – Customisation de l’OS de la VM

 

Une fois la VM créée, il vous suffit de la démarré pour que  la customisation de l’OS  se lance.

 

 

Et vous n’avez plus qu’à attendre  la fin de la customisation.

 

Pour surveiller le bon démarrage et la fin de la customisation, il faut effectuer une recherche dans les Events Logs VMWARE.

 

Dans mon script en PowerShell, pour le suivi des étapes de la customisation de l’OS,   j’utilise donc la fonction ci-dessous :

Une fois la Customisation finie, on supprime le fichier de customisation temporaire ….

 

Mais attention, à la fin de la customisation de l’OS, il y a un reboot de la machine et donc avant d’enchaîner les étapes suivantes et de passer à la customisation du hardware, il faut vérifier que la vm est bien redémarré. Pour cela, on vérifie le statut des tools de la VM.

 

Une fois les Tools de la VM redémarré, on peut maintenant continuer et passer à la customisation du Hardware, que nous allons détailler dans un second billet.

 

Lire la Partie 2
No Comments

Post a Comment

Comment
Name
Email
Website