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édente | ||
ansible [2016/06/12 14:14] – [Les variables] cecile | ansible [2024/06/13 18:54] (Version actuelle) – changement section vraiment utile en example utile gde | ||
---|---|---|---|
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 72: | Ligne 77: | ||
=====Les playbooks===== | =====Les playbooks===== | ||
- | Documentation officielle : http:// | + | Documentation officielle : https:// |
- | 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 126: | Ligne 131: | ||
Documentation : http:// | Documentation : http:// | ||
- | **Solution 1 :** | ||
- | < | ||
- | tasks: | ||
- | - name: installer la vache qui parle | ||
- | apt: name=cowsay state=absent | ||
- | - name: créer le magicien magic | ||
- | user: name=magicsystem | ||
- | </ | ||
**Exercice 2 :** | **Exercice 2 :** | ||
Ligne 164: | Ligne 161: | ||
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' | ||
+ | |||
+ | |||
+ | =====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 : < | ||
+ | |||
+ | |||
+ | Voici un autre exemple pour commencer: | ||
+ | [[ansible: | ||
+ | |||
+ | ==== example utile ==== | ||
+ | |||
+ | l' | ||
+ | --limit pour préciser un serveur spécifique (-l est la forme diminué). | ||
+ | |||
+ | < | ||
+ |
ansible.txt · Dernière modification : 2024/06/13 18:54 de gde