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
- Inspiré par le rôle Ansible mbach04.nutanix_vm_provisioner à https://github.com/mbach04/nutanix_vm_provisioner.
- Le rôle Ansible mbach04.nutanix_vm_provisioner est sous licence MIT avec Copyright (c) 2018 Red Hat.
An Ansible role for creating Nutanix VMs on a single cluster
ansible-galaxy install cybergavin.nutanix_vm_create