Adopter GitOps avec Argo CD pour gérer vos déploiements Kubernetes

Publié le 16 juillet 2025

Kubernetes
GitOps

Argo CD est un outil GitOps open-source qui permet de synchroniser automatiquement les manifests présents dans un dépôt Git avec vos clusters Kubernetes. Grâce à une interface web et à des Custom Resource Definitions (CRD), Argo CD garantit que l’état déclaré dans Git correspond à l’état réel de vos environnements.

Prérequis

  • Un cluster Kubernetes (>=1.20)
  • kubectl configuré
  • Un dépôt Git (GitHub, GitLab, Bitbucket…)
  • Helm (optionnel pour l’installation)

Installation d’Argo CD

1. Création du namespace et installation

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

2. Accès à l’interface web

Exposez le service argocd-server :

kubectl port-forward svc/argocd-server -n argocd 8080:443

Puis accédez à https://localhost:8080.

  • Identifiant par défaut : admin
  • Mot de passe :
    kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    

Configuration d’une Application Argo CD

1. Définir le CRD d’application

Créez app-gitops.yaml :

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: 'https://github.com/monorg/monrepo.git'
    path: 'k8s/manifests'
    targetRevision: main
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

Appliquez :

kubectl apply -f app-gitops.yaml

2. Synchronisation et self-heal

  • Automatique : Argo CD applique les changements Git dès push
  • Self-heal : Il restaure l’état si modification manuelle

Gestion multi-environnements

  • Projets Argo CD : définition des permissions et cibles
  • Applications multiples pointant vers différents dossiers (dev, staging, prod)
  • Paramètres : override via kustomize ou Helm values

Bonnes pratiques

  1. Versionnez vos manifests et Kustomize/Helm charts
  2. Utilisez des Pull Requests pour valider les changements
  3. Mettez en place des RBAC Argo CD pour sécuriser l’accès
  4. Configurez des Webhooks ou GitOps triggers pour pipeline automatisé
  5. Supervisez Argo CD avec Grafana (Exporter metrics)

Avantages

  • Déploiement déclaratif et automatisé
  • Restauration rapide de l’état souhaité
  • Audit complet des modifications via Git
  • Multi-cluster natif et gestion centralisée

Limites

  • Complexité initiale pour définir GitOps
  • Dépendance à la disponibilité de Git
  • Surcoût opérationnel pour la surveillance et la maintenance du serveur Argo CD

Conclusion

En adoptant Argo CD, vous bénéficiez d’un workflow GitOps cohérent, traçable et résilient, facilitant la collaboration entre équipes et garantissant que l’état de vos clusters Kubernetes correspond toujours à votre dépôt Git.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser