GITOPS DEPLOYMENT STAR
Mise en place d'un workflow GitOps avec ArgoCD pour synchroniser l'état du cluster K8s.
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.
Méthodologie d'Apprentissage
- 1
Lecture GitOps and Kubernetes (Billy Yuen) : principes déclaratif, versionné, automatique
- 2
Installation ArgoCD sur Kubernetes existant, connexion repo Git dédié aux manifests
- 3
Structuration repo Kustomize : gestion dev/staging/prod overlays
- 4
GitHub Actions : CI (build, test, push image) vs ArgoCD : CD (sync cluster)
- 5
Tests drift detection : modification manuelle en prod → réconciliation auto
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.
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