relecture
This commit is contained in:
parent
9a042e4257
commit
8773d813f3
|
@ -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…
Reference in New Issue