Szybki start z EuroTower

1. Credentials

  • konfigurujemy połączenie z maszyną wirtualną, chmurą etc.
  • w sekcji Credentials konfigurujemy także dostęp do systemów zarządzania kodem skąd pobierane będą kolekcje playbooków.

2. Inventories

  • nazywamy inwentarz, tworzymy grupę oraz hosty, którymi chcemy zarządzać.

3. Projects

  • projekt opisuje, jakie prace (ang. job) będą wykonywane. W tym miejscu podajemy ścieżki do konkretnych playbooków lub konkretnego repozytorium z kolekcją.

4. (Job) Templates

  • szablon zespala wszystkie potrzebne ustawienia do stworzenia instancji konkretnego zadania (credential + inventory + project).

5. Running/Scheduling

  • poszczególne zadania można uruchamiać pojedynczo lub planować ich wykonywanie w czasie.

Słowniczek pojęć Ansible®/EuroTower

Credential (EuroTower)

Credentials zawierają listy uwierzytelniające potrzebne podczas uruchamiania zadań na maszynach, którymi zarządzamy. Credentials służą także do importowania zawartości projektu z systemów zarządzania kodem (np. Git, Github/GitLab Personal Access Token).

Inwentory (Ansible®, EuroTower)

Inwentarz to zbiór grup i hostów, na których mogą być uruchamiane zadania. Obraz inwentarza w interfejsie EuroTower jest przyjaznym odzwierciedleniem Ansible-owego® pliku inventory.

Playbook (Ansible®, EuroTower)

Playbooki to pliki, w których zapisywany jest kod Ansible®. Są napisane w formacie YAML. Playbooki są jedną z podstawowych funkcji Ansible® i zawierają uporządkowane listy zadań, które można uruchamiać wielokrotnie w odpowiedniej kolejności. Playbooki mogą zawierać zarówno zmienne (variables), jak i zadania (tasks).

Module (Ansible®)

Moduły to jednostki pracy, które Ansible® wysyła do zdalnych maszyn. Moduły są uruchamiane przez /usr/bin/ansible lub /usr/bin/ansible-playbook (gdzie wiele zadań używa wielu różnych modułów w połączeniu). Moduły można zaimplementować w dowolnym języku, np. Perl, Bash, Ruby. Każdy moduł zwraca postać JSON. Istotną zaletą modułów jest to, że po ich wykonaniu na zdalnych maszynach pliki modułów są usuwane.

Role (Ansible®)

Role zapewniają strukturę dla w pełni niezależnych lub współzależnych kolekcji variables, tasks, plików, templates i modules.

W Ansible® rola jest głównym mechanizmem dzielenia playbooka na wiele plików. Upraszcza to pisanie złożonych playbooków, ułatwia ich ponowne użycie oraz pozwala na logiczne podzielenie playbooka na komponenty wielokrotnego użytku. Każda rola jest zasadniczo ograniczona do określonej funkcji lub pożądanego wyniku wraz ze wszystkimi niezbędnymi krokami, aby zapewnić ten wynik w samej roli lub w innych rolach wymienionych jako zależności. Nie ma możliwości bezpośredniego wykonania roli, ponieważ role są elementami playbooków. Role nie mają jawnego przypisania, do którego hosta będzie stosowana konkretna rola. Do tego służy playbook najwyższego poziomu. Działa on jak most, który łączy hosty z inwentarza z rolami, które powinny zostać do nich zastosowane.

Project (EuroTower)

Projekt opisuje kod źródłowy zawierający playbooki, które można uruchomić. Projekt może wskazywać repozytorium Git (także Subversion®, Mercurial oraz Red Hat® Insights). Playbookami można zarządzać także umieszczając je ręcznie w odpowiednim katalogu na serwerze z EuroTower.

(Job) Template (EuroTower)

Szablon pracy to definicja i zestaw parametrów do uruchamiania zadania. Szablon agreguje wszystkie ustawienia (credential, inventory, project, verbosity itp.), określa typ zadania („run” lub „check”) oraz tworzy instancję konkretnego zadania (ang. job), wraz z możliwościami planowania wykonywania w konkretnym czasie lub cyklicznie.

Szablony przydają się do wielokrotnego wykonywania tej samej pracy oraz pomagają wykorzystywać zawartość playbooka Ansible® przy współpracy między różnymi zespołami.

Job (EuroTower)

To pojedyncza instancja zadania zawierająca zestaw ustawień i szczegóły utworzone przy pomocy szablonów (ang. job templates). Może istnieć wiele zadań (ang. job) stworzonych przy pomocy tego samego szablonu, ale z różnymi ustawieniami (np. run/check).

Collection (Ansible®, EuroTower)

Kolekcje to format dystrybucji treści dla Ansible®. Kolekcje mogą obejmować takie elementy jak playbooki, role, moduły i wtyczki. Moduły, które są przenoszone z podstawowego repozytorium Asible do kolekcji, mają też zmigrowaną do kolekcji dokumentację. Kolekcje można instalować i używać za pośrednictwem Ansible® Galaxy.

Ansible® Galaxy (Ansible®, EuroTower)

Ansible® Galaxy to witryna internetowa z bezpłatnym katalogiem kolekcji udostępnianych przez społeczność i gotowych do użytku. Strona domowa Galaxy to https://galaxy.ansible.com/.