From 8773d813f3701afc14ff67dc25b097e76bb17aa5 Mon Sep 17 00:00:00 2001 From: gcolpart Date: Wed, 1 Mar 2017 19:40:54 +0100 Subject: [PATCH] relecture --- HowtoAnsible.md | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/HowtoAnsible.md b/HowtoAnsible.md index b8619c77..48029827 100644 --- a/HowtoAnsible.md +++ b/HowtoAnsible.md @@ -6,24 +6,23 @@ categories: automation * Documentation : -[Ansible](https://www.ansible.com/) est un outil d'automatisation de configuration et gestion de serveurs : il permet le déploiement de logiciels et l'execution de tâches via une connexion SSH. +[Ansible](https://www.ansible.com/) est un outil d'automatisation de configuration et gestion de serveurs : il permet le déploiement de logiciels et l'exécution de tâches via une connexion SSH. -Ansible fonctionne sans agent sur les serveurs (*agent-less*) et selon le concept d'**[idempotence](https://fr.wikipedia.org/wiki/Idempotence)** : on décrit l'état d'un serveur et des actions seront exécutées dans le but de rendre le serveur conforme à cette description. -On pourra relancer Ansible plusieurs fois, l'état final reste le même : seules les actions nécessaires seront exécutées. +Ansible fonctionne sans agent sur les serveurs (*agent-less*) et selon le concept d'**[idempotence](https://fr.wikipedia.org/wiki/Idempotence)** : on décrit l'état d'un serveur et des actions seront exécutées dans le but de rendre le serveur conforme à cette description. On pourra relancer Ansible plusieurs fois, l'état final reste le même : seules les actions nécessaires seront exécutées. + + +## Installation Ansible peut exécuter des actions sur des serveurs distants sous : -* *Debian 6* et supérieur (nécessite uniquement _Python_ ce qui est le cas par défaut) -* *Debian 4 / 5* : voir [#AnsiblesurdesvieillesversionsDebian] +* *Debian 6* et supérieur : `# apt-get install python-apt dbus sudo` +* *Debian 4 / 5* : utiliser le module [raw](https://docs.ansible.com/ansible/raw_module.html) d'Ansible * *OpenBSD* : voir **[pré-requis](https://wiki.evolix.org/HowtoAnsible#openbsd)** -* *FreeBSD* : TODO - -## Installation +* *FreeBSD* Nous utilisons actuellement Ansible 2.0.2 (disponible via sous Debian 8 : ~~~ -# apt install python-apt dbus sudo # apt install --allow-unauthenticated ansible=2.0.2.0-1~bpo8+1 ~~~ @@ -73,7 +72,7 @@ Options utiles pour [ansible-playbook](https://manpages.debian.org/cgi-bin/man.c ## Les éléments d'Ansible -L'utilisation d'Ansible se fait principalement avec un **playbook**. C'est l'élément clé, qui peut suffir à réaliser des tâches utiles. Il s'agit d'un fichier qui décrit la succession d'une ou plusieurs séries d'actions (des *plays*). Chaque **play** indiques quelques réglages généraux comme le groupe de serveurs concernés, la manière de devenenir administrateur, quels fichiers de variables charger… +L'utilisation d'Ansible se fait principalement avec un **playbook**. C'est l'élément clé, qui peut suffire à réaliser des tâches utiles. Il s'agit d'un fichier qui décrit la succession d'une ou plusieurs séries d'actions (des *plays*). Chaque **play** indique quelques réglages généraux comme le groupe de serveurs concernés, la manière de devenir administrateur, quels fichiers de variables charger et surtout des actions. Un playbook va ensuite dérouler des _actions_ qui seront organisées en _roles_, _tasks_ et _handlers_. @@ -87,7 +86,7 @@ Les actions peuvent être listées dans la partie **tasks** du playbook et peuve Les **handlers** sont des actions qui ne sont exécutées que si une autre action en a fait la demande, via l'attribut `notify`. -Lorsqu'on a besoin d'utiliser des fichiers ou _templates_ à copier, des variables avec des valeurs par défaut, des handlers… on peut organiser tout cela dans un **role** en respectant (idéalement) une structure conventionnelle : +Lorsqu'on a besoin d'utiliser des fichiers ou _templates_ à copier, des variables avec des valeurs par défaut, des handlers… on peut organiser tout cela dans un **role** en respectant la structure conventionnelle suivante : ~~~ foo @@ -125,7 +124,7 @@ Exemple de playbook très simple : # vim:ft=ansible: ~~~ -Un playbook plus complexe : +Un playbook plus complexe (avec un seul "play") : ~~~{.yaml} --- @@ -678,7 +677,7 @@ ou * Installer package python - + (bzip2, php, … selon services à installer) @@ -1038,9 +1037,9 @@ Il est possible aussi d'accéder aux variables d'environnement shell : ### OpenBSD -Voici les étapes nécéssaires à l'utilisation d'Ansible sur des serveurs OpenBSD +Voici les étapes nécessaires à l'utilisation d'Ansible sur des serveurs OpenBSD. -Installer `Python` +Installer `Python` : ~~~ # export PKG_PATH=http://ftp.eu.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -p)/ @@ -1048,7 +1047,7 @@ Installer `Python` # ln -sf /usr/local/bin/python2.7 /usr/local/bin/python ~~~ -Surcharger la variable `ansible_python_interpreter` dans le fichier “inventory” +et surcharger la variable `ansible_python_interpreter` dans le fichier _inventory_ : ~~~ [openbsd]