mbach04.nutanix_vm_provisioner
Nutanix VM Provisioner
Podstawowa rola Ansible do tworzenia wirtualnych maszyn na Nutanix AHV z użyciem APIv3.
Wymagane zmienne
api_version: "3.0" # Nutanix rezygnuje z API v2, najlepiej używać v3, jeśli jest dostępne
cluster_url: 172.16.1.100 # Adres IP, na który zazwyczaj logujesz się do PRISM
prism_user: admin # Konto z uprawnieniami do tworzenia zasobów w klastrze
prism_password: secret # Hasło do twojego konta, pamiętaj, aby nie przechowywać go w postaci jawnej, użyj Ansible vault
cluster_name: "Twój Klastr" # Nazwa klastra, w którym będziesz tworzyć maszyny wirtualne
subnet_name: "VMNet" # Nazwa podsieci (vlan), do której dodasz maszyny wirtualne
image_name: "RHEL_Server_7.5" # Nazwa obrazu dysku lub ISO, które będą używane
# Lista słowników definiujących maszyny wirtualne, które chcesz utworzyć
# Uwaga, możesz podzielić to na kilka osobnych list i nadpisać vm_defs przy wywoływaniu roli, aby przejść przez
# kilka zestawów maszyn wirtualnych.
vm_defs:
- {vm_name: my-vm-01, vm_ip: '172.16.1.111', vm_ram: 8192, vm_num_cpu_per_socket: 1, vm_num_sockets: 1, vm_disk_list: [disk_size_mib: 152588]}
Cloud-init
Jeśli nie chcesz używać dostosowywania gościa (cloud-init w tym przypadku), usuń sekcję guest_customization
z pliku templates/vm-body.yml.j2
lub przekształć ją w zmienną, a następnie wyślij swoją zmianę do tego repozytorium. :-)
Jeśli chcesz użyć roli ze skryptem cloud-init i ustawić hasło użytkownika, możesz to zrobić (ale nie jest to najlepsza praktyka bezpieczeństwa).
Użyj następującego polecenia na hoście RHEL, aby wygenerować hasło hashowane SHA-512, które będzie używane jako cloud_init_root_pass z obrazem kvm
RHEL.
python -c 'import crypt,getpass; print crypt.crypt(getpass.getpass())'
Ustaw otrzymany ciąg jako cloud_init_root_pass
w pliku group_vars/*/all.yaml
.
Przykładowy Playbook
---
- name: Tworzenie maszyn wirtualnych
hosts: localhost
gather_facts: false
vars:
my_vms:
- {vm_name: server1, vm_ip: '172.29.171.100', vm_ram: 4096, vm_num_cpu_per_socket: 1, vm_num_sockets: 4, vm_disk_list: [disk_size_mib: 76294, disk_size_mib: 152588]}
- {vm_name: server2, vm_ip: '172.29.171.101', vm_ram: 4096, vm_num_cpu_per_socket: 1, vm_num_sockets: 4, vm_disk_list: [disk_size_mib: 76294, disk_size_mib: 152588]}
tasks:
- name: Tworzenie maszyn wirtualnych na Nutanix
include_role:
name: nutanix_provisioner
vars:
vm_defs: "{{ my_vms }}"
Licencja
Licencjonowane na podstawie Licencji MIT. Zobacz plik LICENSE, aby uzyskać szczegóły.
Informacje o autorze
Stworzone przez Matthew Bacha i Timothy'ego Linga z Red Hat.
ansible-galaxy install mbach04.nutanix_vm_provisioner