brianshumate.nomad
Ansible-Nomad
Ta rola była wcześniej utrzymywana przez Briana Shumate'a, a teraz jest zarządzana przez @ansible-community/hashicorp-tools.
Ta rola Ansible wykonuje podstawową instalację Nomad, która obejmuje strukturę systemu plików oraz przykładową konfigurację.
Rola ta także skonfiguruje minimalny klaster z 3 węzłami serwera i może to zrobić w środowisku deweloperskim opartym na Vagrant i VirtualBox. Szczegóły dotyczące konfiguracji Vagrant znajdziesz w pliku README_VAGRANT.md.
Wymagania
Ta rola wymaga dystrybucji Arch Linux, Debian, RHEL lub Ubuntu; rola została przetestowana na następujących wersjach oprogramowania:
- Ansible: 2.7.10
- nomad: 0.12.1
- Arch Linux
- CentOS: 7
- Debian: 8
- RHEL: 7
- Ubuntu: >= 20.04
- unzip dla modułu unarchive
Zmienne Roli
Rola definiuje większość swoich zmiennych w pliku defaults/main.yml
:
nomad_debug
- Tryb debugowania Nomad
- Wartość domyślna: no
nomad_skip_ensure_all_hosts
- Pozwól na uruchamianie roli, nawet jeśli nie wszystkie instancje są połączone
- Wartość domyślna: no
nomad_allow_purge_config
- Pozwól na usunięcie przestarzałych plików konfiguracyjnych. Na przykład, usuń konfigurację serwera, jeśli instancja nie jest już serwerem
- Wartość domyślna: no
nomad_version
- Wersja Nomad do zainstalowania
- Wartość domyślna: 1.1.1
nomad_architecture_map
- Ta zmienna nie musi być zmieniana w większości przypadków
- Wartość domyślna: Słownik tłumaczący architekturę ansible_architecture na konwencję nazewniczą HashiCorp
nomad_architecture
- Architektura hosta
- Wartość domyślna: ustalana przez
{{ nomad_architecture_map[ansible_architecture] }}
nomad_pkg
- Nazwa pliku pakietu Nomad
- Wartość domyślna:
nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip
nomad_zip_url
- URL do pobrania Nomad
- Wartość domyślna:
https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip
nomad_checksum_file_url
- URL do pliku kontrolnego Nomad
- Wartość domyślna:
https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version}}_SHA256SUMS
nomad_bin_dir
- Ścieżka do instalacji binarnej Nomad
- Wartość domyślna:
/usr/local/bin
nomad_config_dir
- Ścieżka do pliku konfiguracyjnego Nomad
- Wartość domyślna:
/etc/nomad.d
nomad_data_dir
- Ścieżka do danych Nomad
- Wartość domyślna:
/var/nomad
nomad_lockfile
- Ścieżka do pliku blokady Nomad
- Wartość domyślna:
/var/lock/subsys/nomad
nomad_run_dir
- Ścieżka do uruchomienia Nomad
- Wartość domyślna:
/var/run/nomad
nomad_manage_user
- Zarządzać użytkownikiem Nomad?
- Wartość domyślna: yes
nomad_user
- Nazwa użytkownika OS Nomad
- Wartość domyślna: root
nomad_manage_group
- Zarządzać grupą Nomad?
- Wartość domyślna: no
nomad_group
- Grupa OS Nomad
- Wartość domyślna: bin
nomad_region
- Domyślna strefa
- Wartość domyślna: global
nomad_datacenter
- Etykieta datacenter Nomad
- Wartość domyślna: dc1
nomad_log_level
- Poziom logowania
- Wartość domyślna: INFO
(i inne zmienne w podobnym formacie)
Zależności
Ansible wymaga GNU tar, a ta rola korzysta z niektórych lokalnych funkcji modułu unarchive, więc upewnij się, że Twój system ma zainstalowane gtar
/unzip
. Szablony Jinja2 używają filtru ipaddr, który potrzebuje biblioteki netaddr
dla Pythona.
Przykład Playbooka
Podstawowa instalacja Nomad jest możliwa dzięki dołączonemu playbookowi site.yml
:
ansible-playbook -i <hosts> site.yml
Możesz również przekazać zmienne używając opcji --extra-vars
w poleceniu ansible-playbook
:
ansible-playbook -i hosts site.yml --extra-vars "nomad_datacenter=maui"
Vagrant i VirtualBox
Szczegóły dotyczące szybkich wdrożeń Vagrant pod VirtualBox znajdziesz w pliku examples/README_VAGRANT.md
.
Licencja
BSD
Informacje o autorach
Współtwórcy
Szczególne podziękowania dla osób wymienionych w CONTRIBUTORS.md za ich wkład w ten projekt.
Wszelkie wkłady są mile widziane, pod warunkiem, że możesz zgodzić się z warunkami opisanymi w CONTRIBUTING.md.
ansible-galaxy install brianshumate.nomad