ansible
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
ansible [2016/06/12 14:14] – [Les variables] cecile | ansible [2019/07/13 17:16] – [Commandes utiles] cecile | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
=====Préambule===== | =====Préambule===== | ||
+ | Ansible est un outil permettant d' | ||
+ | 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' | =====Installation d' | ||
Ligne 22: | Ligne 24: | ||
* python-dev | * python-dev | ||
* libffi-dev | * libffi-dev | ||
+ | * libssl-dev | ||
* ou tout autre paquet manquant mentionné par pip durant l' | * ou tout autre paquet manquant mentionné par pip durant l' | ||
- | =====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 < | * si on utilise su, on ajoute < | ||
* si on utilise sudo, on ajoute < | * si on utilise sudo, on ajoute < | ||
+ | |||
+ | 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' | ||
Super astuce, pour mettre à jour un paquet sur plein de machines (ex: erreur de sécu sur apache) : < | Super astuce, pour mettre à jour un paquet sur plein de machines (ex: erreur de sécu sur apache) : < | ||
Ligne 74: | Ligne 79: | ||
Documentation officielle : http:// | Documentation officielle : http:// | ||
- | Le playbook permet de réunir les tâches de configuration au sein d' | + | Le playbook permet de réunir les tâches de configuration au sein d' |
Ligne 164: | Ligne 169: | ||
Exercice : En reprenant l' | Exercice : En reprenant l' | ||
+ | |||
+ | ====Les templates==== | ||
+ | |||
+ | On peut aussi utiliser des variables dans les fichiers qu'on copie (module copy de l' | ||
+ | |||
+ | Documentation : http:// | ||
+ | |||
+ | Exercice : Reprendre l' | ||
+ | |||
+ | ====Les " | ||
+ | |||
+ | Une partie des variables sont pré-définies par ansible, elle s' | ||
+ | |||
+ | La liste est ici : http:// | ||
+ | |||
+ | Exercice: indiquer l' | ||
+ | |||
+ | =====Bug Wheezy / Ansible version 2.1.0.0===== | ||
+ | |||
+ | Erreur au lancement des commandes Ansible : < | ||
+ | fatal: [machine]: FAILED! => {" | ||
+ | |||
+ | 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 : | ||
+ | |||
+ | < | ||
+ | [defaults] | ||
+ | # some specific values | ||
+ | gather_subset | ||
+ | </ | ||
+ | |||
+ | 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 : | ||
+ | |||
+ | < | ||
+ | hostfile = <mon fichier host> | ||
+ | </ | ||
+ | |||
+ | =====Commandes utiles===== | ||
+ | |||
+ | < | ||
+ | ansible-playbook --ask-become-pass --check --diff -l slash.faimaison.net -t celutz, | ||
+ | </ | ||
+ | * Demande le mot de passe du host : < | ||
+ | * Limite le déploiement au host renseigné : < | ||
+ | * Concerne les tags renseignés : < | ||
+ | |||
+ | ====Options utiles==== | ||
+ | |||
+ | * Tester le playbook : < | ||
+ | * Lancer étape par étape de manière à choisir d' | ||
+ | * Démarrer sur une tâche précise : < |
ansible.txt · Dernière modification : 2024/06/13 18:54 de gde