« Parallélisation de tâches sur de multiples serveurs avec Ansible » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 15 : Ligne 15 :
Le fichier principal d'ansible est le fichier d'inventaire dans lequel vous listez les différentes machines à gérer avec ansible. Par défaut, ce fichier est <code>/etc/ansible/hosts</code>. Vous pouvez cependant utiliser n'importe quel fichier et le préciser lors de l'invocation de ansible.
Le fichier principal d'ansible est le fichier d'inventaire dans lequel vous listez les différentes machines à gérer avec ansible. Par défaut, ce fichier est <code>/etc/ansible/hosts</code>. Vous pouvez cependant utiliser n'importe quel fichier et le préciser lors de l'invocation de ansible.


Exemple de fichier hosts :
Exemple de fichier dans ~/hosts :
<pre>
<pre>
[node1]
[node1]
Ligne 25 : Ligne 25 :
vm4.domain.tld
vm4.domain.tld
</pre>
</pre>
=invocation=
<pre>ansible -i ~/hosts -m file -a "path=/tmp/test state=touch" all</pre>
Avec cette commande, on applique une directive ansible à toutes les machines (<code>all</code>) contenues dans le fichier <code>~/hosts</code>. La directive appel le module ansible <code>file</code> afin de créer (<code>state=touch</code>) le fichier <code>/tmp/test</code>
Si nous voulons supprimer ce fichier :
<pre>ansible -i ~/hosts -m file -a "path=/tmp/test state=absent" all</pre>
=playbook=

Version du 24 octobre 2015 à 20:20


Déjà eu besoin d’exécuter la même action sur plusieurs serveur ? Vous venez de voir qu'une grosse faille de sécurité a été corrigé dans apache et vous réalisez que vous devez mettre à jour votre parc de 200 machines ? Et en plus de ça vous êtes flemmard et vous n'avez pas envie de monter une infrastructure client-serveur pour maintenir les machies à jour ? Ansible est fait pour vous. Ansible utilise ssh pour communiquer avec les serveurs et ne nécessite l'installation d'aucun autre paquet pour fonctionner.

Sur votre machine locale :

aptitude install ansible

Sur les serveurs ? Vous n'avez besoin de rien de plus que les paquets minimaux de python 2.x.

aptitude install python

configuration

Le fichier principal d'ansible est le fichier d'inventaire dans lequel vous listez les différentes machines à gérer avec ansible. Par défaut, ce fichier est /etc/ansible/hosts. Vous pouvez cependant utiliser n'importe quel fichier et le préciser lors de l'invocation de ansible.

Exemple de fichier dans ~/hosts :

[node1]
vm1.domain.tld
vm2.domain.tld

[node2]
vm3.domain.tld
vm4.domain.tld

invocation

ansible -i ~/hosts -m file -a "path=/tmp/test state=touch" all

Avec cette commande, on applique une directive ansible à toutes les machines (all) contenues dans le fichier ~/hosts. La directive appel le module ansible file afin de créer (state=touch) le fichier /tmp/test

Si nous voulons supprimer ce fichier :

ansible -i ~/hosts -m file -a "path=/tmp/test state=absent" all

playbook