Ansible-1 Présentation 👨‍🏫

Objectifs:
🎯 Automatiser l'installation de ressources sur ses machines.

Prérequis:
💡 N/A


logo d'ansible, outil devops d'automatisation de provising de machines.

Ansible est un logiciel libre de gestion des configurations qui automatise le déploiement des applications.
Il faut l'installer sur un serveur qui peut s'authentifier aux machines cibles en ssh.

schéma présentation ansible.

L'automatisation de tâches de provisioning de machine se fait à l'aide de la création de roles et de playbooks.
Les playbooks s'exécutent à l'aide de la commande ansible-playbook. Chaque playbook permettant d'effectuer des actions spécifiques sur un ensemble de serveurs.

Passons à quelques définitions importantes pour comprendre le fonctionnement d'ansible.
source: ansible.com

Playbook: 📑
Le playbook est un fichier yaml dans lequel on déclare des tâches et des roles à appliquer à un ensemble de hosts eux aussi déclarés dans le playbook.

Role: 📂
Permet de centraliser dans un dossier les tâches et les fichiers nécessaires à un déploiement spécifique.
Par exemple pour l'installation du client bacula sur mes serveurs je vais créer le dossier bacula-client respectant l'architecture suivante:
bacula-client
  |-> README.md défauts files handlers meta tasks templates tests vars

Inventaire: 📦
Le fichier d'inventaire permet de déclarer nos serveurs. On peut également déclarer des groupes de serveurs.
Imaginons que vous ne voulez installer le client bacula que sur vos serveurs ubuntu, dans ce cas-là il suffit de faire un groupe ubuntu et d'y déclarer vos serveurs. Ce nom de groupe pourra ensuite être utilisé par vos playbooks (les noms de serveurs doivent être atteignables en ssh).


Conclusion:
Maintenant que nous connaissons les composants essentiels, il va nous falloir installer ansible.
Pour cela rendez-vous au chapitre suivant Ansible-2 Installation.