
Cette sous-section couvre l’écriture des playbooks Ansible au-delà du cas trivial. Vous y apprenez la structure d’un play complet (avec pre_tasks, post_tasks, handlers, roles, environment), la vue d’ensemble des collections built-in, le déclenchement précis des handlers via notify: et listen:, l’usage des tags pour cibler un sous-ensemble de tâches, le check mode pour les dry-runs, le parallélisme (forks, serial, strategy), les tâches asynchrones et la délégation (delegate_to, run_once).
C’est la couche opérationnelle de l’écriture de code Ansible — celle où vous passez du “playbook qui marche” au “playbook qui passe à l’échelle, gère les erreurs, et tourne en CI”.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- L’anatomie complète d’un play et de ses 12 mots-clés (
hosts,become,gather_facts,vars,vars_files,pre_tasks,tasks,post_tasks,handlers,roles,environment,strategy) ; - Les collections built-in :
ansible.builtin,ansible.posix,community.general— quoi prendre où ; - Les handlers et leur déclenchement (
notify:,listen:,meta: flush_handlers) ; - Les tags pour exécuter ou ignorer des sous-ensembles de tâches (
--tags,--skip-tags,always,never) ; - Le check mode (
--check) et le diff mode (--diff) pour les dry-runs sécurisés ; - Le parallélisme :
forks,serial(rolling updates),throttle,strategy: linear|free|host_pinned; - Les tâches asynchrones :
async:,poll:,async_statuspour les opérations longues ; - La délégation :
delegate_to,local_action,run_once(cas typique : drain de load-balancer).
Prérequis
Section intitulée « Prérequis »- Avoir lu les pages YAML pour Ansible, Structure d’un projet et Style guide de la sous-section Fondations ;
- Avoir validé le premier playbook (anatomie de base, idempotence).
Le parcours en 9 pages
Section intitulée « Le parcours en 9 pages »La place dans la RHCE EX294
Section intitulée « La place dans la RHCE EX294 »| Objectif RHCE | Couvert par |
|---|---|
| Créer playbooks simples et avancés | Plays et tasks |
| Connaître les modules de base | Modules built-in |
| Utiliser handlers | Handlers |
| Utiliser tags | Tags |
| Mode check et diff | Check mode et diff |
| Gérer le parallélisme | Parallélisme et stratégies |
| Gérer le rolling update | Parallélisme et stratégies (serial:) |
Réutiliser du code (import_* / include_*) | Import vs Include |
L’asynchrone et la délégation ne sont pas explicitement à l’examen mais sont indispensables en production réelle.