Architecture d'Ansible
Ansible fonctionne en mode push : la machine de controle envoie les instructions aux hotes cibles via SSH.
- Control Node : La machine ou Ansible est installe (votre poste ou un serveur CI/CD)
- Managed Nodes : Les serveurs cibles geres par Ansible
- Inventory : La liste des hotes cibles et leurs groupes
- Modules : Des unites de travail reutilisables (apt, copy, service, etc.)
- Playbooks : Des fichiers YAML decrivant les taches a executer
Flux d'execution
# Flux simplifie
Control Node --SSH--> Managed Node 1
--SSH--> Managed Node 2
--SSH--> Managed Node 3
# Ansible :
# 1. Lit l'inventaire (quels serveurs cibler)
# 2. Connecte via SSH aux hotes cibles
# 3. Copie un module Python temporaire sur l'hote
# 4. Execute le module
# 5. Recupere le resultat
# 6. Supprime le module temporaire
Comparaison avec d'autres outils
| Critere | Ansible | Puppet | Chef |
|---|---|---|---|
| Agent | Non (agentless) | Oui | Oui |
| Langage | YAML | DSL Puppet | Ruby |
| Mode | Push | Pull | Pull |
| Serveur central | Non | Puppet Server | Chef Server |
Avantage cle : Pas d'agent = moins de maintenance, moins de surface d'attaque, demarrage immediat.