22
0
Fork 0

Ansible : précisions pour les modules

This commit is contained in:
Jérémy Lecour 2017-03-07 11:24:01 +01:00 committed by Jérémy Lecour
parent 3051b64582
commit 821b738a25
1 changed files with 4 additions and 2 deletions

View File

@ -67,7 +67,7 @@ jeudi 26 mai 2016, 23:16:01 (UTC+0200)
## Les éléments d'Ansible
L'élément de base d'Ansible est le [module](#modules) : on peut exécuter une tâche (installation de paquets, copie de fichiers, etc.) en exécutant simplement `ansible --module`.
L'élément de base d'Ansible est le [module](#modules) : on peut exécuter une tâche (installation de paquets, copie de fichiers, etc.) en exécutant simplement `ansible -m mon_module`.
Pour regrouper plusieurs tâches, on utilise un [playbook](#playbook) : un fichier en syntaxe YAML qui va lister une succession de modules avec des arguments.
Au sein d'un playbook, on dispose d'options pratiques comme les [handlers](#handlers) : ils permettent le déclenchement d'une commande sous certaines conditions (redémarrage d'un service par exemple).
Si l'on veut organiser de façon poussée les différentes tâches, on utilisera des [roles](#roles) : il s'agit simplement d'inclure dans un playbook des fichiers YAML respectant une structure conventionnelle.
@ -77,7 +77,9 @@ Enfin, pour s'exécuter sur un ensemble de machines, Ansible a besoin d'un [inve
<http://docs.ansible.com/ansible/list_of_all_modules.html>
Le module est le garant de l'idempotence : Ansible gérera le succès de l'exécution et indiquera si une vérification ou action concrète a été effectuée. (TODO: à enrichir).
Un module est comme une bibliothèque. Il constitue une couche d'abstraction par rapport au shell et commandes sous-jacentes. C'est cette couche qui permet l'idempotence et le fonctionneent sur plusieurs plateformes.
Les modules disposent de certains comportements et fonctionnalités communs : indication de succès/erreurs/changements, gestion des [variables](http://docs.ansible.com/ansible/playbooks_variables.html), des [conditions](http://docs.ansible.com/ansible/playbooks_conditionals.html), des [boucles](http://docs.ansible.com/ansible/playbooks_loops.html), des états de sortie…
Pour avoir la liste des modules utilisables : `ansible-doc -l`