Ricerca…


Panoramica

In Ansible, un playbook è un file YAML contenente la definizione di come dovrebbe apparire un server. In una cartella di gioco si definiscono le azioni che Ansible dovrebbe prendere per ottenere il server nello stato desiderato. Solo ciò che si definisce viene fatto.

Questo è un playbook Ansible di base che installa git su ogni host appartenente al gruppo web :

---
- name: Git installation
  hosts: web
  remote_user: root
  tasks: 
    - name: Install Git
      apt: name=git state=present

Struttura del Playbook

Il formato di un playbook è piuttosto semplice, ma rigoroso in termini di spaziatura e layout. Un playbook consiste di giochi. Una giocata è una combinazione di host bersaglio e le attività che vogliamo applicare su questi host, quindi un disegno di un playbook è questo:

Rappresentazione pittorica di un libro di esercizi di Ansible

Per eseguire questo libro di esercizi, eseguiamo semplicemente:

ansible-playbook -i hosts my_playbook.yml

La struttura del gioco

Ecco un gioco semplice:

- name: Configure webserver with git
  hosts: webserver
  become: true
  vars:
    package: git
  tasks:
    - name: install git
      apt: name={{ package }} state=present

Come abbiamo detto prima, ogni gioco deve contenere:

  • Un set di host da configurare

  • Un elenco di attività da eseguire su quegli host

Pensa a un gioco come alla cosa che collega gli host alle attività. Oltre a specificare host e attività, le riproduzioni supportano anche un numero di impostazioni opzionali. Due quelli comuni sono:

  • name : un commento che descrive di cosa tratta il gioco. Ansible stamperà questo fuori quando inizia la riproduzione del gioco
  • vars : un elenco di variabili e valori

tag

La riproduzione contiene diversi compiti, che possono essere taggati:

- name: Install applications
  hosts: all
  become: true
  tasks:
    - name: Install vim
      apt: name=vim state=present
      tags:
        - vim
    - name: Install screen 
      apt: name=screen state=present
      tags:
        - screen

L'attività con il tag 'vim' verrà eseguita quando 'vim' è specificato nei tag. Puoi specificare tutti i tag che vuoi. È utile usare tag come "install" o "config". Quindi puoi eseguire la cartella con i tag di specificazione o skip-tag. Per

ansible-playbook my_playbook.yml --tags "tag1,tag2"
ansible-playbook my_playbook.yml --tags "tag2"
ansible-playbook my_playbook.yml --skip-tags "tag1"

Di default Ansible esegue tutti i tag



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow