STRUTTURA CARTELLE ANSIBLE
Configurazione base
mkdir mio-playbook
cd mio-playbook
touch ansible.cfg
touch hosts
touch primaconfigurazione.yml
Contenuto della cartella mio-playbook:
.
├── ansible.cfg
├── hosts
└── primaconfigurazione.yml
Spiegazione:
- ansible.cfg: questo file serve per le configurazioni di ansible per personalizzare per esempio la porta di connessione SSH o altri parametri che vedremo man mano che ci servono.
- hosts: in questo file vengono elencati gli host destinatari della configurazione che dovrò eseguire con ansible.
- primaconfigurazione.yml: questo file detto play notate l’estensione .yml YAML che è un pseudo-linguaggio che permette di eseguire delle azioni in seguenza chiamati tasks
- Per eseguire questo playbook basta fare:
$ ansible-playbook primaconfigurazione.yml
In questo non eseguirà niente perchè non abbiamo ancora scritto niente nel nostro play
Questo è sostanzialmente tutto quello che serve per iniziare ad usare ansible , ma per completezza facciamo un esempio.
Esempio Banale
Aprire il file primaconfigurazione.yml con il vostro editor: vi primaconfigurazione.yml
Incollare il seguente codice:
---
- hosts: webserver
remote_user: root
gather_facts: true
tasks:
- name: Installazione o aggiornamento dei VMWARE tools
dnf:
name: open-vm-tools
state: present
tags:
- vmware
Aprire il file ansible.cfg:
[defaults]
inventory = ./hosts
host_key_checking = False
Notate:
- [defaults] : queto è un tag che indica che i parametri successivi devono essere considerati default e andranno a sovrascrivere quelli ansible
- la struttura è chiave = valore :
- inventory = ./hosts : questo indica ad ansible di usare come file di riferimento il mio file hosts nella cartella corrente.
- host_key_checking = False : questo indica ad ansible che per il momento di non verificare la key nella connessione ssh che andremo a usare.
Ora aprite il vostro file hosts e inserite :
[webserver]
192.168.100.10
192.168.150.10
Salvate e chiudete il file.
Questo file prevede due host di tipo webserver 192.168.100.10 e 192.168.150.10. Quindi ansible eseguirà il vostro play su tutti gli host elencati sotto il tag webserver
ATTENZIONE: i file YAML sono formattati in un certo modo e quindi TAB e spazi sono interpretati da ansible. Quindi attenzione quando scrivete i vostri play. Per il resto vi rimando alla doc ufficiale.
Esecuzione del play:
Adesso eseguiamo il nostro play :
$ ansible-playbook primaconfigurazione.yml