thulium_drake.vmware

Zestaw narzędzi Ansible dla VMWare

Ta rola oferuje wiele akcji do użytku z klastrami VMWare, obecnie obejmuje:

  • powerstate : Zarządzanie stanami zasilania VM
  • provision_guest : Tworzenie/edycja VM i szablonów (mogą obowiązywać pewne ograniczenia!)
  • snap : Zarządzanie zrzutami VM

Ta rola może delegować wszystkie wymagane działania do innej maszyny, która może być inna dla każdej docelowej VM. W tej roli ten host nazywany jest 'hostem API'.

Dla zadań, które muszą zlokalizować VM w Twoim środowisku, dostępna jest dodatkowa zmienna z wszystkimi informacjami o docelowych VM. To pozwala na użycie atrybutów VMWare, na przykład w nazwach zrzutów. Te informacje można znaleźć w zmiennej 'vm_info'.

Użycie

Ten moduł wymaga użycia PyVmomi i SDK VMWare, ta rola wykryje i spróbuje zainstalować wszystkie wymagane zależności sama.

Aby uzyskać szczegółowe instrukcje dotyczące ręcznej instalacji tych zależności, sprawdź przykład konfiguracji.

Uwaga dla użytkowników RHEL 8

Ta rola działa doskonale na obu wersjach RHEL8, jednak ze względu na wymaganą wersję Pythona dla SDK vSphere, należy zmienić ansible_python_interpreter w zależności od głównej wersji vSphere. Proszę zobaczyć przykładowe playbooki, aby uzyskać sposób jego wykrycia.

  • SDK vSphere 7 wymaga Pythona 3.3+
  • SDK vSphere 8 wymaga Pythona 3.8+, co wymaga niestandardowego ansible_python_interpreter w RHEL8

Ta rola została przygotowana z wsparciem dla vSphere 7, ale nie była testowana.

Wiele klastrów vSphere? Żaden problem!

Playbook jest skonfigurowany do używania danych uwierzytelniających vSphere i informacji w hostvars docelowej VM. Więc konfigurowanie dla wielu klastrów VMWare jest tak łatwe, jak zdefiniowanie tych danych uwierzytelniających dla danego hosta/grupy, podobnie jak każdej innej zmiennej.

Kiedy Ansible uruchamia playbook, wyszuka wszystkie wymagane informacje dla tej konkretnej, docelowej VM. Zmienne, które będą wyszukiwane dla każdego hosta (i muszą być zdefiniowane w 'group_vars') to:

  • vsphere_api_host
  • vsphere_datacenter
  • vsphere_host
  • vsphere_password
  • vsphere_username

Stan zasilania

Obsługiwane stany to:

  • Włączanie VM za pomocą narzędzi VMWare lub wirtualnego przycisku zasilania
  • Wyłączanie VM za pomocą narzędzi VMWare lub wirtualnego przycisku zasilania
  • Restart/resetowanie VM za pomocą narzędzi VMWare lub wirtualnego przycisku zasilania

Rola nie poprosi o wymagane informacje, mogą być one podane tylko za pomocą playbooka, który ją wywołuje:

 - hosts: all
   gather_facts: no
   tasks:
   - import_role:
       name: vmware
     vars:
       target_action: "powerstate"
       target_state: "powered-on"
     run_once: yes

Wymagane zmienne:

  • target_action: jeden z playbooków dostarczonych z tą rolą
  • target_state: jeden z stanów na liście supported_states

Zrzut

Obsługiwane akcje to:

  • Tworzenie zrzutów (automatycznie z datą, lub z podaną nazwą)
  • Usuwanie danego lub wszystkich zrzutów
  • Przywracanie do danego zrzutu, ten skrypt nie poda listy do wyboru.

Rola nie poprosi o wymagane informacje, mogą być one podane tylko za pomocą playbooka, który ją wywołuje:

 - hosts: all
   gather_facts: no
   tasks:
   - import_role:
       name: vmware
     vars:
       target_action: "snap"
       target_state: "present"
       target_snapshot_name: ansible_snap_stuff
     run_once: yes

Wymagane zmienne:

  • target_action: jeden z playbooków dostarczonych z tą rolą
  • target_state: jedna z akcji na liście supported_states

Opcjonalne zmienne:

  • target_snapshot_name:
    • Przy tworzeniu zrzutów: nadpisuje nazwę zrzutu
    • Przy przywracaniu/usuwaniu zrzutów: zrzut docelowy do usunięcia

Provision guest

Obsługiwane akcje to:

  • Tworzenie nowej VM na podstawie szablonu lub innej VM
  • Usuwanie VM
  • Tworzenie nowego szablonu na podstawie VM

Rola nie poprosi o żadną wymagane informacje, może być to tylko podane za pomocą playbooka, który ją wywołuje. Domyślny profil sprzętowy jest dostępny w katalogu defaults.

Aby stworzyć nową VM, wykonaj następujące kroki:

  • Stwórz plik vars z następującymi informacjami (szczegóły znajdziesz w dokumentacji modułu vmware_guest oraz poniżej):
    • Zasób
    • Folder VM
    • Szablon (upewnij się, że istnieje)
    • Ustawienia dysku oraz typ kontrolera dysku
    • Ustawienia sieci
    • Ustawienia RAM i CPU
    • Wersja sprzętowa VM i typ BIOS
  • Dodaj nowy wpis do inwentarza
  • Uruchom playbook, na przykład:
---
- hosts: new-host.example.com
  gather_facts: no
  tasks:
    - import_role:
        name: vmware
      vars:
        target_action: provision_guest
        target_state: present
        target_esxi_hostname: esxi.example.com
      run_once: yes

Wymagane zmienne (większość z nich ma domyślną wartość):

  • target_action: jeden z playbooków dostarczonych z tą rolą
  • target_state: jedna z akcji na liście supported_states.
  • target_esxi_hostname / target_esxi_cluster : Nazwa hosta klastra na którym VM ma działać.
  • target_folder : Folder, do którego należy trafić VM
  • target_networks : Słownik z ustawieniami sieciowymi. Proszę zapoznać się z dokumentacją vmware_guest.
  • target_disks : Słownik z układem dysków. Proszę zapoznać się z dokumentacją vmware_guest.
  • target_ram : Słownik z ustawieniami pamięci. Proszę zapoznać się z plikiem defaults dla przykładu.
  • target_cpu : Słownik z ustawieniami CPU. Proszę zapoznać się z plikiem defaults dla przykładu.
  • target_template: Szablon, na podstawie którego ma być stworzona VM, może to być inna VM lub szablon.

Opcjonalne zmienne:

  • target_force : Ignoruj wszelkie ostrzeżenia lub błędy.
  • target_scsi : Typ kontrolera dysku do użycia.
  • target_boot_firmware: Typ BIOS VM.
  • target_vm_version : Wersja HW VMWare do użycia.
  • target_customization : Jakiekolwiek dostosowania VMWare do wykonania na VM po jej utworzeniu. Proszę zapoznać się z dokumentacją vmware_guest, aby uzyskać więcej informacji.
Zainstaluj
ansible-galaxy install thulium_drake.vmware
Licencja
gpl-3.0
Pobrania
2.2k
Właściciel