Table des matières

SSH Setup

Copiez la clé publique de votre utilisateur Ansible Master sur le nœud à gérer.

ssh-keygen                  # generate public key
ssh-copy-id <name of node>  # copy key, provide password to node

Configurer le fichier Hosts

# nano /etc/ansible/hosts
...
[production]
prod1.prod.local
prod2.prod.local
 
[dev]
devweb1.dev.local
devweb2.dev.local

Remote CMD (Ad Hoc)

Ping un nœud specifique

ansible -i hosts nycweb01.prod.local -m ping

Ping avec wildcard

ansible -i hosts "nycweb*" -m ping

Ping tout les nœuds du groupe “all” avec l'utilisateur SSH “root”

ansible -i hosts all -m ping -u root

Lancement d'une commande

ansible -i hosts dev -a 'uname -a'

Vérifie la commande “yum”

ansible -i hosts dev -m yum 

Vérifie si le package “docker” est installé

ansible -i hosts web01.nyc.local -m shell -a "rpm -qa | grep docker"

Obtenir des informations

ansible -i hosts web01.nyc.local -m setup -a 'filter=facter_*'

Lance une commande avec “sudo”

ansible -i hosts target-host -m shell -a "cat /etc/sudoers" --sudo 

Packages and Installation

Installer de multiple packages

yum: name="{{ item }}" state=present
with_items:
  - http 
  - htop
  - myapp

Jobs and Process Control

run Ansible ad hoc with 10 parallel forks

ansible -i hosts testnode1 -a "uname -a" -f 10

show human readable output add this line to ansible.cfg

stdout_callback=yaml

Annexe

https://www.ansible.com/