Public visé
Administrateurs systèmes, ingénieurs DevOps, développeurs et architectes IT souhaitant automatiser la gestion de configuration et le déploiement automatisé d’applications avec Ansible.
Prérequis
- Connaissances de base en administration système Linux
- Familiarité avec la ligne de commande
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Identifier les avantages des solutions d’automatisation et de gestion de configuration
- Expérimenter l’utilisation d’Ansible
- Piloter la configuration de serveurs depuis Ansible
Programme
Jour 1 - Matin
Fondamentaux de l’automatisation
- Définition et objectifs de la gestion de configuration
- Positionnement d’Ansible par rapport aux outils concurrents (Puppet, Chef)
- Vue d’ensemble d’Ansible Galaxy, AWX, Ansible Tower et Red Hat Automation Control
- Collections Ansible comme format de distribution standard
Principes d’Ansible
- Origines et terminologie Ansible
- Concepts fondamentaux et mode opérationnel “agentless”
- Gestion des inventaires, Playbooks et Rôles
Playbook d’Ansible
- Commandes de base et modules/tâches
- Langage YAML et composition des playbooks
- Variables, boucles et structures conditionnelles
- Inclusion de rôles et bonnes pratiques
- Intégration du contrôle de version Git
- Intégration dans les pipelines CI/CD
Jour 1 - Après-midi
Installation d’Ansible
- Configuration SSH
- Exécution de commandes de base
- Gestion des modules (fichiers, utilisateurs, packages, services)
Travaux pratiques
- Déploiement du lab
- Installation d’Ansible
- Manipulation des commandes ad-hoc
- Construction de code idempotent
Ansible Playbooks
- Composition des playbooks
- Contrôle d’environnement via Ansible
- Gestion de l’exécution des tâches
- Intégration avec les fournisseurs cloud
- Intégration des environnements Windows
Rôles d’Ansible
- Présentation et avantages des rôles
- Architecture du code avec les rôles
Jour 2 - Matin
Playbooks avancés
- Utilisation des variables multi-niveaux
- Templates Jinja2
- Implémentation des lookup et filtres
- Vérification de conformité avec ansible-lint
Travaux pratiques
- Développement autonome de playbooks complexes
- Validation de syntaxe et tests
- Développement de modules Ansible personnalisés
Jour 2 - Après-midi
Ansible Vault
- Présentation de Vault
- Gestion des secrets
- Chiffrement/déchiffrement de fichiers
- Bonnes pratiques de sécurité et intégration .gitignore
Ansible Galaxy
- Présentation de Galaxy
- Utilisation des rôles Galaxy (exemples Docker, MySQL, Jenkins)