Présentation
Ansible est un outil qui se connecte à de multiples serveurs via une connexion SSH afin de les configurer tous à la fois.
C’est un outil formidable qui permet également à une machine de s’auto-configurer suivant un fichier Ansible.
Il utilise un système de module pour étendre ses fonctionnalités, par exemple le module APT pour vérifier qu’un paquet Debian/Ubuntu est installé, cas échéant il l’installe.
La configuration se fait par un fichier YAML, c’est donc très épuré, facile à retenir et à lire.
Installation
Je vous conseille d’utiliser la version en développement en utilisant la procédure suivante :
git clone git://github.com/ansible/ansible.git
cd ./ansible
source ./hacking/env-setup
sudo easy_install pip
sudo pip install paramiko PyYAML jinja2 httplib2
Cela fonctionne comme un environnement virtualenv. Donc vous pouvez le quitter à tout moment à l’aide de deactivate.
Configuration / Utilisation
Pour démarrer un projet Ansible, c’est très simple : on débute dans un nouveau dossier et on rempli un fichier ansible.cfg. Comme par exemple celui fourni dans le dossier examples/ansible.cfg.
Ensuite on rempli un fichier hosts avec l’adresse des serveurs à contacter.
De là on peut déjà tester :
ansible all -m ping
Je vous renvoie ensuite à la documentation en ligne à lire : http://docs.ansible.com/
Liens utiles
- Docs Ansible (en)
- Liste des modules Ansible
- Exemples d'utilisation d'Ansible
- https://galaxy.ansible.com/explore#/ : exemple de configurations pour divers besoins (faits par les utilisateurs)