Concepts de base de l'outil
- Control Node
- Noeud central contenant Ansible
- Prérequis: Accès SSH aux autres machines
- Managed Node
- Serveurs cibles ayant SSH et Python installés
- Dont un User avec privilèges Sudo
- Inventory
- Inventaire des machines (IP, ou DNS) sous forme de fichier
- Format INI ou YAML
- Egalement fichiers de variable (host_vars/group_vars)
- Inventaire statique (fichiers) ou dynamique (API via scripts)
- Utilisation de patterns façon Regex
- Groupes
- Machines regroupées et typées
- Création de "boites" dans lesquelles seront classés les serveurs
- Les boites peuvent être imbriquées et définir des groupes parent et enfant
- Le groupe Racine (All) est le père de tous
- Groupes VARS (9:28)
- Répertoire contenant les variables d'un même groupe contenant un fichier YAML
- Soit dans le fichier central d'inventory
- Hosts VARS (10:51)
- Variables spécifiques à un serveur en particulier
- Surcharge d'autres variables
- Exemple d'inventory (12:05)
- Tasks (13:00)
- Faire des actions ponctuelles.
- Créer des users
- Créer des groupes
- Passer des commandes
- Utiliser des modules
- Copier des fichiers
- Check de variables
- etc....
- Format YAML
- Modules (13:49)
- Permet de décrire des actions
- Modules de base (natifs)
- Templates
- Copie de fichiers
- Création de users
- etc....
- Chaque action de module est utilisable par des Tasks
- Une Task = Une action
- Une action appelle un module
- Les actions des modules peuvent fournir des retours
- Rôles (16:00)
- Ensemble d'actions
- L'idéal est de segmenter les rôles
- Minimiser les roles