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

Brian Shumate

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.

Zainstaluj
ansible-galaxy install brianshumate.nomad
Licencja
bsd-2-clause
Pobrania
18.3k
Właściciel
Art ⁂ Data ⁂ Boards ⁂ Water