loader image

Gate Training

logo-png
Virtualisation - Cloud - DevOps

Formation Ansible : Automatiser la gestion des serveurs

2 Jours

Description de la formation Ansible Industrialiser les déploiements

Ansible est une solution open source qui permet d’automatiser la configuration et le déploiement d’application sur un ensemble de serveurs. Sa grande force est sa simplicité de mise en œuvre à travers de simples connexions ssh. Un langage de description très facile à appréhender permet d’exprimer ses souhaits d’installation sur les serveurs physiques ou virtuels cibles. Ansible se charge alors d’atteindre l’état désiré quel que soit l’état initial des serveurs. Les responsables de déploiement peuvent alors organiser leur projet en mettant en place des bibliothèques, des gabarits, des variables.

Cette formation pratique vous apprend à découvrir tout le potentiel d’Ansible et surtout à le mettre en œuvre (playbooks, modules, rôles, tâches, déploiement, etc.) tout en étant capable de le positionner dans un processus d’intégration continue avec les autres outils DevOps.

Objectifs

Objectif opérationnel :

Savoir utiliser Ansible pour industrialiser la configuration et le déploiement de ses applications.

Objectifs pédagogiques :

À l’issue de cette formation Ansible Industrialiser les déploiements, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Connaître l’intérêt d’Ansible et ses caractéristiques principales.
  • Savoir installer et configurer Ansible
  • Être capable de mettre en œuvre les playbooks, modules, rôles, tâches…
  • Connaître les fonctionnalités avancées d’Ansible
  • Savoir optimiser le pilotage d’un parc de serveurs et le déploiement d’applications
  • Maîtriser les bonnes pratiques sous Ansible

À qui s’adresse cette formation ?

Public :

Ce cours Ansible s’adresse aux administrateurs et aux exploitants souhaitant mettre en œuvre Ansible pour le déploiement des services et applications. Il intéressera également les équipes DevOps en charge de l’intégration continue.

 

Prérequis :

Les participants à cette formation doivent nécessairement savoir administrer un système Linux. La connaissance d’un langage de développement de scripts leur permettra de comprendre plus rapidement certains des aspects avancés d’Ansible.

 

Contenu du cours Ansible Industrialiser les déploiements

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 pratiquesInstallation, configuration des nœuds
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 pratiquesCommandes 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 pratiquesCréation et exécution de Playbooks pour la mise en œuvre 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 pratiquesCré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 pratiquesVisualisation 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 pratiquesMise en œuvre des Collections et d’Ansible Vault

Réf:

0241

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible