La gestion manuelle de serveurs devient rapidement ingérable à mesure que l’infrastructure grandit. Cette formation Ansible vous donne les clés pour automatiser le déploiement et la configuration de vos environnements, du lab de développement jusqu’à la production. Vous repartez avec une maîtrise opérationnelle des playbooks, des rôles et de la gestion des secrets avec Vault.
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.
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
- En quoi consiste la gestion de la configuration ?
- Quels sont les objectifs de ce type d’outil ?
- Comment situer Ansible par rapport aux autres outils de gestion de configuration, comme Puppet ou Chef ?
- Qu’est-ce qu’Ansible Galaxy, AWX et Ansible Tower (Red Hat Automation Control) ?
- Présentation des collections Ansible : format standard de distribution de rôles, modules et plugins
Principes d’Ansible
- Origine d’Ansible
- Définitions et terminologie
- Les concepts Ansible
- Mode de fonctionnement “agentless” d’Ansible
- Gestion
- Inventaires
- Playbooks
- Rôles
Playbook d’Ansible
- Commandes de bases
- Modules et tâches
- Ecriture de playbook et langage YAML
- Variables, boucles, conditions
- Rôles et inclusion
- Bonnes pratiques pour l’écriture de playbook
- Utilisation de Git pour la gestion des versions de playbooks
- Intégration d’Ansible dans un pipeline CI / CD
Jour 1 - Après-midi
Installation d’Ansible
- Configuration SSH
- Exécuter des commandes de bases
- 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
- Ecriture de playbooks
- Piloter l’environnement avec Ansible
- Gérer le contrôle des tâches
- Comment intégrer Ansible avec des Cloud providers ?
- Utiliser Ansible dans le monde Windows
Travaux pratiques
- Découverte de YAML
- Rédaction de playbooks
- Gestion des inventaires et déploiement de middleware
Rôles d’Ansible
- Présentation des rôles
- Pourquoi utiliser des rôles ?
- Comment architecturer son code avec des rôles ?
Travaux pratiques
- Création de rôles
- Intégration de rôles aux playbooks
Jour 2 - Matin
Playbooks avancés
- Présentation de l’utilisation des variables à plusieurs niveaux
- Templating avec Jinja2
- Utilisation des lookup et des filtres
- Utilisation de ansible-lint pour la vérification de conformité des playbooks
Travaux pratiques
- Développement en autonomie d’un playbook complexe sur la base des notions acquises
- Validation syntaxique et tests
- Développement de son propre module Ansible
Jour 2 - Après-midi
Ansible Vault
- Présentation d’Ansible Vault
- Gestion des secrets
- Chiffrement et déchiffrement d’un fichier
- Bonnes pratiques de sécurisation des fichiers vault.yml et intégration dans un dépôt Git avec .gitignore
Travaux pratiques
- Création de fichiers de variables cryptées
- Utilisation avec commandes ad-hoc et avec playbook
Ansible Galaxy
- Présentation d’Ansible Galaxy
Travaux pratiques
- Utilisation de rôles Ansible depuis Galaxy
- Exemple avec installation de Docker, MySQL, Jenkins…
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Pour aller plus loin
Cette formation donne accès à cette formation :
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
Formation SYS-ADM-100 — Administration avec Ansible. Domaine : Systèmes. Niveau : Initiation. Durée : 2 jours (14 heures). Mots-clés : ansible, systèmes, infrastructure, automatisation, configuration, devops, initiation. Cylian Formation, Dijon.