Recherche…


Vue d'ensemble

Dans Ansible, un playbook est un fichier YAML contenant la définition de l'apparence d'un serveur. Dans un playbook, vous définissez les actions que Ansible doit entreprendre pour obtenir le serveur dans l’état souhaité. Seul ce que vous définissez se fait.

Ceci est un playbook Ansible de base qui installe git sur chaque hôte appartenant au groupe web :

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

Structure du Playbook

Le format d'un playbook est assez simple, mais strict en termes d'espacement et de disposition. Un livre de jeu se compose de jeux. Un jeu est une combinaison d’hôtes cibles et des tâches que nous souhaitons appliquer à ces hôtes. Le dessin d’un playbook est le suivant:

Représentation graphique d'un playbook Ansible

Pour exécuter ce playbook, nous exécutons simplement:

ansible-playbook -i hosts my_playbook.yml

Structure de jeu

Voici un jeu simple:

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

Comme nous l'avons dit plus tôt, chaque pièce doit contenir:

  • Un ensemble d'hôtes à configurer

  • Une liste des tâches à exécuter sur ces hôtes

Considérez un jeu comme la chose qui connecte les hôtes aux tâches. Outre la spécification des hôtes et des tâches, les jeux prennent également en charge un certain nombre de paramètres facultatifs. Les deux plus courants sont:

  • name : un commentaire décrivant le sujet de la pièce. Ansible imprimera ceci lorsque le jeu commence à courir
  • vars : une liste de variables et de valeurs

Mots clés

Play contient plusieurs tâches, qui peuvent être balisées:

- 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

La tâche avec la balise 'vim' sera exécutée lorsque 'vim' est spécifié dans les balises. Vous pouvez spécifier autant de balises que vous le souhaitez. Il est utile d'utiliser des tags tels que "install" ou "config". Ensuite, vous pouvez exécuter playbook en spécifiant des balises ou des balises. Pour

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

Par défaut, Ansible exécute toutes les balises



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow