Browse Source

relecture

master
gcolpart 4 years ago
parent
commit
8773d813f3
1 changed files with 15 additions and 16 deletions
  1. +15
    -16
      HowtoAnsible.md

+ 15
- 16
HowtoAnsible.md View File

@ -6,24 +6,23 @@ categories: automation
* Documentation : <http://docs.ansible.com/>
[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 <http://pub.evolix.net/jessie/)> 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
<https://docs.ansible.com/ansible/raw_module.html>
(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]


Loading…
Cancel
Save