Image de NordWood Themes

Ansible : Industrialiser les déploiements

Objectifs

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é quelque 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 clairement le positionner dans un processus d’intégration continue avec les autres outils DevOps.

A qui s'adresse cette formation

Public :

Ce cours Ansible est destiné aux administrateurs et aux exploitants souhaitant mettre en œuvre Ansible pour le déploiement des services et applications.
 

 

Prérequis :

Pour profiter pleinement de ce cours Ansible, il est nécessaire de connaître l'administration d’un système Linux.

Contenu du cours

Présentation d'Ansible

Introduction et concepts

Installation d'Ansible

Les pré-requis
L'installation sous Red Hat
Effectuer un échange de clefs SSH

Travaux pratiques

Installation, configuration des nœuds, création de l’inventaire des serveurs et premières commandes.

Configuration et utilisation d'Ansible

Le répertoire /etc/ansible
Les modules Ansible
Test de la connectivité
Le fichier d'inventaire

Les commandes Ad-Hoc et 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 d’utilisateurs et de groupe

Démarrer avec les Playbooks

Description d'un playbook
Les variables et les tableaux
La priorité et la portée des variables
Les templates
La boucle for
Le module debug et le mot clef register
Les Handlers
Les boucles
La condition when
Les include et les import
Les filtres
Les opérations arithmétiques

Travaux pratiques

Exécution de playbooks. Déploiement d’une stack applicative en architecture 3-tiers

Les différents rôles sous Ansible

Présentation
Structure d'un rôle
Exécution d'un rôle
Un exemple de rôle
Un exemple de rôle avec des inclusions
Ansible Galaxy

Travaux pratiques

Mise en place de rôles, de gabarits, variabilisation et inclusion de playbooks

Les fonctionnalités avancées

Les tags
La visualisation d'un playbook
Gather_facts
La délégation par delegate_to
Les pré et post tasks
Le mot clef run_once
Le parallélisme
Le traitement avec serial
any_errors_fatal
Les blocks
La connexion avec un autre compte
Le prompt
Le fichier d'inventaire dynamique et temporaire
lookup
set_fact
Test de cohérence : assert et fail
dry-run, step-by-step et diff

Travaux pratiques

Mise en place de rôles, de gabarits, variabilisation et inclusion de playbooks

Compléments de connaissances

La création d'un module
Ansible Vault et l'encryptage

Les bonnes pratiques

Utiliser un SCM avec Ansible
Où stocker les fichiers Ansible
La gestion des inventaires
La gestion des facts

TechnoWide

3 rue du Golf

Parc Innolin

CS 60073

33701 MERIGNAC CEDEX

Bordeaux

  • LinkedIn Social Icon
© 2020 TechnoWide - tous droits réservés