relecture
This commit is contained in:
parent
9a042e4257
commit
8773d813f3
|
@ -6,24 +6,23 @@ categories: automation
|
||||||
* Documentation : <http://docs.ansible.com/>
|
* 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.
|
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.
|
||||||
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 :
|
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 6* et supérieur : `# apt-get install python-apt dbus sudo`
|
||||||
* *Debian 4 / 5* : voir [#AnsiblesurdesvieillesversionsDebian]
|
* *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)**
|
* *OpenBSD* : voir **[pré-requis](https://wiki.evolix.org/HowtoAnsible#openbsd)**
|
||||||
* *FreeBSD* : TODO
|
* *FreeBSD*
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Nous utilisons actuellement Ansible 2.0.2 (disponible via <http://pub.evolix.net/jessie/)> sous Debian 8 :
|
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
|
# 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
|
## 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_.
|
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`.
|
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
|
foo
|
||||||
|
@ -125,7 +124,7 @@ Exemple de playbook très simple :
|
||||||
# vim:ft=ansible:
|
# vim:ft=ansible:
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Un playbook plus complexe :
|
Un playbook plus complexe (avec un seul "play") :
|
||||||
|
|
||||||
~~~{.yaml}
|
~~~{.yaml}
|
||||||
---
|
---
|
||||||
|
@ -678,7 +677,7 @@ ou
|
||||||
|
|
||||||
* Installer package python
|
* Installer package python
|
||||||
|
|
||||||
<https://docs.ansible.com/ansible/raw_module.html>
|
|
||||||
|
|
||||||
(bzip2, php, … selon services à installer)
|
(bzip2, php, … selon services à installer)
|
||||||
|
|
||||||
|
@ -1038,9 +1037,9 @@ Il est possible aussi d'accéder aux variables d'environnement shell :
|
||||||
|
|
||||||
### OpenBSD
|
### 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)/
|
# 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
|
# 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]
|
[openbsd]
|
||||||
|
|
Loading…
Reference in a new issue