-
Filière :
DevOps & Infrastructure
-
Sous-filière :
CI/CD
-
Référence
IJ-GITO
-
Durée
2 jours (14 h)
-
Prix par personne HT
1 450 € HT
Description
Avec l’avènement des outils comme Kubernetes et Docker, on parvient maintenant à pouvoir décrire l’infrastructure avec du code. L’infrastructure devient déclarative. Il est donc désormais possible de pouvoir versionner l’infrastructure. De manière naturelle, l’idée est venue d’utiliser des gestionnaires de source tel que Git. De cela est né GitOps.
Cette formation permet de découvrir et prendre en main les concepts Git et GitOps. Ces concepts sont mis en pratique en se basant sur la combinaison GitHub, GitHub Actions et ArgoCD.
Objectifs pédagogiques
- Comprendre les fondamentaux du GitOps et ses bénéfices
- Maîtriser les outils clés du GitOps : Git, GitHub Actions, ArgoCD
- Automatiser les processus de CI/CD
- Déployer et gérer des applications avec ArgoCD et ses extensions
- Assurer la sécurité et la conformité des déploiements GitOps
Public cible
- Architectes
- Développeurs Cloud
- Ops
Pré-requis
- Connaître les principes CI/CD
- Avoir quelques bases sur Git
- Bases en Docker (souhaitable)
Programme de la formation
Jour 1 : Fondamentaux du GitOps et Mise en place
Module 1 : Introduction au GitOps
- Définition du GitOps
- Différence entre GitOps et DevOps classique
- Pourquoi Git devient la source de vérité ?
- Présentation des outils : Git, CI/CD, Kubernetes, ArgoCD
Exercice 1 : Discussion et étude de cas
- Analyse de workflows DevOps existants
- Identifier où GitOps pourrait s’intégrer
Module 2 : Gestion de versions avec Git
- Rappels des concepts Git (commit, push, merge, rebase)
- Stratégies de branches (Git Flow, Trunk-based)
- Résolution de conflits et Pull Requests
Exercice 2 : Manipulations avancées de Git
- Création et gestion d’un dépôt Git
- Simulation de conflits et résolutions
- Utilisation des PRs pour validation
Module 3 : Automatisation avec GitHub Actions
- Présentation des Workflows GitHub Actions
- Définition d’un pipeline CI/CD de base
- Intégration avec Docker et Kubernetes
Exercice 3 : Création d’un pipeline GitHub Actions
- Déclenchement d’un workflow sur `push` et `pull_request`
- Ajout d’un job de test et build Docker
- Publication d’une image Docker sur Docker Hub
Module 4 : Déploiement avec ArgoCD
- Déploiement d’ArgoCD sur Kubernetes
- Gestion des applications avec ArgoCD
- Configuration d’un repository Git pour GitOps
Exercice 4 : Déploiement d’une application via ArgoCD
- Installation et configuration d’ArgoCD
- Ajout d’une application dans ArgoCD
- Synchronisation automatique des modifications Git
Jour 2 : Implémentation avancée avec ArgoCD et GitOps
Module 5 : Gestion avancée avec Helm et Kustomize
- Présentation de Helm et des Charts
- Structure et utilisation de Kustomize
- Intégration de Helm et Kustomize dans ArgoCD
- Stratégies de mise à jour et rollback
Exercice 5 : Déploiement avec Helm et Kustomize
- Création d’un chart Helm pour une application
- Ajout d’overlays Kustomize pour `dev`, `staging` et `prod`
- Configuration de l’application avec ArgoCD
- Mise à jour et rollback avec GitOps
Module 6 : ApplicationSet d’ArgoCD
- Qu’est-ce qu’un ApplicationSet ?
- Différence entre `Application` et `ApplicationSet`
- Utilisation des générateurs Git, Cluster et Matrix
Exercice 6 : Automatisation des environnements avec ApplicationSet
- Définition d’un `ApplicationSet` dans ArgoCD
- Utilisation du `Git Generator` pour gérer plusieurs versions d’une application
- Ajout et suppression automatique d’applications via Git
Module 7 : Déploiements progressifs avec Argo Rollouts
- Présentation d’Argo Rollouts et ses fonctionnalités
- Déploiements Canary, Blue-Green et Progressive Delivery
- Intégration avec ArgoCD et GitOps
Exercice 7 : Déploiement Canary avec Argo Rollouts
- Déploiement d’une application avec une stratégie Canary
- Analyse des métriques et validation progressive
- Gestion des rollback automatique en cas d’échec
Module 8 : Sécurité et bonnes pratiques GitOps
- Gestion des accès et RBAC dans ArgoCD
- Audit, monitoring et secret management
- Validation des modifications avant application
Exercice 8 : Sécurisation d’un déploiement GitOps
- Mise en place de RBAC sur ArgoCD
- Validation des modifications avant application
- Gestion des accès à un dépôt Git privé
Conclusion et exercices de synthèse
Qualité
Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires : formation@oxiane.com
Programme mis à jour le