Outils pour utilisateurs

Outils du site


ansible

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
ansible [2016/06/12 14:22] – [Les playbooks] cecileansible [2017/12/15 16:14] – [Utilisation de la commande ansible (commandes ad-hoc)] dam
Ligne 3: Ligne 3:
 =====Préambule===== =====Préambule=====
  
 +Ansible est un outil permettant d'installer et de configurer des ordinateurs automatiquement.
 +Pour cela, il faut :
   * une machine de contrôle (ex: laptop)   * une machine de contrôle (ex: laptop)
   * une machine à configurer (ex: serveur)   * une machine à configurer (ex: serveur)
 +Remarque : la machine de contrôle peut être la machine à configurer
 =====Installation d'Ansible (sur la machine de contrôle)===== =====Installation d'Ansible (sur la machine de contrôle)=====
  
Ligne 22: Ligne 24:
         * python-dev         * python-dev
         * libffi-dev         * libffi-dev
 +        * libssl-dev
         * ou tout autre paquet manquant mentionné par pip durant l'installation         * ou tout autre paquet manquant mentionné par pip durant l'installation
  
  
-=====Installation des dépendances (sur la machine à controller)=====+=====Installation des dépendances (sur la machine à contrôler)=====
  
   * Sur la machine distante, il y a quelques dépendances à installer, mais pas Ansible:   * Sur la machine distante, il y a quelques dépendances à installer, mais pas Ansible:
Ligne 67: Ligne 70:
   * si on utilise su, on ajoute <code> --become --become-method=su --ask-become-pass </code>   * si on utilise su, on ajoute <code> --become --become-method=su --ask-become-pass </code>
   * si on utilise sudo, on ajoute <code> --become --become-method=sudo --ask-become-pass </code>   * si on utilise sudo, on ajoute <code> --become --become-method=sudo --ask-become-pass </code>
 +
 +Si l'on souhaite que ansible demande le mot de passe ssh (dans le cas ou la clé publique n'est pas présent sur le serveur distant), on peut ajouter l'option <code> -k </code>
  
 Super astuce, pour mettre à jour un paquet sur plein de machines (ex: erreur de sécu sur apache) : <code> -m apt -a "name=apache2 state=latest update_cache=yes" </code> qui fait un apt update suivit d'un apt install. Super astuce, pour mettre à jour un paquet sur plein de machines (ex: erreur de sécu sur apache) : <code> -m apt -a "name=apache2 state=latest update_cache=yes" </code> qui fait un apt update suivit d'un apt install.
Ligne 180: Ligne 185:
  
 Exercice: indiquer l'IPv4  de la machine dans le message de bienvenue MOTD. Exercice: indiquer l'IPv4  de la machine dans le message de bienvenue MOTD.
 +
 +=====Bug Wheezy / Ansible version 2.1.0.0=====
 +
 +Erreur au lancement des commandes Ansible : <code>
 +fatal: [machine]: FAILED! => {"changed": false, "failed": true, "msg": "unsupported parameter for module: gather_subset"}</code>
 +
 +Pour corriger le problème, il faut spécifier la valeur all au module dather_subset dans le fichier de configuration.
 +
 +Pour cela, on crée un fichier ansible.cfg dans le répertoire courant, on ne modifie pas le fichier de configuration dans /etc.
 +On ajoute les lignes suivantes :
 +
 +<code>
 +[defaults]
 +# some specific values
 +gather_subset  = all
 +</code>
 +
 +On peut aussi spécifier le chemin du fichier host dans le répertoire courant pour ne pas avoir à le spécifier dans les commandes ansible avec le -i. Pour cela on ajoute la ligne :
 +
 +<code>
 +hostfile = <mon fichier host>
 +</code>
ansible.txt · Dernière modification : 2024/06/13 18:54 de gde