PLB CONSULTANT : 04. Ansible, Automatiser la gestion des serveurs
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. QCM en fin de formation. Auto-évaluation en début et en fin de formation.
Prix
Public
Administrateurs, Développeurs, Architectes…
Pré-requis
Connaître l'administration des systèmes Linux et un langage de développement de scripts.
Objectifs pédagogiques
- Connaître les caractéristiques et le fonctionnement d'Ansible
- Mettre en œuvre les playbooks, modules, rôles, tâches...
- Comprendre comment optimiser le pilotage d’un parc de serveurs et le déploiement d’applications
- Maîtriser les bonnes pratiques sous Ansible
Programme détaillé
Jour 1
Présentation de Ansible
La place de Ansible dans le mouvement DevOps
Les autres outils (Puppet, Chef, Saltstack, …)
Principes d’une Infrastructure as Code (IaC)
Fonctionnement général de Ansible
Installation et première utilisation
Installation d’Ansible
Principes des clefs ssh (public, private)
Les fichiers utilisés par Ansible (/etc/ansible, inventaire, ...)
Test de la connectivité
Travaux pratiques
Installation, configuration des noeuds
Création de l’inventaire des serveurs et premières commandes
Les commandes Ad-Hoc et les modules Ansible
Les modules Ansible
Les modules command et shell
Le transfert de fichiers
La gestion des packages
La gestion des utilisateurs
La gestion des services
Le module setup
Travaux pratiques
Commandes de base : Installation de package, Copies de fichiers, Gestion des services
Démarrer avec les Playbooks
Rôle d'un fichier playbook
Les différentes sections (hôte, variable, tâches)
Les variables et les tableaux
La priorité et la portée des variables
La programmation (boucle, condition, filtre, opérations, etc.)
Exemples de templates utiles
Inclusion et import de fichiers
Debug et erreurs classiques
Travaux pratiques
Création et exécution de Playbooks pour la mise en oeuvre d’une application LAMP (Apache, MySQL)
Jour 2
Les différents rôles sous Ansible
Comment s’assurer de la présence/absence de fonctionnalité ?
Structure d'un rôle
Exécution d'un rôle
Quelques exemples de rôle
Utiliser des éléments existants (Ansible Galaxy)
Travaux pratiques
Création de rôles et inclusion de rôles d’Ansible Galaxy
Fonctionnalités avancées
Bonnes pratiques avec les tags
Utiliser les caractéristiques de la machine (Gather_facts, module setup)
Tester notre playbook avant exécution (dry-run, step-by-step et diff)
La visualisation d'un playbook
Accéder à des sources de données (plugin lookup)
Le fichier d'inventaire dynamique et temporaire
Grouper des actions logique (blocks)
Gérer les erreurs (any_errors_fatal)
Les prés et post tasks
La délégation par delegate_to
Parallélisme et serialisation des tâches
L’escalade des privilèges
Test de cohérence : assert et fail
Travaux pratiques
Visualisation de la configuration de nos machines post-installation Ansible sous forme de site WEB (génération de HTML pour disposer d’un tableau de bord des configurations : OS, IP, logiciels installés, etc.)
Compléments et bonnes pratiques
Développer ses propres modules, déboguer un module, les plug-ins.
Utiliser les collections
Ansible Vault et l'encryptage
Créer ses propres filtres
Ansible et Ansible Tower
Utiliser un SCM avec Ansible
Où stocker les fichiers Ansible ?
La gestion des inventaires
Travaux pratiques
Mise en oeuvre des Collections et d’Ansible Vault