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.

Zainstaluj
ansible-galaxy install mbach04.nutanix_vm_provisioner
Licencja
mit
Pobrania
325
Właściciel
Rusty Python and Golang hobbyist, Automation dude, Rick and Morty Fan