Aller au contenu

Les bases sur Ansible

Les principales commandes d'Ansible

Outils Description Exemple
ansible Permet d'exécuter un simple module Ansible sur un inventaire mode ad-hoc(en ligne de commandes) ansible all -m ping
ansible-console Ouvre une console interactive permettant de lancer plusieurs actions sur un inventaire. Commands classique
ansible-config Affiche l'ensemble des paramètres Ansible. list: affiche la liste complète des options d'Ansible à disposition. dump: affiche la configuration dans le contexte actuel. view: affiche le contenu d'un fichier de configuration Ansible ansible-config[list|dump|view]
ansible-playbook Exécute un playbook Ansible sur un inventaire. ansible-playbook playbook.yml
ansible-vault Permet de chiffrer des données qui ne doivent pas être divulgué
ansible-inventory Affiche les données d'un inventaire Ansible ansible-inventory -i inventory --graph
ansible-galaxy Permet d'installer des roles et des collections Ansible
ansible-doc Permet d'obtenir de l'aide pour utiliser Ansible. Plutôt pratique pour se guider. ansible-doc ping.

Inventaire

L'inventaire statique sous Ansible est un fichier au format INI,Yaml ou Json.

inventaire.ini
[web]
server1
[db]
server2

Plusieurs connexion ssh possible : - user+password - ssh key

Pour ma pars j'utilise use+password, je change donc le fichier inventaire.ini en :

inventaire.ini
[web]
server1 ansible_ssh_user=root ansible_ssh_pass=password
[db]
server2

[db:vars]
ansible_ssh_user=root 
ansible_ssh_pass=password

Il est maintenant possible de lancer des commande Ansible : ansible -i inventaire.ini -m ping web

172.69.0.2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "ping": "pong"
}

La commande a fonctionné avec succès. Cet exemple est assez simple mais pour des tâches plus évoluées nous allons faire appel au playbook (livre de recette) d’Ansible.

DEBUG

Permet de débugger un script Ansible en voyant chaque étade de la commande.

ansible-playbook -i Inv playbook.yml --step -vvv

Sources