Ansible est un outil de gestion de configurations, d’exécutions de tâches et de déploiements multi-machines. Au travers d'une présentation sommaire et de retours d'expériences, nous vous montrerons le potentiel d'Ansible et la facilité de gérer au quotidien les tâches fastidieuses.
Conférence #nwxtech4 : Responsive Web Design et Préprocesseurs CSS par Benjam...
#nwxtech9 Rudy Baer et Kevin Vézier - Ansible, l’outil du sysadmin paresseux mais pragmatique
1. Be creative. Make sense. www.creativedata.fr 1
Ansible, l’outil du sysadmin
paresseux mais
pragmatique
Be Creative. Make Sense.
* Disclaimer : la plupart des images viennent de l’internet
2. Be creative. Make sense. www.creativedata.fr
Présentation
Kevin (rire)
Responsable Infrastructure chez Creative Data
Ansible depuis plus de 9 mois
Linux Addict
Rudy
DevOps Freelance
4 ans de gestion de serveur et mise en prod
Ansible depuis 6 mois
@RudyBaer
2
3. Be creative. Make sense. www.creativedata.fr
Installation sous debian sur votre workstation
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
Pour désactiver la vache :
$ sudo apt-get remove cowsay
3
5. Be creative. Make sense. www.creativedata.fr
Notions de bases
+ Playbook, Role (Yaml)
- name: some name
apt:
pkg: nginx
state: latest
update_cache: true
+ Inventory (dérivé du INI)
[front]
front1 ansible_ssh_host=10.210.21.3 ansible_ssh_user=vagrant ansible_ssh_port=22 custom_var="
from front1" port=80
front2 ansible_ssh_host=10.210.21.4 ansible_ssh_user=vagrant ansible_ssh_port=22 custom_var="
from front2" port=80
+ Modules
5
6. Be creative. Make sense. www.creativedata.fr
Utilisation concrète chez Creative Data
+ Installation de grappes de serveurs
+ Mise à jour
+ Déploiement d’applicatif
+ Déploiement de configurations
+ “Documentation”
+ ...
6
7. Be creative. Make sense. www.creativedata.fr
Exemples
Installation d’un HAProxy :
ansible-playbook -i inventory_init_server.ini playbook_init_loadbalancer.yml
Installation de deux Nginx :
ansible-playbook -i inventory_init_server.ini playbook_init_server.yml
Ajout d’un Nginx :
ansible-playbook -i inventory_add_server.ini playbook_add_server.yml
7
8. Be creative. Make sense. www.creativedata.fr
Avantages
+ Installation simplifiée
+ Gestion des fichiers de configuration
+ Réutilisable
+ États (version de paquets uniforme, …)
+ Souplesse (Upgrade de versions, …)
+ Communauté, documentation et plugins
+ DOCUMENTATION
+ Multi-noeuds
+ Rien ou presque à installer sur les machines clientes
+ ...
8
9. Be creative. Make sense. www.creativedata.fr
Trucs à la con
+ YAML indentation stricte
+ Messages d’erreurs parfois obscures
+ La vache à désactiver par défaut
+ La portée des variables : hôtes Ansible != machine cliente
+ Overriding des variables
Extra-vars > Inventory > Playbook > Vars > Defauts
+ Re-tester le script sur un environnement vierge
+ Commandes différentes selon distribution (Debian/Ubuntu/RedHat)
+ Obligation d’installer certains plugins ansible (httplib2)
+ Droit de fichier en octal 0755 au lieu de 755
+ Des tâches qui devraient prendre 1 seconde prennent plusieurs minutes
9