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

1.7 KiB
Raw Permalink Blame History

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:

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:

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:

cd ~/git/ansible

ansible-inventory --list -i inventory

Se il file è stato redatto senza errori, il comando restituirà un riepilogo strutturato del contenuto dellinventory.