Link Search Menu Expand Document

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:

  1. 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.
  2. hosts: in questo file vengono elencati gli host destinatari della configurazione che dovrò eseguire con ansible.
  3. 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
  4. 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:

  1. [defaults] : queto è un tag che indica che i parametri successivi devono essere considerati default e andranno a sovrascrivere quelli ansible
  2. 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

Copyright © 2023 RICSystem - partner DIAGO SRL -