2022-03

Les environnements d’exécution Ansible

Les environnements d’exécution pour Ansible (execution environments) sont une manière d’isoler l’exécution de l’outil à l’aide de conteneurs.

Ceux-ci permettent de fournir l’ensemble des dépendances que requiert le bon déroulement d’un playbook.

Celles-ci peuvent être liées au système, comme une version précise de Python, ou composées d’un groupement de collections (extensions pour Ansible).

Chaque environnement d’exécution permet de créer une image (de conteneur) dédiée à l’exécution d’un playbook (et rien d’autre).

Afin de bien comprendre la manière dont cette solution logicielle s’intègre au sein de l’écosystème Ansible, nous allons étudier, sommairement, l’ensemble des briques qui la forment, soit :

  • Ansible Runner - un outil en ligne de commandes qui permet d’exécuter les playbooks Ansible sans installer intégralement l’outil et ses dépendances.

  • Ansible Builder - un utilitaire qui permet de construire une image de conteneur (Docker ou Podman) pour exécuter un playbook à l’aide d’Ansible Runner.

  • Execution Environments - l’intégration des deux précédents outils au sein d’AWX (ou Ansible Automation Platform).