ansible
Introduction aux playbooks
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:
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