Passer au contenu principal
Menu
DevOps

GITOPS DEPLOYMENT STAR

Mise en place d'un workflow GitOps avec ArgoCD pour synchroniser l'état du cluster K8s.

Dépôt bientôt disponible
ArgoCDKubernetesGitGitHub Actions
Phase 1

Contexte

Mes déploiements Kubernetes passaient par kubectl apply manuels. Drift entre Git et prod était inévitable. J'ai voulu implémenter GitOps : Git = unique source de vérité, état du cluster synchronisé automatiquement.

Phase 2

Méthodologie d'Apprentissage

  1. 1

    Lecture GitOps and Kubernetes (Billy Yuen) : principes déclaratif, versionné, automatique

  2. 2

    Installation ArgoCD sur Kubernetes existant, connexion repo Git dédié aux manifests

  3. 3

    Structuration repo Kustomize : gestion dev/staging/prod overlays

  4. 4

    GitHub Actions : CI (build, test, push image) vs ArgoCD : CD (sync cluster)

  5. 5

    Tests drift detection : modification manuelle en prod → réconciliation auto

Phase 3

Défis Techniques

Gestion des secrets GitOps

Secrets en clair dans Git = risque. Solution : Sealed Secrets (chiffrement pré-commit, déchiffrement cluster).

Orchestration order déploiement (CRDs avant resources)

Solution : sync waves ArgoCD pour séquencer l'ordre.

Rollback ArgoCD vs Git revert

Rollback ArgoCD sans git revert = incohérence. Convention : tout rollback passe par git revert + sync ArgoCD.

Phase 4

Résultats

  • Workflow GitOps complet : push → CI merge → ArgoCD sync prod en 4min

  • Zéro drift de configuration (toute modification non versionée = auto-revert)

  • Rollbacks fiables via git revert

  • Paradigme déclaratif maîtrisé (transférable à l'infrastructure)

Explore More

All Projects