Files
learning/ansible/002-inventory.md
2025-08-26 21:29:08 +02:00

54 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.