Intro

Ansible est un outil pour administrateur système de déploiement d'applications, de gestion centralisée de configuration et pour faire des actions ponctuelles sur des groupes de machines.

Installation (sur voidlinux)

sudo xbps-install -S ansible
mkdir -p /etc/ansible
cat > /etc/ansible/hosts <<EOF
[migration-puppet]
host1.ul.local
host2.ul.local
host3.ul.local
host4.ul.local
host5.ul.local
host6.ul.local
EOF


Quelques commandes utiles


# ssh-keyscan -f fichier_liste_de_dns_ou_ip_de_machines_une_par_ligne
# exemple avec un fichier de hosts à la *ansible*
time grep -v '^#\|^[[:space:]]*$\|^\[[^]]*\]$' ~/ansible/hosts-def/hosts | ssh-keyscan -H -f - >> ~/.ssh/known_hosts


Quelques commandes utiles

ansible -i /etc/ansible/hosts migration-puppet -a 'grep "server = " /etc/puppet/puppet.conf'
ansible -i /etc/ansible/hosts migration-puppet -a 'sudo rm -rf /var/lib/puppet/ssl'
ansible -i /etc/ansible/hosts migration-puppet -a 'sudo puppet agent -t --server=nouveauserver.puppet.local'

Annexe - Installation (sur archlinux)

yaourt -S ansible-git
# éditer le fichier PKGBUILD
# et changer comme suit :
diff --git a/PKGBUILD b/PKGBUILD
index 68dc6ce..3ec6221 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -34,7 +34,7 @@ package() {
 
 mkdir -p ${pkgdir}/usr/share/ansible
 cp ./library/* ${pkgdir}/usr/share/ansible/
- python setup.py install -O1 --root=${pkgdir}
+ python2 setup.py install -O1 --root=${pkgdir}
 
 install -D docs/man/man1/ansible.1 ${pkgdir}/usr/share/man/man1/ansible.1
 install -D docs/man/man1/ansible-playbook.1 ${pkgdir}/usr/share/man/man1/ansible-playbook.1
# puis valider l'installation

 

Remarques importantes

Exemples simples

Comme ssh parallélisé

ansible -i ~/ansible/hosts mailservers \
        -u monlogin \
        --private-key=~monlogin/.ssh/id_rsa \
        -m shell \
        -a 'HOME=$(/bin/grep monlogin /etc/passwd|cut -d: -f 6)/ ls -al $HOME'

Liens, articles, etc.

Références

Voir aussi