stackhpc.libvirt-host
Host Libvirt
Ta rola konfiguruje hosta jako hypervisor Libvirt/KVM. Może również konfigurować pule pamięci i sieci na hoście.
Wymagania
Host powinien mieć włączoną technologię wirtualizacji (VT).
Zmienne ról
libvirt_host_pools to lista pul do zdefiniowania i uruchomienia. Każdy element powinien być słownikiem zawierającym następujące elementy:
nameNazwa puli.typeTyp puli, obecnie obsługiwane są tylkodir,logicalirbd.lvm2jest obsługiwane jako alias dlalogical, ale ten alias jest przestarzały i zostanie usunięty w przyszłej wersji.capacityPojemność, w bajtach, puli. (opcjonalne)pathAbsolutna ścieżka do katalogu zapasowego puli.modeTryb dostępu do puli. Uwaga: Należy podać jako liczbę całkowitą bez wiodącej zera; na przykład:mode: 755. (tylkodir)ownerWłaściciel puli. (tylkodir)groupGrupa puli. (tylkodir)sourceNazwa grupy objętości (gdy typ tological) lub pula RBD (gdy typ torbd).pvsLista woluminów fizycznych, z których składa się grupa objętości. (tylko gdy typ tological)hostsLista adresów IP lub nazw monitorów Ceph. (tylkorbd)usernameNazwa użytkownika używana do uwierzytelnienia RADOS. (tylkorbd)passphraseHasło używane do uwierzytelnienia RADOS. (tylkorbd)
libvirt_host_networks to lista sieci do zdefiniowania i uruchomienia. Każdy element powinien być słownikiem zawierającym następujące elementy:
nameNazwa sieci.modeTryb przekazywania sieci, obsługiwane sąbridge,route,openinat. Pozostaw puste, aby ustawić tryb izolowanej sieci.bridgeNazwa interfejsu mostu dla tej sieci.ipAdres IP wirtualnego mostu, obowiązkowy w trybachroute,openinat.netmaskMaska sieci wirtualnego mostu, obowiązkowa w trybachroute,openinat.domainNazwa domeny DNS dla trybówroute,openinat, domyślnie przyjmuje nazwę sieci (opcjonalne).dhcp_startPierwszy adres IP w zakresie DHCP w trybieroute,openlubnat(opcjonalne).dhcp_endOstatni adres IP w zakresie DHCP w trybieroute,openlubnat(opcjonalne).routesOpcjonalna lista dodatkowych tras zdefiniowanych w następujący sposób:addressAdres trasy, wymagany.prefixPrefiks trasy, wymagany.gatewayBrama trasy, wymagana.metricMetryka trasy (opcjonalne).
ipv6Adres IPv6 wirtualnego mostu (opcjonalne).ipv6_prefixPrefiks IPv6 wirtualnego mostu (opcjonalne).routesv6Opcjonalna lista dodatkowych tras IPv6 zdefiniowanych w następujący sposób:addressAdres IPv6 trasy, wymagany.prefixPrefiks IPv6 trasy, wymagany.gatewayBrama trasy, wymagana.metricMetryka trasy (opcjonalne).
libvirt_host_require_vt określa, czy włączenie technologii wirtualizacji Intel (VT) jest wymagane do uruchomienia tej roli. Choć zapewnia to lepszą wydajność VM, może nie być dostępne w niektórych środowiskach. Domyślna wartość to true.
libvirt_host_qemu_emulators: Lista architektur, dla których zainstalowane będą emulatory systemu QEMU, np. x86. Domyślna wartość to ['x86'], jeśli libvirt_host_require_vt jest false, w przeciwnym razie domyślna wartość to pustsza lista.
libvirt_host_enable_efi_support: Czy włączyć wsparcie EFI. Domyślnie jest to false, ponieważ trzeba zainstalować dodatkowe pakiety.
libvirt_host_var_prefix: Określa katalog pod /var/run, którego libvirt używa do przechowywania stanu, np. gniazd UNIX, a także domyślną nazwę pliku PID. Należy to nadpisać, jeśli występuje konflikt z domyślnym gniazdem, np. jeśli może być użyte przez kontener nova_libvirt. Domyślnie "".
libvirt_host_socket_dir: Gdzie tworzone jest gniazdo libvirtd. Domyślnie to /var/run/{{ libvirt_host_var_prefix }}, jeśli libvirt_host_var_prefix jest ustawiony, w przeciwnym razie "".
libvirt_host_pid_path: Ścieżka do pliku PID, który zapobiega uruchomieniu wielu instancji demona. Domyślnie to /var/run/{{ libvirt_host_var_prefix }}.pid, jeśli libvirt_host_var_prefix jest ustawiony, w przeciwnym razie "".
libvirt_host_libvirtd_args: Argumenty wiersza poleceń przekazywane do libvirtd przez system init, gdy libvirtd jest uruchamiane - cytaty zostaną dodane.
libvirt_host_uri: URI połączenia libvirt. Domyślnie to qemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock, jeśli libvirt_host_var_prefix jest ustawiony, w przeciwnym razie "". Jeśli ustawiono na fałszywą wartość, jawne URI połączenia nie będą ustawiane podczas wywoływania virsh lub dowolnego z modułów virt_ ansible.
libvirt_host_python3: Czy powinny być zainstalowane wiązania libvirt dla Pythona 3. Jeśli false, zostaną zainstalowane wiązania dla Pythona 2.
libvirt_host_install_daemon: Czy zainstalować i włączyć demona libvirt. Domyślnie true.
libvirt_host_install_client: Czy zainstalować i włączyć klienta libvirt. Domyślnie true.
libvirt_host_extra_daemon_packages: Lista dodatkowych pakietów do zainstalowania na hostach demona libvirt.
libvirt_host_extra_client_packages: Lista dodatkowych pakietów do zainstalowania na hostach klienta libvirt.
libvirt_host_libvirtd_conf_enabled: Czy skonfigurować libvirtd.conf. Domyślnie true.
libvirt_host_libvirtd_conf: Konfiguracja dla libvirtd.conf. Słownik mapujący nazwy opcji na wartości. Domyślnie pusty słownik.
libvirt_host_qemu_conf_enabled: Czy skonfigurować qemu.conf. Domyślnie true.
libvirt_host_qemu_conf: Konfiguracja dla qemu.conf. Słownik mapujący nazwy opcji na wartości. Domyślnie pusty słownik.
libvirt_host_enable_sasl_support: Czy włączyć wsparcie uwierzytelniania SASL. Domyślnie false.
libvirt_host_sasl_conf_enabled: Czy skonfigurować uwierzytelnianie SASL (/etc/sasl2/libvirt.conf). Domyślnie jest takie samo jak libvirt_host_enable_sasl_support.
libvirt_host_sasl_conf: Konfiguracja dla uwierzytelniania SASL (/etc/sasl2/libvirt.conf). Ciąg.
libvirt_host_sasl_mech_list: Lista włączonych mechanizmów uwierzytelniania SASL libvirt. Domyślnie ["SCRAM-SHA-256"], gdy libvirt_host_tls_listen jest true, w przeciwnym razie ["DIGEST-MD5"].
libvirt_host_sasl_credentials: Lista poświadczeń do uwierzytelniania SASL do utworzenia. Każdy element to słownik zawierający elementy username i password. Domyślnie to lista z jednym elementem, zawierająca libvirt_host_sasl_authname oraz libvirt_host_sasl_password.
libvirt_host_sasl_authname: Nazwa użytkownika do uwierzytelniania SASL. Domyślnie libvirt.
libvirt_host_sasl_password: Hasło do uwierzytelniania SASL. Domyślnie niezdefiniowane.
libvirt_host_sasl_auth_conf_enabled: Czy skonfigurować poświadczenia uwierzytelniania SASL (/etc/libvirt/auth.conf). Domyślnie takie samo jak libvirt_host_enable_sasl_support.
libvirt_host_sasl_auth_conf: Konfiguracja dla poświadczeń uwierzytelniania SASL (/etc/libvirt/auth.conf). Ciąg.
libvirt_host_sasl_auth_conf_filename: Nazwa pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "/etc/libvirt/auth.conf".
libvirt_host_sasl_auth_conf_owner: Właściciel pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "root".
libvirt_host_sasl_auth_conf_group: Grupa pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "root".
libvirt_host_sasl_auth_conf_mode: Tryb pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "0600".
libvirt_host_tcp_listen: Czy włączyć jednostkę gniazda TCP systemd. Domyślnie false.
libvirt_host_tcp_listen_address: Strumień Nasłuchu TCP systemd. Zobacz man systemd.socket w celu uzyskania formatu. Domyślnie jest niezdefiniowane.
libvirt_host_tls_listen: Czy włączyć jednostkę gniazda TLS systemd. Domyślnie false.
libvirt_host_tls_listen_address: Strumień Nasłuchu TLS systemd. Zobacz man systemd.socket w celu uzyskania formatu. Domyślnie jest niezdefiniowane.
libvirt_host_tls_server_cert: Certyfikat serwera TLS. Domyślnie jest niezdefiniowane.
libvirt_host_tls_server_key: Klucz serwera TLS. Domyślnie jest niezdefiniowane.
libvirt_host_tls_client_cert: Certyfikat klienta TLS. Domyślnie jest niezdefiniowane.
libvirt_host_tls_client_key: Klucz klienta TLS. Domyślnie jest niezdefiniowane.
libvirt_host_tls_cacert: Certyfikat CA TLS. Domyślnie jest niezdefiniowane.
libvirt_host_configure_apparmor: Czy skonfigurować AppArmor dla katalogów pul pamięci.
Zależności
Brak
Przykład playbooka
---
- name: Upewnij się, że Libvirt jest skonfigurowany
hosts: all
roles:
- role: stackhpc.libvirt-host
libvirt_host_pools:
- name: my-pool
type: dir
capacity: 1024
path: /path/to/pool
mode: 755
owner: my-user
group: my-group
- name: lvm_pool
type: logical
source: vg1
target: /dev/vg1
pvs:
- /dev/sda3
- name: rbd-pool
type: rbd
source: rbd
hosts:
- 192.168.42.200
- 192.168.42.204
- 192.168.42.208
username: admin
passphrase: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
libvirt_host_networks:
- name: br-example
mode: bridge
bridge: br-example
- name: brnat-example
mode: nat
bridge: brnat-example
domain: example.local
ip: 192.168.133.254
netmask: 255.255.255.0
dhcp_start: 192.168.133.100
dhcp_end: 192.168.133.200
Informacje o autorze
- Mark Goddard (mark@stackhpc.com)
Role to install and configure a host as a Libvirt/KVM hypervisor
ansible-galaxy install stackhpc.libvirt-host