🎯 Definicja
Ansible składa się z kilku kluczowych elementów, które współpracują jak ekipa filmowa. Control Node to Reżyser. Managed Nodes to Aktorzy. Playbook to Scenariusz.
🔑 Kluczowe punkty
- Inventory: Lista aktorów (serwerów). Plik tekstowy lub skrypt dynamiczny.
- Playbooks: Scenariusz filmu. Pliki YAML definiujące, co ma się wydarzyć.
- Modules: Narzędzia pracy. Małe programy (zazwyczaj w Pythonie), które wykonują konkretną pracę (np.
dnfinstaluje paczkę,copykopiuje plik). - Plugins: Rozszerzenia silnika Ansible (np. logowanie, łączenie cache).
📚 Szczegółowe wyjaśnienie
- Control Node: Tu instalujesz Ansible. Tu trzymasz kod.
- Agentless: Na Managed Nodes nie instalujesz nic (poza Pythonem i SSH). To ogromna zaleta w porównaniu do Puppet/Chef (gdzie musisz zarządzać agentami).
- YAML: Język, w którym piszesz Playbooki. Czytelny dla człowieka (“Human-readable”), przypomina listę zakupów. Wrażliwy na wcięcia!
💡 Przykład zastosowania
Reżyser (Control Node) czyta scenariusz (Playbook), patrzy na listę obsady (Inventory) i wydaje polecenia aktorom (Managed Nodes) używając megafonu (SSH), każąc im wykonać konkretne czynności (Modules).
📌 Źródła
- Ansible Architecture Docs.