cybergavin.nutanix_vm_create

Nombre del Rol de Ansible - cybergavin.nutanix_vm_create

Este rol de Ansible permite la creación de una o más máquinas virtuales (VMs) en un solo clúster Nutanix.

Características

  • Permite aprovisionar VMs a partir de diferentes imágenes de disco.
  • Permite aprovisionar VMs en diferentes subredes.
  • Genera un archivo de inventario con las direcciones IP de las VMs creadas, para su uso posterior por otros playbooks.
  • Si está habilitado, monta y activa las herramientas de Nutanix en las VMs después del aprovisionamiento.

NOTA:

  • Crea VMs con configuración de arranque UEFI por defecto. Esto puede ser anulado globalmente en el archivo de variables vars/main.yml.

Requisitos

  • Un archivo de valores separados por comas proporcionado por el usuario que contenga las especificaciones de una o más VMs. Consulta el archivo de ejemplo files/vm.csv en el directorio del rol.
  • Un archivo de variables proporcionado por el usuario que contenga valores apropiados para las variables requeridas.

Variables del Rol

  • pc_cluster_fqdn # FQDN/IP para Prism Central
  • cluster_name # Nombre del clúster Nutanix en el que se crearán las VMs
  • vm_data_csv # Ruta y nombre relativo del archivo de valores separados por comas que contiene detalles de las VMs a desplegar
  • global_debug # Ficha de depuración global (booleano)
  • enable_ngt # ¿Habilitar las herramientas de Nutanix? (booleano)
  • boot_type # Tipo de arranque para todas las VMs - "UEFI" (por defecto), "LEGACY" o "SECURE_BOOT"

Dependencias

Ninguna

Entorno de Pruebas:

  • Ansible 2.9
  • Nutanix AOS 5.15.4
  • AHV 20190916.360

Ejemplo de uso después de la instalación del rol de Ansible

PASO 1: Crea un archivo vars/main.yml según el siguiente ejemplo:

pc_cluster_fqdn: "prismcentral.contoso.com"   # FQDN/IP para Prism Central
cluster_name: "mynutanix"                     # Nombre del clúster Nutanix en el que se crearán las VMs
vm_data_csv: "files/vm.csv"                   # Ruta y nombre relativo del archivo de valores separados por comas que contiene detalles de las VMs a desplegar
global_debug: false                           # Ficha de depuración global

PASO 2: Crea un archivo files/vm.csv según el siguiente ejemplo:

vm_name,ip,subnet_name,image_name,num_vcpu,memory_mib,disk_list_mib
testvm,10.1.1.10,webnet,rhel8-image,2,4096,10240-20480

PASO 3: Crea un archivo de playbook llamado main.yml según el siguiente ejemplo:

---
- name: Crear VMs en Nutanix AHV
  hosts: localhost
  connection: local
  gather_facts: false
  vars_prompt:
    - name: prism_user
      prompt: Introduce un nombre de usuario para el acceso a Prism Central
      private: no
    - name: prism_password
      prompt: Introduce la contraseña para el usuario anterior
      unsafe: yes
      private: yes
  tasks:
    - name: Incluir variables
      include_vars: dir=vars
    - name: Usar el rol de Ansible cybergavin.nutanix_vm_create
      include_role:
        name: cybergavin.nutanix_vm_create

NOTA: En el playbook de ejemplo anterior, vars_prompt se usa para pedir al usuario las credenciales de Prism. Si optas por usar un vault para estas credenciales o aceptarlas por otros medios, asegúrate de que se almacenen en las variables prism_user y prism_password.

PASO 4: Ejecuta el playbook según el siguiente ejemplo:

ansible-playbook main.yml

NOTA:

  • Se generará un archivo de inventario files/inventory que contendrá las direcciones IP de las VMs que se crearon.
  • Si deseas habilitar NGT, también puedes establecer "enable_ngt: true" en vars/main.yml.

Licencia

GPLv3.0

Información del Autor

Cybergavin - https://cybergav.in - https://github.com/cybergav.in

Referencias

  • Influenciado/Inspirado por el rol de Ansible mbach04.nutanix_vm_provisioner en https://github.com/mbach04/nutanix_vm_provisioner.
  • El rol de Ansible mbach04.nutanix_vm_provisioner está licenciado bajo la Licencia MIT con Copyright (c) 2018 Red Hat.
Acerca del proyecto

An Ansible role for creating Nutanix VMs on a single cluster

Instalar
ansible-galaxy install cybergavin.nutanix_vm_create
Licencia
gpl-3.0
Descargas
137
Propietario