Formation Ansible
1450€ HT / personne |
2 jours (14 heures) |
Présentation d’Ansible
Grâce sa simplicité de mise en oeuvre, Ansible vous aidera à automatiser la mise en place d’infrastructures complexes et le déploiement
de configurations et d’applications.
Dans cette formation, destinée aux administrateurs et aux développeurs souhaitant devenir immédiatement opérationnels, vous apprendrez à utiliser de façon intensive la technologie Ansible.
Cette formation sur 2 jours vous présentera la plateforme Ansible et ses fonctionnalités. Vous apprendrez à simplifier votre environnement en automatisant les tâches dans tous vos projets d’infrastructure DevOps. Mais également à utiliser les bonnes pratiques et les bons usages afin de maîtriser cette technologie.
Comme dans toutes nos formations, celle-ci vous présentera la toute dernière version d’Ansible (à la date de rédaction de l’article : Ansible 2.15).
Objectifs
- Maîtriser de bout en bout votre chaîne d’automatisation avec Ansible
- Tous les concepts et les mots-clé du langage sont abordés et expliqués avec des cas concrets
- L’utilisation de l’interface web d’Ansible Tower (module complémentaire) à travers sa version open-source AWX
Public visé
- Développeurs
- Architectes
- Administrateurs systèmes
Pré-requis
- Avoir suivi notre Formation Docker
Pré-requis logiciel (dans le cas d’une intra-entreprise)
- Les dernières mises à jour de l’OS (Linux, macOS ou Windows sous un sous-système pour la distribution Linux : WSL)
- Python installé et mis à jour
- Configuration minimale
- 2GB de RAM
- 20GB de disque dur
- Processeur 64 bits
Recommandations de lecture avant la formation
- Nous vous recommandons le blog de Stéphane Robert sur la maîtrise d’Ansible, vous apprendrez les bases de cet outil de gestion
- Le blog de Cherry Servers, où les concepts principaux d’Ansible et du DevOps sont évoqués
- La documentation d’Ansible pour réviser 😉
- Le glossaire officiel pour éviter les incompréhensions
Programme de notre Formation Ansible
Partie 1 : Conteneurs applicatifs avec Docker
- Qu’est-ce qu’un conteneur ?
- Fonctionnement d’un OS moderne : Kernel Land et User Land
- Les différences entre conteneurs et machines virtuelles
- Conteneur système, conteneur applicatif
- Présentation du concept de conteneur Linux
- Cas d’utilisation des conteneurs Linux
- Découverte de Docker
- Docker, un abus de langage ?
- Présentation de Docker et de son architecture
- Avantages et inconvénients de Docker
- Les autres gestionnaires de conteneurs
TP 1 : Premiers pas avec Docker
- Installation de Docker
- Lancer un conteneur avec docker run
- Le mode interactif
- Interagir avec un conteneur depuis le host (exec, inspect, logs…)
- Administration, nettoyage des conteneurs lancés
- Construire nos propres images
- Qu’est-ce qu’une image Docker ?
- Créer une image à partir d’un Dockerfile
- Le registre public : Docker Hub
- Utiliser un registre privé
TP 2 : Notre première image
- Une application simple
- Un Dockerfile naïf
- Construction et upload de l’image
- Amélioration du Dockerfile : multistage build
- Latest n’est pas une version
- Concepts avancés
- Persistance de données
- Le modèle réseau de Docker
- Qu’est-ce qu’une application Cloud Ready ?
- Les 12 factors
- Que faire si mon application n’est pas Cloud Ready ?
- Automatisation de la pipeline de CI/CD
- Cycle de vie d’un produit : Integration, Delivery, Deployment
- Tour d’horizon des plateformes de CI/CD
- De Continuous Integration à Continuous Delivery
TP 3 : Mise en place d’une pipeline de CI/CD
- Notre projet sur Gitlab
- Chaque étape de la pipeline tourne… dans un conteneur !
- Tests unitaires : avant ou après le build ?
- Kaniko: construire une image dep
- Optimisation : Construction d’une image de toolchain
Partie 2 : Orchestrer des conteneurs : Kubernetes
- Pourquoi avoir besoin d’un orchestrateur ?
- Haute disponibilité
- Service disovery
- Rolling update, rollbacks
- Policy
- … Et d’autres !
- Kubernetes : le leader incontesté des orchestrateurs de conteneurs
- Architecture
- Concept clé : la boucle de réconciliation
TP 4 : Un Kubernetes minimaliste sur notre poste
- Minikube, k3s, microk8s, k0s, que choisir ?
- Installation
- Vérifier la santé de Kubernetes
- Premières commandes
- Les addons essentiels
- Déployer des applications sur Kubernetes
- Aperçu des différentes ressources
- Définition d’une ressource : le manifeste
TP 5 : Écriture progressive des manifests de notre application
- Format d’un manifest
- L’unité fondamentale : Pod
- Rajouter la haute disponibilité : ReplicaSet
- Rajouter la gestion de cycle de vie : Deployment
- Exposer l’application : Service
- Abstractions sur les manifests : Helm et Kustomize
- Helm, le « gestionnaire de paquets » de Kubernetes
- Kustomize, génération de YAML
- Vraiment concurrents ?
- Déploiement continu : Le GitOps
- Qu’est-ce que le GitOps ?
- Argo CD
TP 6 : Déploiement continu de notre application
- Un nouveau dépôt pour l’infrastructure
- Installation d’Argo CD
- Surveiller le dépôt de code
- Gestion des applications stateful avec les opérateurs
- Qu’est-ce que l’operator pattern ?
- Déployer du stateful sur Kubernetes ou non, un choix stratégique
Partie 3 : Quand un conteneur est impossible : Ansible
- Dans quels cas déployer sur Kube est inadapté ?
- « Kubernetes supports stateful workloads, I don’t »
- Greenfield vs Legacy
- Présentation d’Ansible
- La pyramide « provisioning / configuration management / app deployment »
- Ansible est juste un wrapper sur SSH !
- Quelle est la place d’Ansible dans cet écosystème ?
TP 7 : Mise en place, premier aperçu
- Un détour sur la configuration de projets Python
- Se connecter avec SSH : générer une keypair, utiliser le ssh agent
- Premières commandes, `ansible -m ping` …
- Playbooks
- Syntaxe de base
- Aperçu rapide de la collection `builtin`
- Templating, Jinja2
- register, when…
- Bien ranger ses variables
TP 8 : Écriture des premiers playbooks
- Hello, World!
- Installation de Nginx
- Déploiement d’une stack typique
- Rôles
- Qu’est-ce qu’un rôle ?
- Règles d’or et best practices
TP 9 : Nettoyons le TP précédent en utilisant les rôles
- Une première passe naïve
- S’inspirer de l’état de l’art
- Un dépôt de rôle utilisable par ansible-galaxy
Module complémentaire +3 jour : Formation Ansible Avancé
Le DevOps : présentation introductive
- Historique du DevOps
- L’industrialisation : une nécessité pour l’opérationnel
- Les outils de DevOps
- Situer Ansible au sein de ces outils
Ansible
- Pourquoi Ansible ?
- Fonctionnement & lien à SSH
- Installation
Travaux pratiques
Installation d’Ansible et préparation à l’usage
Paramétrage et commande Ad Hoc
- Paramétrage SSH
- Préparation de l’inventaire
- Les commandes « Ad-Hoc »
- Présentation des modules
Travaux pratiques
Utilisation d’Ansible : transfert de fichiers et commandes sur les nœuds.
Déploiement et organisation : les Playbooks
- Présentation de Git
- Présentation des Playbooks
- Présentation de YAML
- Les variables et les faits
- Boucles et conditions
- Rôles et inclusions
- Best practices pour la rédaction de Playbooks
Travaux pratiques
Rédaction de Playbooks pour le déploiement des applications, pilotage d’un environnement complet avec Ansible
Concepts avancés
- Les modules de base
- Architecture et comportement d’un module
- Ansible-Galaxy
Travaux pratiques
Manipulation de modules externes
Module complémentaire +1 jour : Formation Ansible
- Présentation, origine et terminologie liées a Ansible
- Différentes techniques d’installation par un virtualenv Python, packages et code source. Version utilisée supérieure 2.9x
- Pratique des commandes Ad-hoc
- Commandes et modules
- Création de ses propres filtres et modules
- Inventaires statiques et inventaires dynamiques
- Comprendre host_vars et group_vars
- Exercices avec Jinja2
- Prise en compte des handlers et de notify
- Rôles, collection et accès multi-os
- Ansible-galaxy et automation hub
- Débogage et mise au point des playbooks
- Performance et optimisation des scripts
- Secrets et Ansible Vault
- Ansible AWX , gestion des jobs et des workflow
MODULE COMPLÉMENTAIRE +1 JOUR : ANSIBLE TOWER
Pour aller plus loin
Formation Docker
Formation Kubernetes
Formation Saltstack
Formation Kubernetes Avancé
Formation OpenShift
Formation Prometheus et Grafana
Autour du sujet
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Nos Formateurs Référents
Herve
Témoignages
les points abordés
formation un peu dense
néant
néant
Afficher tous les témoignages
les points abordés
formation un peu dense
néant
néant
Noter la formation
1450€ HT / personne |
2 jours (14 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS