From b17e3ba6a8259dafd56d0317d8a10fb5fbc7cd47 Mon Sep 17 00:00:00 2001 From: dado Date: Tue, 26 Aug 2025 21:29:08 +0200 Subject: [PATCH] inventory --- ansible/002-inventory.md | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 ansible/002-inventory.md diff --git a/ansible/002-inventory.md b/ansible/002-inventory.md new file mode 100644 index 0000000..32b3e0d --- /dev/null +++ b/ansible/002-inventory.md @@ -0,0 +1,53 @@ +# Inventory + +L’elenco delle macchine da gestire viene specificato nel file `inventory`, un file di testo che può essere redatto in diversi formati, tra cui `YAML` o `INI`. Tale file contiene gli indirizzi IP o i nomi DNS dei nodi che saranno gestiti da Ansible. + +Il percorso predefinito per il file inventory è `/etc/ansible/hosts`. Qualora si utilizzi un file personalizzato, è necessario specificarlo durante l’esecuzione dei comandi Ansible tramite l’opzione -i. Ad esempio: + +```bash +ansible-playbook -i inventory playbook/my-playbook.yml -K --ask-vault-pass +``` + +In questo comando, `-i` indica il file inventory, mentre `-K` (o `--ask-become-pass`) richiede la password per l’escalation dei privilegi. + +## Raggruppamento degli Host + +Gli host possono essere organizzati in gruppi secondo diverse best practices, come: + +- `what`: raggruppamento per tipologia (es. webserver, dbserver) +- `where`: raggruppamento per ubicazione geografica +- `when`: raggruppamento per utilizzo (es. test, sviluppo, produzione) + +Di seguito un esempio di file inventory in formato INI: + +```ini +mail.example.com + +[webservers] +foo.example.com +bar.example.com + +[dbservers] +192.168.1.10 +192.168.1.11 +192.168.1.[20:30] +``` + +## Variabili + +È possibile definire variabili specifiche per ciascun host o per i gruppi di host. Alcuni esempi: + +- `ansible_python_interpreter=/usr/bin/python3` +- `ansible_user=myuser` + +## Verifica della configurazione + +Per verificare che il file inventory sia stato compilato correttamente, è possibile utilizzare il seguente comando: + +```bash +cd ~/git/ansible + +ansible-inventory --list -i inventory +``` + +Se il file è stato redatto senza errori, il comando restituirà un riepilogo strutturato del contenuto dell’inventory.