Ansible permet d’automatiser simplement et efficacement la mise en place d’infrastructures complexes et le déploiement d’applications. Ce cours vous apprendra à utiliser l’outil Open Source Ansible, à gérer ses playbooks, ses rôles, les modules et vous saurez comment les appliquer sur votre infrastructure.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Comprendre l’organisation de Ansible (rôles, tâches, playbooks, modules…)
  • Installer et configurer Ansible
  • Utiliser et créer des playbooks pour gérer une infrastructure
PROGRAMME DE FORMATION

Positionnement de Ansible

  • Ansible et DevOps.
  • Devops & IaC (Infrastructure as Code), le code source de l’infrastructure.
  • Outils Puppet, Chef, Saltstack… Ansible.
  • Fonctionnement d’Ansible.
  • Architecture : inventaire, modules, playbooks, tasks, rôles.

Installation et configuration

  • Installation et prise en main de l’outil.
  • Les commandes de base d’Ansible.
  • Configuration des noeuds : clés ssh, escalade de privilèges sudo.
  • Le fichier de configuration.
  • L’inventaire : création et utilisation.

Travaux pratiques
Installation d’Ansible et configuration de plusieurs nœuds clients, création de l’inventaire et utilisation des premières commandes.

Les commandes Ad Hoc

  • Parallélisme et commandes Shell.
  • Transferts de fichiers.
  • Les packages avec yum, apt.
  • Les utilisateurs et les groupes.
  • Les services.

Travaux pratiques
Utilisation des différentes commandes Ad hoc en parallèle sur plusieurs nœuds.

Les playbooks

  • Introduction aux playbooks.
  • Définition des tasks, plays.
  • Syntaxe Yaml.
  • Variables, modules et tâches.
  • Exécution d’un playbook.
  • Test d’un playbook en dry-run.
  • Exécution step by step, saut de tâches.
  • Gestion des erreurs.

Travaux pratiques
Ecriture d’un playbook simple et composé de plusieurs tâches.

Ecrire du code modulaire

  • Notifications et Handlers.
  • Les rôles et les includes. Les tags.
  • Les modules de la communauté.
  • Ansible-galaxy : partager son code.

Travaux pratiques
Exploration de la galaxie Ansible, téléchargement et utilisation de modules, ajout de tags dans un playbook.

Ecrire un playbook

  • Les variables. Les templates et les filtres.
  • Structures de contrôle : conditions, boucles et blocks.
  • Les prompts. Les facts.
  • La rédaction de playbooks.

Travaux pratiques
Ecrire un playbook complet pour le déploiement d’un service Apache sur plusieurs nœuds.

Commandes avancées

  • Vault : chiffrement de données.
  • Les lookups.
  • Développer ses propres modules, déboguer un module, les plug-ins.
  • Créer ses propres filtres.
  • Ansible et Ansible Tower.