Description
Cette formation sur GitOps se concentre sur l'utilisation d'ArgoCD pour gérer des déploiements d'applications dans des environnements Kubernetes. Elle aborde les fondements du GitOps, les avantages de l'auditabilité et de la consistance, ainsi que la comparaison entre divers outils. Les participants apprendront à installer et configurer ArgoCD, à gérer des flux de travail et à personnaliser des déploiements. La formation s'adresse aux développeurs et aux professionnels DevOps souhaitant améliorer leurs compétences en gestion d'applications et en intégration continue.
Objectifs
- Comprendre les principes de GitOps et ses bénéfices dans un workflow DevOps
- Installer, configurer, et administrer ArgoCD
- Déployer et gérer des applications avec ArgoCD
- Comparer ArgoCD avec d'autres outils GitOps, comme Fleet
- Implémenter des stratégies PULL et PUSH adaptées à différents scénarios
Récapitulatif
Public
Développeurs, administrateurs système et ingénieurs DevOps.
Niveau : Intermédiaire (ayant des bases en Kubernetes et Git)
Prérequis
Connaissances de base en Kubernetes (pods, deployments, services)
Familiarité avec Git et les workflows Git
Utilisation ou compréhension de base des pipelines CI/CD
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Introduction au GitOps
- Qu'est-ce que GitOps ?
- Historique et origines.
- Bénéfices : auditabilité, consistance, réduction des erreurs humaines.
- Comparaison des outils GitOps : ArgoCD, Fleet, Flux, Jenkins X.
- Les stratégies PULL et PUSH : Avantages et inconvénients de chaque approche.
Introduction à ArgoCD
- Qu'est-ce qu'ArgoCD ?
- Fonctionnalités principales.
- Architecture d'ArgoCD : components et workflows.
- Installation d'ArgoCD
- Installation sur un cluster Kubernetes (pratique).
- Configuration initiale via l'interface CLI/UI.
- Présentation de l'interface utilisateur :
- Dashboard.
- Concepts clés : Applications, Projects, Repositories.
Flux de travail GitOps avec ArgoCD
- Configuration d'un dépôt Git :
- Configuration des applications dans ArgoCD.
- Synchronisation automatique vs manuelle.
- Déploiement d'une application simple, Exemple pratique : Application Nginx.
Gestion avancée avec ArgoCD
- Customisation des déploiements :
- Paramétrage des fichiers YAML et Helm Charts.
- Gestion des secrets (avec Vault ou SOPS).
- Stratégies de synchronisation :
- Sync Policies (automatique, suspendue, pruning).
- Gestion des conflits de déploiement.
- Monitoring et résolution des problèmes :
- Logs et événements dans ArgoCD.
- Débogage d'un déploiement échoué.
Intégration avec d'autres outils
- CI/CD avec Argo Workflows : Intégration avec GitLab CI/CD ou Jenkins.
- Monitoring avancé : Intégration avec Prometheus et Grafana.
- Gestion multi-cluster : Utilisation de Fleet pour la gestion centralisée.
Étude de cas et comparaison avec Fleet
- Comparaison : ArgoCD vs Fleet
- Points forts et cas d'usage de chaque outil.
- Étude de cas :
- Déploiement GitOps dans un environnement multi-cluster.
- Discussion sur la stratégie à adopter (PULL/PUSH).
Capstone Project (TP)
- Déployer une application complexe avec plusieurs environnements (staging, production).
- Implémenter des politiques de synchronisation et des alertes