cybergavin.nutanix_vm_create
Ansible-Rollenname - cybergavin.nutanix_vm_create
Diese Ansible-Rolle ermöglicht die Erstellung von ein oder mehreren VMs auf einem einzelnen Nutanix-Cluster.
Funktionen
- Ermöglicht die Bereitstellung von VMs aus verschiedenen Festplatten-Images
- Ermöglicht die Bereitstellung von VMs in unterschiedlichen Subnetzen
- Generiert eine Inventar-Datei mit den IP-Adressen der erstellten VMs, die für spätere Verwendung durch andere Playbooks genutzt werden kann
- Falls aktiviert, mountet und aktiviert die Nutanix Guest Tools auf den VMs nach der Bereitstellung.
HINWEIS:
- Erstellt VMs standardmäßig mit UEFI-Bootkonfiguration. Dies kann global in der Datei vars/main.yml überschrieben werden.
Anforderungen
- Eine vom Benutzer bereitgestellte CSV-Datei, die die Spezifikationen von ein oder mehreren VMs enthält. Siehe die Beispiel-Datei files/vm.csv im Rollenverzeichnis.
- Eine vom Benutzer bereitgestellte Variablen-Datei mit passenden Werten für erforderliche Variablen.
Rollenspezifische Variablen
- pc_cluster_fqdn # FQDN/IP für Prism Central
- cluster_name # Name des Nutanix-Clusters, auf dem die VMs erstellt werden
- vm_data_csv # Relativer Pfad und Name der CSV-Datei mit den Details der einzurichtenden VMs
- global_debug # Globaler Debug-Flag (boolean)
- enable_ngt # Nutanix Guest Tools aktivieren? (boolean)
- boot_type # Boot-Typ für alle VMs - "UEFI" (Standard), "LEGACY" oder "SECURE_BOOT"
Abhängigkeiten
Keine
Getestete Umgebung:
- Ansible 2.9
- Nutanix AOS 5.15.4
- AHV 20190916.360
Beispielhafte Verwendung nach der Installation der Ansible-Rolle
SCHRITT 1: Erstellen Sie eine vars/main.yml-Datei gemäß folgendem Beispiel:
pc_cluster_fqdn: "prismcentral.contoso.com" # FQDN/IP für Prism Central
cluster_name: "mynutanix" # Name des Nutanix-Clusters, auf dem die VMs erstellt werden
vm_data_csv: "files/vm.csv" # Relativer Pfad und Name der CSV-Datei mit den Details der einzurichtenden VMs
global_debug: false # Globaler Debug-Flag
SCHRITT 2: Erstellen Sie eine files/vm.csv-Datei gemäß folgendem Beispiel:
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
SCHRITT 3: Erstellen Sie eine Playbook-Datei main.yml gemäß folgendem Beispiel:
---
- name: VMs auf Nutanix AHV erstellen
hosts: localhost
connection: local
gather_facts: false
vars_prompt:
- name: prism_user
prompt: Geben Sie einen Benutzernamen für den Zugriff auf Prism Central ein
private: no
- name: prism_password
prompt: Geben Sie das Passwort für den oben genannten Benutzer ein
unsafe: yes
private: yes
tasks:
- name: Variablen einfügen
include_vars: dir=vars
- name: Verwende Ansible-Rolle cybergavin.nutanix_vm_create
include_role:
name: cybergavin.nutanix_vm_create
HINWEIS: Im obigen Beispiel-Playbook wird vars_prompt verwendet, um den Benutzer nach den Prism-Anmeldeinformationen zu fragen. Wenn Sie ein Vault für diese Anmeldeinformationen verwenden oder sie auf andere Weise akzeptieren, stellen Sie sicher, dass sie in den Variablen prism_user und prism_password gespeichert werden.
SCHRITT 4: Führen Sie das Playbook gemäß folgendem Beispiel aus:
ansible-playbook main.yml
HINWEIS:
- Eine Inventar-Datei files/inventory wird erstellt, die die IP-Adressen der erstellten VMs enthält.
- Wenn Sie NGT aktivieren möchten, können Sie auch "enable_ngt: true" in vars/main.yml setzen.
Lizenz
GPLv3.0
Autoreninformationen
Cybergavin - https://cybergav.in - https://github.com/cybergav.in
Referenzen
- Beeinflusst/Inspirierung durch die Ansible-Rolle mbach04.nutanix_vm_provisioner unter https://github.com/mbach04/nutanix_vm_provisioner.
- Die Ansible-Rolle mbach04.nutanix_vm_provisioner ist unter der MIT-Lizenz mit Urheberrecht (c) 2018 Red Hat lizenziert.
An Ansible role for creating Nutanix VMs on a single cluster
ansible-galaxy install cybergavin.nutanix_vm_create