cybergavin.nutanix_vm_create

Nom du rôle Ansible - cybergavin.nutanix_vm_create

Ce rôle Ansible permet la création d'une ou plusieurs machines virtuelles (VM) sur un unique cluster Nutanix.

Fonctionnalités

  • Permet le provisionnement de VMs à partir de différentes images disque
  • Permet le provisionnement de VMs dans différents sous-réseaux
  • Génère un fichier d'inventaire avec les adresses IP des VMs créées, pour une utilisation ultérieure par d'autres playbooks
  • Si activé, monte et active les outils invités Nutanix sur les VMs après le provisionnement.

REMARQUE :

  • Crée des VMs avec une configuration de démarrage UEFI par défaut. Cela peut être remplacé globalement dans le fichier vars/main.yml.

Exigences

  • Un fichier de valeurs séparées par des virgules fourni par l'utilisateur contenant les spécifications d'une ou plusieurs VMs. Reportez-vous au fichier d'exemple files/vm.csv dans le répertoire du rôle.
  • Un fichier de variables fourni par l'utilisateur contenant les valeurs appropriées pour les variables requises.

Variables du rôle

  • pc_cluster_fqdn # FQDN/IP pour Prism Central
  • cluster_name # Nom du cluster Nutanix sur lequel les VMs seront créées
  • vm_data_csv # Chemin relatif et nom du fichier de valeurs séparées par des virgules contenant les détails des VMs à déployer
  • global_debug # Indicateur de debug global (booléen)
  • enable_ngt # Activer les outils invités Nutanix ? (booléen)
  • boot_type # Type de démarrage pour toutes les VMs - "UEFI" (par défaut), "LEGACY" ou "SECURE_BOOT"

Dépendances

Aucune

Environnement testé :

  • Ansible 2.9
  • Nutanix AOS 5.15.4
  • AHV 20190916.360

Exemple d'utilisation après l'installation du rôle Ansible

ÉTAPE 1 : Créez un fichier vars/main.yml selon l'exemple suivant :

pc_cluster_fqdn: "prismcentral.contoso.com"   # FQDN/IP pour Prism Central
cluster_name: "mynutanix"                     # Nom du cluster Nutanix sur lequel les VMs seront créées
vm_data_csv: "files/vm.csv"                   # Chemin relatif et nom du fichier de valeurs séparées par des virgules contenant les détails des VMs à déployer
global_debug: false                           # Indicateur de débogage global

ÉTAPE 2 : Créez un fichier files/vm.csv selon l'exemple suivant :

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

ÉTAPE 3 : Créez un playbook main.yml selon l'exemple suivant :

---
- name: Créer des VMs sur Nutanix AHV
  hosts: localhost
  connection: local
  gather_facts: false
  vars_prompt:
    - name: prism_user
      prompt: Entrez un nom d'utilisateur pour l'accès à Prism Central
      private: no
    - name: prism_password
      prompt: Entrez le mot de passe pour l'utilisateur ci-dessus
      unsafe: yes
      private: yes
  tasks:
    - name: Inclure les variables
      include_vars: dir=vars
    - name: Utiliser le rôle Ansible cybergavin.nutanix_vm_create
      include_role:
        name: cybergavin.nutanix_vm_create

REMARQUE : Dans l'exemple de playbook ci-dessus, vars_prompt est utilisé pour demander à l'utilisateur les informations d'identification de Prism. Si vous choisissez d'utiliser un coffre pour ces informations d'identification ou de les accepter par d'autres moyens, assurez-vous qu'elles sont stockées dans les variables prism_user et prism_password.

ÉTAPE 4 : Exécutez le playbook selon l'exemple suivant :

ansible-playbook main.yml

REMARQUE :

  • Un fichier d'inventaire files/inventory sera généré contenant les adresses IP des VMs créées.
  • Si vous souhaitez activer NGT, vous pouvez également définir "enable_ngt: true" dans vars/main.yml.

Licence

GPLv3.0

Informations sur l'auteur

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

Références

À propos du projet

An Ansible role for creating Nutanix VMs on a single cluster

Installer
ansible-galaxy install cybergavin.nutanix_vm_create
Licence
gpl-3.0
Téléchargements
137
Propriétaire