XenServer

Automatización de XenServer con Terraform

XenServer Terraform Provider permite a los administradores de TI automatizar las tareas de configuración y administración de los entornos de XenServer. Esto es especialmente útil en configuraciones a gran escala, donde la automatización garantiza la consistencia, reduce los errores manuales y ahorra tiempo. Con el proveedor de Terraform, puede:

  • Creación de máquinas virtuales (VM)
  • Administrar instantáneas (crear y eliminar)
  • Configurar el almacenamiento (agregar o quitar tipos locales y NFS)
  • Configurar y administrar redes
  • Recuperar información sobre los hosts de XenServer

Principales ventajas de XenServer Terraform Provider:

  • Automatización: simplifica la implementación y administración de entornos XenServer a través de prácticas de infraestructura como código (IaC).
  • Eficiencia: automatiza tareas como la creación de máquinas virtuales, la gestión de instantáneas y la configuración de almacenamiento o red, minimizando la intervención manual.
  • Consistencia: Garantiza configuraciones uniformes en entornos grandes, minimizando los errores.
  • Escalabilidad: Apoya el rápido crecimiento de la infraestructura al optimizar la creación y reconstrucción de entornos, como las configuraciones de control de calidad.

Requisitos previos

Antes de utilizar el proveedor de Terraform de XenServer, asegúrese de tener lo siguiente:

  • Terraform versión 1.8 o superior

    Descargar Terraform desde el sitio oficial Guía de instalación de Terraform.

    Los usuarios de Windows pueden instalar Terraform usando Chocolatey ejecutando el siguiente comando:

    choco install terraform
  • Instancia de XenServer con acceso administrativo

  • Credenciales de la API de XenServer

    Estos incluyen el nombre de usuario, la contraseña y la dirección IP de su XenServer.

Introducción

  1. Prepare la configuración de Terraform.

    Para comenzar, agregue el proveedor Terraform de XenServer a su archivo de configuración de Terraform main.tf:

    terraform { required_providers { xenserver = { source = "xenserver/xenserver" } } } provider "xenserver" { host = "https://<ip address of XenServer>" username = "root" password = <root password> }
  2. Definir recursos.

    Por ejemplo, para crear una máquina virtual, defina el recurso en el archivo de configuración:

    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" } }

    O bien, para crear un repositorio de almacenamiento (SR) NFS:

    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. Inicialice y aplique la configuración.

    Para instalar el proveedor Terraform de XenServer, ejecute:

    terraform init

    A continuación, para aprovisionar los recursos definidos, ejecute:

    terraform apply

Para obtener información sobre configuraciones avanzadas y recursos adicionales, consulte la Documentación del proveedor de XenServer Terraform. Si encuentra algún problema, comuníquese con el soporte técnico o genere un ticket de problema en GitHub.

Novedades

El proveedor Terraform de XenServer se actualiza independientemente de las versiones de XenServer para introducir nuevas capacidades de automatización, correcciones y garantizar la compatibilidad continua.

Proveedor Terraform de XenServer 0.2.1

Publicado el 20 de enero de 2025

Esta versión presenta las siguientes nuevas capacidades de automatización:

  • Cree una máquina virtual a partir de una plantilla con copia de disco completa.

Esta versión contiene las siguientes mejoras:

  • Devuelve UUID en lugar de referencias internas para mejorar la usabilidad.

Esta versión contiene correcciones para los siguientes problemas:

  • La creación, modificación o destrucción de un grupo a veces puede fallar y salir del comando SSH con un error.

Versiones anteriores

0.2.0

Publicado el 11 de noviembre de 2024

Esta versión presenta las siguientes nuevas capacidades de automatización:

  • Agregue y elimine hosts de los grupos con facilidad, lo que mejora la escalabilidad y simplifica el mantenimiento.
  • Actualice la red de administración y SR predeterminada.
  • Cree y elimine almacenamiento SMB/CIFS, lo que ofrece una mayor flexibilidad en las configuraciones de almacenamiento.

Esta versión contiene las siguientes mejoras:

  • Elimina el límite de número de discos al crear máquinas virtuales, lo que reduce la dependencia del hardware y optimiza el almacenamiento.
  • Permite que las máquinas virtuales se reviertan a instantáneas, lo que hace que la recuperación y la reversión sean más sencillas.
  • Permitir que se lean credenciales desde variables de entorno, simplificando la gestión de la configuración.

0.1.2

Lanzado Oct 31, 2024

Esta versión contiene correcciones para los siguientes problemas:

  • Si está utilizando la versión 0.1.1 de XenServer Terraform Provider, es posible que encuentre problemas de compatibilidad después de aplicar las actualizaciones de XenServer 8 publicadas en acceso anticipado el 25 de septiembre de 2024 y en acceso normal el 2 de octubre de 2024. La versión 0.1.2 resuelve estos problemas de compatibilidad.
Automatización de XenServer con Terraform