abn.managed-node-bootstrap

Zarządzanie Node Bootstrap

Status budowy Rola Ansible

Zainicjuj węzeł zarządzany przez Ansible z minimalnymi zależnościami. Ten skrypt początkowo został napisany do uruchamiania instancji z bazowymi obrazami kontenerów, w związku z czym może wymagać ulepszeń przed wdrożeniem go do użytku poza kontenerami.

Obsługiwane obecnie dystrybucje to:

  1. Alpine Linux
  2. Dystrybucje oparte na Debianie używające apt-get (Ubuntu)
  3. OpenSUSE
  4. Dystrybucje oparte na Red Hat używające dnf/yum (Red Hat Enterprise Linux, CentOS, Fedora)

Wymagania

Nie ma dodatkowych wymagań poza wersją Ansible, która obsługuje moduł raw. Rozwój odbywał się na Ansible 2.2+.

Zmienne roli

Ta rola obsługuje następujące konfiguracje za pomocą zmiennych.

  1. managed_node_bootstrap_use_sudo: Ustaw na yes, jeśli host ma zainstalowane sudo, a łączysz się jako użytkownik niebędący roota.
  2. managed_node_bootstrap_cmd_prefix: Domyślnie jest to sudo, jeśli managed_node_bootstrap_use_sudo jest ustawione. Możesz to nadpisać, aby upewnić się, że ten prefiks jest dodawany do wszystkich wykonywanych poleceń.
  3. managed_node_bootstrap_done_file: Określa, który plik ma być używany jako wskaźnik, czy zadanie instalacji zostało wcześniej pomyślnie wykonane.
  4. managed_node_packages_{alpine,debian,opensuse,redhat}: Jest używane do konfiguracji listy pakietów do zainstalowania dla każdej z tych rodzin dystrybucji.

Zależności

Nie są wymagane żadne zależności poza samym Ansible.

Przykładowy Playbook

Oto przykład playbooka, który można użyć do uruchomienia wszystkich hostów w Twoim inwentarzu. Zauważ, że metoda połączenia Ansible itp. musi być skonfigurowana poza tym. Dodatkowo, zaznaczamy, że wymaga to połączenia jako użytkownik root, ponieważ zakładamy, że sudo nie jest dostępne w tych instancjach (założenie obrazu dockera). Zobacz powyżej, jak zmienić to zachowanie.

---
- nazwa: uruchomienie węzła zarządzanego przez ansible
  hosty: all
  zbieraj_fakty: Fałsz
  role:
    - abn.molecule-node-bootstrap

Testowanie

Przed testowaniem musisz upewnić się, że wymagane podmoduły zostały sklonowane.

git submodule update --init --recursive

LokalNA ŚRODOWISKO

Ta rola używa Molecule oraz instancji dockera do umożliwienia testowania. Możesz to uruchomić lokalnie w swoim środowisku deweloperskim, pod warunkiem, że masz zainstalowanego Pythona i działający demon dockera.

# zainstaluj wymagania molecule i docker-py
pip install -r test-requirements.txt
molecule test

To, zgodnie z konfiguracją domyślnego scenariusza molecule, uruchomi kontenery z obsługiwanymi dystrybucjami i wykona przykładowy playbook.

Tox

Ten projekt ma również skonfigurowany tox, aby działać z wieloma wersjami ansible przy pomocy Molecule. Można go po prostu uruchomić za pomocą tox.

tox

Zapoznaj się z dokumentacją Molecule oraz dokumentacją tox w celu uzyskania szczegółowych instrukcji użytkowania.

Licencja

Licencja Apache 2.0

O projekcie

Bootstrap an ansible managed node with minimal dependencies

Zainstaluj
ansible-galaxy install abn.managed-node-bootstrap
Licencja
apache-2.0
Pobrania
73
Właściciel