Ce que vous allez apprendre dans ce TP
- Installer Argo CD
- Déclarer une Application synchronisée
- Déployer et revenir en arrière par Git
Introduction #
Ce que vous allez apprendre dans cette section
- Installer Argo CD
- Déclarer une Application synchronisée
- Déployer et revenir en arrière par Git
Contexte. Les déploiements Kubernetes se font par des kubectl apply depuis les postes et personne ne sait ce qui tourne vraiment. Vous faites de Git la source de vérité.
Prérequis : Docker, kubectl, kind et un compte GitHub (fork public du dépôt d'exemples) · Durée estimée : 50 min
Une application dont chaque changement passe par Git.Mise en place #
Étapes guidées, avec leur correction.
1. Installer Argo CD
Pourquoi ? Argo CD tourne dans le cluster et tire l'état depuis Git : la CI n'a plus besoin d'accès au cluster.
Créez un cluster kind, installez Argo CD, attendez qu'il soit prêt et récupérez le mot de passe initial.2. Préparer le dépôt de déploiement
Pourquoi ? Le dépôt de déploiement contient les manifestes : c'est lui que l'on modifie pour déployer.
Forkezargoproj/argocd-example-appssur GitHub et clonez votre fork. Le dossierguestbookcontient un Deployment et un Service.3. Déclarer l'Application
Pourquoi ? L'objet Application relie un chemin d'un dépôt Git à un namespace ; selfHeal et prune rendent la synchronisation continue.
Créez l'Applicationguestbooken synchronisation automatique et vérifiez que les pods sont créés.4. Constater l'auto-réparation
Pourquoi ? Toute modification manuelle est une dérive : Argo CD la corrige pour revenir à l'état décrit dans Git.
Modifiez le nombre de réplicas aveckubectl scaleet observez Argo CD le remettre à la valeur de Git.5. Déployer par un commit
Pourquoi ? Déployer, c'est modifier Git : la revue, l'historique et les droits de Git s'appliquent aux mises en production.
Passez à 3 réplicas dans le manifeste, poussez, puis observez la synchronisation (forcez un rafraîchissement si besoin).6. Revenir en arrière par Git
Pourquoi ? Le retour arrière est un git revert : il est tracé, relu et reproductible.
Annulez le commit, poussez, vérifiez le retour à 1 réplica et consultez l'historique de l'Application. Supprimez ensuite le cluster.
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Glossaire de la formation
DevOps
Culture, mouvement et pratiques visant à unifier le développement logiciel (Dev) et l'administration des infrastructures informatiques (Ops).Découvrir...
DevSecOps
Intégration native de la sécurité (Security) dès la conception et tout au long du cycle de vie DevOps (approche "Shift-Left").Voir comment intégrer la...
AIOps (Artificial Intelligence for IT Operations)
Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...
NoOps
Concept où l'environnement informatique est tellement automatisé et abstrait (ex: Serverless, PaaS) qu'il ne nécessite quasiment plus d'équipe opérati...
GitOps
Pratique de déploiement continu où un dépôt Git sert de source unique de vérité déclarative pour l'infrastructure et les applications.Maîtriser le dép...
FinOps (Financial Operations)
Culture de responsabilité financière du Cloud visant à maximiser la valeur métier en optimisant les coûts. Elle permet une collaboration étroite entre...
SRE (Site Reliability Engineering)
Discipline qui applique les principes de l'ingénierie logicielle aux problématiques d'exploitation. Le but est de créer des systèmes hautement scalabl...
Platform Engineering
Discipline consistant à concevoir et construire des chaînes d'outils et des flux de travail permettant aux développeurs de gérer leur infrastructure e...
Articles recommandés
Infrastructure as Code et GitOps : Terraform, Ansible et Argo CD
Gérer l'infrastructure comme du code : déclaratif ou impératif, Terraform (providers, état, plan,...
Mur de la confusion
Le 'mur de la confusion' (ou 'wall of confusion') est une métaphore souvent utilisée dans le cont...
Soutien Logistique Intégré
Soutien Logistique Intégré (SLI) (L'Integrated Logistics Support (ILS) en anglais), est une appro...
Application 12 Facteurs
Un guide détaillé sur la méthodologie des 12 facteurs pour le développement d'applications modern...
Le framework CALMS : Les 5 piliers du DevOps
Découvrez le framework CALMS, le socle indispensable pour réussir votre transformation DevOps à t...
Bonnes pratiques DevOps : culture, CI/CD, infrastructure as code et mesure
Bonnes pratiques DevOps : culture et collaboration, intégration et livraison continues, trunk-bas...
Tests de charge avec Grafana k6 : pourquoi et quels types de tests
Pourquoi tester la performance avant la production, les types de tests (smoke, charge, stress, pi...
Écrire des scripts k6 : requêtes, vérifications, scénarios et exécuteurs
La structure d'un script k6 (init, setup, default, teardown), les requêtes HTTP, les checks, les ...
Seuils, métriques et résultats d'un test k6
Lire le résumé d'un test k6, comprendre les métriques intégrées (http_req_duration, http_req_fail...