Ansible: les fondamentaux
Automatisez le déploiement de vos infrastructures
Présentation du cours
En 2012, Michael DeHaan proposait une alternative aux outils de Configuration Management tels que SaltStack, Puppet et Chef en introduisant Ansible. Ansible se veut plus simple d’utilisation de part son mode de communication entre les machines qui est basé sur SSH et son fonctionnement complètement décentralisé.
Ainsi, plus besoin d’une relation de maître à esclave ou de configuration très rigide. Depuis, Ansible à évolué tout en conservant la simplicité des débuts. Il a été racheté par RedHat Inc. afin de l’intégrer à sa plateforme DevOps et a créé Ansible Galaxy.
A l’issue de cette formation, vous maîtriserez les fondamentaux ainsi que des notions avancées d’Ansible. Vous serez à même d’utiliser les outils de l’écosystème Ansible dans le but de déployer, le plus efficacement et le plus rapidement possible, vos packages sur des serveurs. Vous retrouverez le bonheur de maintenir des serveurs !
Public cible
- Maîtriser les fondamentaux d’Ansible
- Produire des playbooks
- Produire, déployer et tester des rôles
- Déployer une infrastructure en production
Programme
Administrateurs système ou ingénieurs système
Programme
- Être à l’aise avec l’administration des serveurs
- Être à l’aise avec la ligne de commande
- Savoir cloner un repository git
- Être à l’aise avec les concepts de droits utilisateurs
- Savoir lancer une commande shell
- Avoir une connaissance basique de python
Module 1 : Introduction
- Historique
- Timeline
- Principaux avantages du Configuration Management
Module 2 : Premiers Pas avec Ansible
- Installation
- Configuration
- Découverte des commandes
Atelier:
- Installation d’Ansible
Module 3 : Les concepts d’Ansible
- Control Node
- Managed Node
- L’inventaire
- Les modules
- Le principe d’idempotence
- Les tasks
- les rôles et anatomie d’un rôle
- Les playbooks
Atelier:
- Découverte des commandes
Module 4 : La syntaxe
- Les variables et les Facts
- YAML et JINJA
- Interpolation et précédence des variables
- Les instructions conditionnelles et les boucles
Demo:
- Un rôle exemple : security, docker, mysql, kubernetes, elasticsearch
Atelier:
- Création de rôle et de playbook
Module 5 : Les stratégies de tests
- Présentation des instructions de tests interne à Ansible
- Présentation des outils de tests externes :
- TestInfra
- Molecule
- TestKitchen
Atelier :
- Création d’un scénario de test
Module 6 : Ansible et le travail coopératif
- Présentation d’Ansible-Galaxy
- Présentation d’Ansible-Vault
- Présentation d’Ansible Tower
Ateliers :
- Chiffrage de fichiers
- Création de rôles avec ansible-galaxy
Module 7 : En production
- Les inventaires
- Les inventaires statiques
- Les inventaires dynamiques par scripts, par plugins
- Les bastions
- Le CICD
Démo:
- Ansible Tower/AWX et les webhooks
Atelier:
- Déploiement dans le Cloud