Ansible - Playbook

In questo capitolo impareremo a conoscere i playbook in Ansible.

I playbook sono i file in cui viene scritto il codice Ansible. I playbook sono scritti in formato YAML. YAML sta per Yet Another Markup Language.Playbookssono una delle caratteristiche principali di Ansible e dicono ad Ansible cosa eseguire. Sono come un elenco di cose da fare per Ansible che contiene un elenco di attività.

I playbook contengono i passaggi che l'utente desidera eseguire su una particolare macchina. I playbook vengono eseguiti in sequenza. I playbook sono gli elementi costitutivi di tutti i casi d'uso di Ansible.

Struttura del playbook

Ogni playbook è un'aggregazione di uno o più giochi in esso contenuti. I playbook sono strutturati utilizzando le riproduzioni. Può esserci più di una riproduzione all'interno di un playbook.

La funzione di un gioco è mappare un insieme di istruzioni definite rispetto a un particolare host.

YAML è un linguaggio tipizzato rigoroso; quindi, è necessario prestare particolare attenzione durante la scrittura dei file YAML. Esistono diversi editor YAML ma preferiremo utilizzare un editor semplice come notepad ++. Basta aprire notepad ++ e copiare e incollare lo yaml sottostante e cambiare la lingua in YAML (Lingua → YAML).

Uno YAML inizia con --- (3 trattini)

Crea un playbook

Cominciamo scrivendo un file YAML di esempio. Esamineremo ogni sezione scritta in un file yaml.

--- 
   name: install and configure DB
   hosts: testServer
   become: yes

   vars: 
      oracle_db_port_value : 1521
   
   tasks:
   -name: Install the Oracle DB
      yum: <code to install the DB>
    
   -name: Ensure the installed service is enabled and running
   service:
      name: <your service name>

Quanto sopra è un esempio di Playbook in cui stiamo cercando di coprire la sintassi di base di un Playbook. Salva il contenuto di cui sopra in un file cometest.yml. Una sintassi YAML deve seguire il rientro corretto e bisogna stare un po 'attenti durante la scrittura della sintassi.

I diversi tag YAML

Passiamo ora ai diversi tag YAML. I diversi tag sono descritti di seguito:

nome

Questo tag specifica il nome del playbook Ansible. Come in quello che farà questo playbook. È possibile assegnare qualsiasi nome logico al playbook.

host

Questo tag specifica gli elenchi di host o gruppo host su cui si desidera eseguire l'attività. Il campo / tag hosts è obbligatorio. Indica ad Ansible su quali host eseguire le attività elencate. Le attività possono essere eseguite sulla stessa macchina o su una macchina remota. Si possono eseguire le attività su più macchine e quindi il tag hosts può avere anche una voce di gruppo di host.

vars

Il tag Vars ti consente di definire le variabili che puoi usare nel tuo playbook. L'utilizzo è simile alle variabili in qualsiasi linguaggio di programmazione.

compiti

Tutti i playbook dovrebbero contenere attività o un elenco di attività da eseguire. Le attività sono un elenco di azioni che è necessario eseguire. Un campo delle attività contiene il nome dell'attività. Funziona come testo di aiuto per l'utente. Non è obbligatorio ma si rivela utile per il debug del playbook. Ogni attività si collega internamente a un pezzo di codice chiamato modulo. Un modulo che dovrebbe essere eseguito e gli argomenti richiesti per il modulo che si desidera eseguire.