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
ansible [2017/12/15 15:19] – [Préambule] damansible [2021/01/31 14:09] (Version actuelle) tonio
Ligne 4: Ligne 4:
  
 Ansible est un outil permettant d'installer et de configurer des ordinateurs automatiquement. Ansible est un outil permettant d'installer et de configurer des ordinateurs automatiquement.
- 
 Pour cela, il faut : 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 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 73: 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 ''« -k »'' 
  
 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 78: Ligne 77:
 =====Les playbooks===== =====Les playbooks=====
  
-Documentation officielle : http://docs.ansible.com/ansible/playbooks_intro.html+Documentation officielle : https://docs.ansible.com/ansible/2.8/modules/modules_by_category.html
  
 Le playbook permet de réunir les tâches de configuration au sein d'un fichier. Le playbook permet de réunir les tâches de configuration au sein d'un fichier.
Ligne 132: Ligne 131:
 Documentation : http://docs.ansible.com/ansible/list_of_all_modules.html Documentation : http://docs.ansible.com/ansible/list_of_all_modules.html
  
-**Solution 1 :** 
-<code>  
-tasks: 
-    - name: installer la vache qui parle 
-      apt: name=cowsay state=absent 
-    - name: créer le magicien magic 
-      user: name=magicsystem  
-</code> 
  
 **Exercice 2 :** **Exercice 2 :**
Ligne 187: Ligne 178:
 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> +=====Commandes utiles=====
-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> <code>
-[defaults] +ansible-playbook --ask-become-pass --check --diff -l slash.faimaison.net -t celutz,nginx playbook-fma.yml -vvv
-# some specific values +
-gather_subset  = all+
 </code> </code>
 +  * Demande le mot de passe du host : <code>--ask-become-pass</code>
 +  * Limite le déploiement au host renseigné : <code>-l <host></code>
 +  * Concerne les tags renseignés : <code>-t <tags></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 :+====Options utiles====
  
-<code> +  * Tester le playbook : <code>--check --diff</code> 
-hostfile = <mon fichier host+  * Lancer étape par étape de manière à choisir d'exécuter une tâche précise ou non : <code>--step</code
-</code>+  * Démarrer sur une tâche précise : <code>--start-at-task="install packages"</code> 
 + 
 + 
 +Voici un autre exemple pour commencer: 
 +[[ansible:pourcommencer|ansible:pourcommencer]]
ansible.1513351181.txt.gz · Dernière modification : 2017/12/15 15:19 de dam