XenServer

Automatisation de XenServer avec Terraform

Le fournisseur Terraform XenServer permet aux administrateurs informatiques d’automatiser les tâches de configuration et de gestion des environnements XenServer. Ceci est particulièrement utile dans les configurations à grande échelle, où l’automatisation garantit la cohérence, réduit les erreurs manuelles et fait gagner du temps. Avec le fournisseur Terraform, vous pouvez :

  • Créer des machines virtuelles (VM)
  • Gérer les instantanés (création et suppression)
  • Configurer le stockage (ajouter ou supprimer des types locaux et NFS)
  • Configurer et gérer des réseaux
  • Récupérer des informations sur les hôtes XenServer

Principaux avantages du fournisseur XenServer Terraform :

  • Automatisation : simplifie le déploiement et la gestion des environnements XenServer grâce à des pratiques d’infrastructure en tant que code (IaC).
  • Efficacité : automatise des tâches telles que la création de machines virtuelles, la gestion des instantanés et la configuration du stockage ou du réseau, en minimisant les interventions manuelles.
  • Cohérence : garantit des configurations uniformes dans de grands environnements, minimisant ainsi les erreurs.
  • Évolutivité : prend en charge la croissance rapide de l’infrastructure en rationalisant la création et la reconstruction d’environnements, tels que les configurations d’assurance qualité.

Prérequis

Avant d’utiliser le fournisseur Terraform XenServer, assurez-vous que vous disposez des éléments suivants :

  • Terraform version 1.8 ou supérieure

    Téléchargez Terraform sur le site officiel Guide d’installation Terraform.

    Les utilisateurs de Windows peuvent installer Terraform à l’aide de Chocolatey en exécutant la commande suivante :

    choco install terraform
  • Instance XenServer avec accès administrateur

  • Informations d’identification de l’API XenServer

    Il s’agit notamment du nom d’utilisateur, du mot de passe et de l’adresse IP de votre XenServer.

Prise en main

  1. Préparez la configuration Terraform.

    Pour commencer, ajoutez le fournisseur XenServer Terraform à votre fichier de configuration Terraform main.tf:

    terraform { required_providers { xenserver = { source = "xenserver/xenserver" } } } provider "xenserver" { host = "https://<ip address of XenServer>" username = "root" password = <root password> }
  2. Définissez les ressources.

    Par exemple, pour créer une machine virtuelle, définissez la ressource dans votre fichier de configuration :

    data "xenserver_sr" "sr" { name_label = "Local storage" } resource "xenserver_vdi" "vdi1" { name_label = "local-storage-vdi-1" sr_uuid = data.xenserver_sr.sr.data_items[0].uuid virtual_size = 100 * 1024 * 1024 * 1024 } data "xenserver_network" "network" {} resource "xenserver_vm" "windows_vm" { name_label = "Windows VM" template_name = "Windows 11" static_mem_max = 4 * 1024 * 1024 * 1024 vcpus = 4 cores_per_socket = 2 cdrom = "win11-x64_uefi.iso" boot_mode = "uefi_security" boot_order = "cdn" hard_drive = [ { vdi_uuid = xenserver_vdi.vdi1.uuid, bootable = true, mode = "RW" } ] network_interface = [ { device = "0" network_uuid = data.xenserver_network.network.data_items[0].uuid, } ] other_config = { "tf_created" = "true" } }

    Ou, pour créer un référentiel de stockage NFS (SR) :

    resource "xenserver_sr" "nfs" { name_label = "Test NFS SR" type = "nfs" content_type = "" shared = true device_config = { server = "192.0.2.1" serverpath = "/server/path" nfsversion = "3" } sm_config = { shared = "true" } }
  3. Initialisez et appliquez la configuration.

    Pour installer le fournisseur XenServer Terraform, exécutez :

    terraform init

    Ensuite, pour provisionner les ressources définies, exécutez :

    terraform apply

Pour des configurations avancées et des ressources supplémentaires, reportez-vous à la section Documentation du fournisseur XenServer Terraform. Si vous rencontrez des problèmes, contactez le support ou créez un ticket d’incident GitHub.

Nouveautés

Le fournisseur XenServer Terraform est mis à jour indépendamment des versions de XenServer pour introduire de nouvelles fonctionnalités d’automatisation, des correctifs et assurer une compatibilité continue.

Fournisseur Terraform XenServer 0.2.1

Sortie le 20 janvier 2025

Cette version introduit les nouvelles fonctionnalités d’automatisation suivantes :

  • Créer une VM à partir d’un modèle avec une copie complète du disque.

Cette version contient les améliorations suivantes :

  • Renvoyez les UUID au lieu des références internes pour améliorer la convivialité.

Cette version contient des correctifs pour les problèmes suivants :

  • La création, la modification ou la destruction d’un pool peut parfois échouer et quitter la commande SSH avec une erreur.

Versions précédentes

0.2.0

Sortie le 11 novembre 2024

Cette version introduit les nouvelles fonctionnalités d’automatisation suivantes :

  • Ajoutez et supprimez facilement des hôtes des pools, améliorant ainsi l’évolutivité et simplifiant la maintenance.
  • Mettre à jour le SR par défaut et le réseau de gestion.
  • Créez et supprimez le stockage SMB/CIFS, offrant une plus grande flexibilité dans les configurations de stockage.

Cette version contient les améliorations suivantes :

  • Supprimez la limite du nombre de disques lors de la création de machines virtuelles, réduisant ainsi la dépendance matérielle et optimisant le stockage.
  • Permet aux machines virtuelles de revenir aux snapshots, ce qui rend la récupération et la restauration plus simples.
  • Permet de lire les informations d’identification à partir des variables d’environnement, simplifiant ainsi la gestion de la configuration.

0.1.2

Sortie le 31 octobre 2024

Cette version contient des correctifs pour les problèmes suivants :

  • Si vous utilisez XenServer Terraform Provider version 0.1.1, vous risquez de rencontrer des problèmes de compatibilité après avoir appliqué les mises à jour XenServer 8 publiées en accès anticipé le 25 septembre 2024 et en accès normal le 2 octobre 2024. La version 0.1.2 résout ces problèmes de compatibilité.
Automatisation de XenServer avec Terraform