- Ansible = infrastructure as code + déployement de configuartions + installations
- Basé sur Python
- Orchestrateur basé sur du push <> pas d'agent = serveur distant pousse les informations.
- Connection ssh
- Différent des outils à base d'agents > pull (puppet etc ...)
Itération sur chancun des serveurs pour les mises à jours pour la méthode push, dépendant de la taille de l'infrastructure.
En pull chaque agent est indépendant.
- Ansible est plus simple par l'utilisation du ssh en mode verbose.
- Intégration facile dans les outils de CI/CD.
- Facilité d'utilisation car Yaml
- Très nombreux modules (Ansible Galaxy)
- Différentes notions et définitions : inventory + playbook + rôles.
- Inventory : Inventaire de toutes les machines
- Playbook : Articulation des deux sur quelle machine (inventory) installe-t-on quelle config (rôles)
- Rôles : Installation spécifique
Installation :
binaire
apt
pip
- Système de templating = jinja(python)
- Modules pour de nombreux outils communs : +- postgres +- vmware +- aws +- libvirt +- network +- grafana +- mysql