RousselTMLEARNING

TP · DevOps : de la découverte à l'expertise

TP : GitOps avec Argo CD

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. 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. 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.

    Forkez argoproj/argocd-example-apps sur GitHub et clonez votre fork. Le dossier guestbook contient un Deployment et un Service.
  3. 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'Application guestbook en synchronisation automatique et vérifiez que les pods sont créés.
  4. 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 avec kubectl scale et observez Argo CD le remettre à la valeur de Git.
  5. 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. 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

  • ⏱ Durée estimée : ≈ 50 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

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...