Outils personnels

Ansible : installation : Différence entre versions

De wikiGite

(Page créée avec « == A partir des sources == git clone git://github.com/ansible/ansible.git cd ./ansible make install easy_install jinja2 # templating engine easy_install pyyaml # yaml... »)
 
 
(3 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
== A partir des sources ==
 
== A partir des sources ==
 +
<syntaxhighlight lang="bash" enclose="div">
 
  git clone git://github.com/ansible/ansible.git
 
  git clone git://github.com/ansible/ansible.git
 
  cd ./ansible
 
  cd ./ansible
Ligne 6 : Ligne 7 :
 
  easy_install pyyaml # yaml syntax parser
 
  easy_install pyyaml # yaml syntax parser
 
  easy_install paramiko # parallel ssh
 
  easy_install paramiko # parallel ssh
 
+
</syntaxhighlight>
Créer le fichier hosts et les playbooks (voir  
+
Créer le fichier hosts et les playbooks (voir [[Ansible: utilisation]])
  
 
== Sur CentOS6 ==
 
== Sur CentOS6 ==
 +
<syntaxhighlight lang="bash" enclose="div">
 
yum install --enablerepo=epel ansible
 
yum install --enablerepo=epel ansible
 
+
</syntaxhighlight>
 
Les fichiers de configuration se trouvent dans /etc/ansible
 
Les fichiers de configuration se trouvent dans /etc/ansible
  
 
Echanger les clés SSH entre le serveur et les clients. Initialiser une première connexion ssh pour enregistrer les clés des clients.
 
Echanger les clés SSH entre le serveur et les clients. Initialiser une première connexion ssh pour enregistrer les clés des clients.
 +
 +
'''NOTE''' : python-simplejson DOIT ETRE INSTALLE SUR LE CLIENT
  
 
Puis tester ansible :
 
Puis tester ansible :
 +
<syntaxhighlight lang="bash" enclose="div">
 
  ansible all -m ping # ping sur tous les hosts
 
  ansible all -m ping # ping sur tous les hosts
 
  ansible test -m ping # (= "ansible nodes:test -m ping") : sur un groupe "test"
 
  ansible test -m ping # (= "ansible nodes:test -m ping") : sur un groupe "test"
Ligne 27 : Ligne 32 :
 
   
 
   
 
  ansible nodes:master -a "wget -qO - http://ifconfig.me/ip" -f 10
 
  ansible nodes:master -a "wget -qO - http://ifconfig.me/ip" -f 10
 
+
</syntaxhighlight>
 
== TIPS ==
 
== TIPS ==
 
https://github.com/ansible/ansible-examples
 
https://github.com/ansible/ansible-examples
 
'''NOTE''' : python-simplejson DOIT ETRE INSTALLE SUR LE CLIENT
 

Version actuelle datée du 20 mars 2015 à 13:23

A partir des sources

 git clone git://github.com/ansible/ansible.git
 cd ./ansible
 make install
 easy_install jinja2 # templating engine
 easy_install pyyaml # yaml syntax parser
 easy_install paramiko # parallel ssh

Créer le fichier hosts et les playbooks (voir Ansible: utilisation)

Sur CentOS6

yum install --enablerepo=epel ansible

Les fichiers de configuration se trouvent dans /etc/ansible

Echanger les clés SSH entre le serveur et les clients. Initialiser une première connexion ssh pour enregistrer les clés des clients.

NOTE : python-simplejson DOIT ETRE INSTALLE SUR LE CLIENT

Puis tester ansible :

 ansible all -m ping # ping sur tous les hosts
 ansible test -m ping # (= "ansible nodes:test -m ping") : sur un groupe "test"
 ansible test-puppet.domaine.fr -m ping # sur un host en particulier
 
 ansible all -m lineinfile -a 'dest=/etc/puppet/puppet.conf regexp="server=" line="server=test-puppet.domaine.fr"'
 
 ansible-playbook monplaybook.yml --list-hosts # ne lance pas le book, liste seulement les hosts
 ansible-playbook monplaybook.yml --extra-vars="host=test-puppet.domaine.fr" # si "hosts=$host" dans le playbook, permet de ne lancer celui-ci que sur le host donné sur la ligne de commande
 
 ansible nodes:master -a "wget -qO - http://ifconfig.me/ip" -f 10

TIPS

https://github.com/ansible/ansible-examples