Ansible
Pré-requis
- Une machine ou VM sous Linux (voir docs.ansible.com - Can Ansible run on Windows?)
- Configurer les variables d'environnement pour utilisation d'un proxy sortant
Installation
- docs.ansible.com - Installation Guide pour les méthodes officielles dont l'installation sur Ubuntu à l'aide d'un package :
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
- gist.github.com - mborne/ansible-venv-md - Ansible dans un environnement virtuel Python pour une méthode permettant d'éviter les conflits de version de bibliothèques Python.
Les principaux exécutables
Ansible se décompose en plusieurs programmes permettant de gérer les machines d'un inventaire :
Exécutable | Fonction |
---|---|
ansible | Exécuter une tâche sur les machines d'un inventaire |
ansible-playbook | Exécuter une liste de tâche (playbook) sur les machines d'un inventaire |
ansible-galaxy | Création et téléchargement de playbook partagés via galaxy.ansible.com ou via git |
ansible-vault | Gestion de fichiers chiffrés pour le stockage des secrets |
Quelques exemples
Les exemples du cours :
- github.com - mborne/vagrantbox qui permet de configurer des VM de DEV avec Ansible.
- github.com - mborne/geostack-deploy - ansible qui illustre le déploiement de GeoStack sur les VM vagrantbox
- github.com - mborne/k3s-deploy qui permet de déployer un cluster Kubernetes avec K3S sur les VM vagrantbox.
Quelques exemples complémentaires :
- github.com - geerlingguy/ansible-for-devops pour les exemples associés au livre Ansible for DevOps de Jeff Geerling qui met à disposition de nombreuses ressources pour ansible (c.f. https://ansible.jeffgeerling.com/).
- github.com - osm-fr/ansible-scripts qui illustre l'utilisation de Ansible pour la gestion des serveurs openstreetmap.fr
Ressources
- docs.ansible.com - Basic Concepts
- docs.ansible.com - Getting started with Ansible
- docs.ansible.com - Best Practices
- Ansible Galaxy qui présente les dépôt de playbook partagés.
- blog.stephane-robert.info - Maîtriser Ansible pour un cours complet en Français.