🎯 Definicja
Plik inwentarza (hosts.yml lub hosts.ini) definiuje strukturę infrastruktury zarządzanej przez Ansible, mapując adresy IP lub nazwy domenowe serwerów na logiczne grupy (np. webservers, databases).
🔑 Kluczowe punkty
- Grupy: Logiczne zbiory serwerów pełniących tę samą rolę (np.
one_appdla aplikacji głównej). - Zmienne hosta: Parametry specyficzne dla konkretnej maszyny (np.
ansible_host=192.168.1.10). - Hierarchia: Jeden serwer może należeć do wielu grup.
📚 Szczegółowe wyjaśnienie
W kontekście instalacji Ataccama ONE, plik hosts.yml jest mapą drogową dla instalatora. Określa, gdzie zainstalować który moduł.
Częste grupy w instalacjach Ataccama:
one_app: Główny serwer aplikacji (Java).one_database: Serwer bazy danych (Postgres).processing: Silniki przetwarzania (DPE).monitoring_server: Prometheus/Grafana.
Brak serwera w grupie “optional” (np. dqit_server) oznacza, że ten moduł nie zostanie zainstalowany.
💡 Przykład zastosowania
Fragment pliku hosts.yml:
all:
children:
one_app:
hosts:
app01.prod.local:
one_database:
hosts:
db01.prod.local:
monitoring:
hosts:
mon01.prod.local:W tym przypadku app01 obsłuży aplikację, a db01 bazę danych. Można też umieścić wszystko na jednej maszynie (Single Server Deployment).
📌 Źródła
- Ansible Documentation - How to build your inventory.
👽 Brudnopis
- Pliki zazwyczaj w
~/one/ansible/inventories/<env>/hosts.yml. - Test połączenia:
ansible all -m ping -i hosts.yml. - Grupy obowiązkowe vs opcjonalne (zależnie od licencji).