inventory

This commit is contained in:
dado
2025-08-26 21:29:08 +02:00
parent 26e580534e
commit b17e3ba6a8

53
ansible/002-inventory.md Normal file
View File

@@ -0,0 +1,53 @@
# Inventory
Lelenco 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 lesecuzione dei comandi Ansible tramite lopzione -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 lescalation 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 dellinventory.