enix.proxmox_ve

enix.proxmox_ve

Role do wdrażania i konfigurowania Proxmox VE na hostach unixowych z wykorzystaniem Ansible. Ta rola jest ściśle związana z używaniem enix poprzez konfigurację lokalnych wolumenów LVM, ISCSI multi-path itp. Może nie być więc przydatna dla każdego, jednak każdy krok jest konfigurowalny, więc można jej używać niezależnie.

Wymagania

Obsługiwane systemy:

  • Debian 10 "Buster"
  • Debian 11 "Bullseye"
  • Debian 12 "Bookworm"

Zmienne roli

Ta rola jest wstępnie załadowana niemal ze wszystkimi dostępnymi domyślnymi ustawieniami. Możesz nadpisać każde z nich w zmiennych hostów/grup, w swoim inwentarzu lub w swoim playbooku. Zobacz adnotowane domyślne ustawienia w defaults/main.yml, aby uzyskać pomoc w konfiguracji. Wszystkie podane zmienne zaczynają się od proxmox_ve__.

  • proxmox_ve__force_reboot - :warning: Ostrzeżenie :warning:. W przypadku ważnych zmian w konfiguracji spowoduje automatyczne ponowne uruchomienie hosta. domyślnie: false.
  • proxmox_ve__enterprise - włącz lub wyłącz subskrypcję enterprise dla Proxmox VE. domyślnie: false.
  • proxmox_ve__disable_smt - wyłącz SMT (Hyperthreading) jako opcję rozruchu jądra. Zobacz [https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html#smt-control], aby uzyskać szczegóły na temat związanych z tym usterek. domyślnie: false.
  • proxmox_ve__net_ovs - włącz konfigurację sieci OpenVswitch na hoście, domyślnie: false.
  • proxmox_ve__net_template - szablon używany do konfiguracji /etc/network/interfaces na hoście, domyślnie: interfaces.j2. Ścieżka może być zmieniona lub nadpisana w twoim playbooku. Domyślny szablon zapewnia tylko podstawową konfigurację mostka.
  • proxmox_ve__storage_lvm - opis magazynu lvm do zainicjowania i skonfigurowania w proxmox. przykład konfiguracji powyżej.
  • proxmox_ve__storage_lvm_options - opcje do zmiany w lvm.conf. domyślnie: none.
  • proxmox_ve__lvm_global_filter - filtr globalny lvm. domyślnie: [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|", "r|/dev/mapper/.*-(vm|base)--[0-9]+--disk--[0-9]+|"].
  • proxmox_ve__storage_iscsi - opis magazynu iscsi do skonfigurowania w proxmox. przykład konfiguracji powyżej.
  • proxmox_ve__storage_iscsi_options - opcje do zmiany w iscsid.conf. domyślnie:
proxmox_ve__storage_iscsi_options:
  - option: node.session.timeo.replacement_timeout
    value: 10
    state: present
  • proxmox_ve__spv_user - nazwa użytkownika z rolą PVEAuditor używana do nadzoru. domyślnie: prometheus@pve.
  • proxmox_ve__spv_password - hasło dla użytkownika nadzoru. Jeśli nie jest zdefiniowane, użytkownik nie zostanie utworzony.
  • proxmox_ve__storage_iscsi_multipath_template - plik szablonu do użycia dla konfiguracji multipath.
  • proxmox_ve__migration_secure - określenie poziomu bezpieczeństwa migracji. Zobacz [https://pve.proxmox.com/wiki/Manual:_datacenter.cfg]. domyślnie: true.
  • proxmox_ve__cluster_ip - IP do użycia w klastrowaniu proxmox. Zmieni to adres IP w /etc/hosts. domyślnie: ansible_default_ipv4.address.

Zależności

  • Brak

Użycie

Sklonuj to repozytorium do swojego katalogu z rolami:

$ git clone https://gitlab.enix.org/ansible/ansible-proxmox_ve.git roles/proxmox_ve

Lub użyj Ansible galaxy w requirements.yml

# publiczna rola
- src: enix.proxmox_ve
  name: proxmox_ve

I dodaj ją do ról w swoim playbooku:

- hosts: all
  roles:
    - role: enix.proxmox_ve
      proxmox_ve__storage_iscsi:
        - name: iscsi-storage
          portal: 192.168.0.1
          target: iqn.2015-11.com.storage:iscsi.12315132
          volumes:
            - name: bigvolume
              wwid: 3600c0ff0003bb7fcb730e75a01000000
      proxmox_ve__storage_lvm:
        - name: "localvm"
          devices:
            - /dev/md12
          pesize: "128"
          shared: 0
        - name: "iscsilvm"
          devices:
            - /dev/mapper/bigvolume
          pesize: "256"
          shared: 1
      proxmox_ve__storage_lvm_options:
        - option: issue_discards
          value: 0

Możesz również użyć roli jako playbooka. Zostaniesz zapytany, które hosty mają być wdrożone, i możesz dalej konfigurować play za pomocą --extra-vars.

$ ansible-playbook -i inventory --extra-vars='{...}' main.yml

Do zrobienia

  • automatyczne dodawanie hostów do klastrów
  • zarządzanie użytkownikami i poświadczeniami

Dziennik zmian

3.1.0

Dodano wsparcie dla konkretnego IP klastra.

3.0.0

Dodano wsparcie dla Debiana Bookworm i gałęzi Proxmox VE 8.x.

2.8.0

Dodano opcję proxmox_ve__migration_secure do wyłączania mechanizmu bezpiecznej migracji, jeśli zajdzie taka potrzeba.

2.7.0

Dodano proxmox_ve__storage_lvm_options do ustawienia opcji w lvm.conf.

2.6.0

Dodano wsparcie dla Proxmox 7.0 / Bullseye.

2.5.0

Dodano tworzenie użytkownika roli nadzoru na klastrze.

2.4.1

Zaktualizowano domyślny multipath.conf, aby dostosować się do zmian w debianie buster (find_mulitpaths).

2.4.0

Zaktualizowano lvm global_filter do nowej wartości domyślnej 6.1. Poprawki deprecjacji.

2.3.0

Naprawiono problemy z lvm. Dodano opcje konfiguracji iscsi.

2.2.0

Dodano opcję proxmox_ve__disable_smt.

2.1.1

Przełączono na enix.deb role_name.

2.1.0

Zezwolono na nadpisanie lvm global_filter. Dodano konfigurację /etc/hosts.

2.0.0

Teraz zawiera funkcję automatycznego ponownego uruchamiania hosta, właściwe zarządzanie magazynem.

1.0.0

Pierwsza wersja zawierająca podstawową konfigurację magazynu.

Licencja

GPLv2

Informacje o autorze

Laurent CORBES laurent.corbes@enix.fr - http://www.enix.fr

O projekcie

Ansible role to deploy proxmox VE software

Zainstaluj
ansible-galaxy install enix.proxmox_ve
Licencja
Unknown
Pobrania
475
Właściciel
Enix