L’approche GitOps avec Argo CD révolutionne la gestion des déploiements Kubernetes. En utilisant Git comme unique source de vérité, vous n’appliquez plus manuellement vos configurations. Argo CD surveille vos dépôts et synchronise automatiquement l’état du cluster avec le code déclaré. Ce guide détaillé vous explique pas à pas comment installer Argo CD et déployer avec succès votre toute première application Kubernetes.
Prérequis du tutoriel
Avant de déployer une application Kubernetes avec Argo CD, vous devez rassembler quelques éléments de base. Assurez-vous de disposer d’un cluster Kubernetes fonctionnel. Vous pouvez utiliser K3s, Minikube ou un cluster géré. L’outil en ligne de commande kubectl doit être configuré localement. Enfin, préparez un dépôt Git public ou privé contenant vos manifestes.
Étape 1 : Installer Argo CD sur le cluster
L’installation d’Argo CD s’effectue directement via les manifestes officiels fournis par le projet. Nous allons tout d’abord créer un espace de noms dédié, puis appliquer la configuration standard. Exécutez les deux commandes suivantes dans votre terminal :
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Ces commandes déploient les contrôleurs et l’interface utilisateur. Pour vérifier que tous les pods sont opérationnels, lancez la commande d’inspection.
Étape 2 : Accéder à l’interface et récupérer les identifiants
Par défaut, le serveur API n’est pas exposé publiquement. Pour y accéder depuis votre navigateur, le transfert de port est la méthode la plus rapide. Lancez cette instruction :
kubectl port-forward svc/argocd-server -n argocd 8080:443
Ouvrez ensuite l’adresse localhost:8080. Pour vous connecter, le nom d’utilisateur par défaut est admin. Le mot de passe initial est généré automatiquement lors de l’installation et stocké dans un secret Kubernetes. Extrayez-le avec cette commande spécifique :
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Étape 3 : Préparer le dépôt Git du projet
La méthodologie GitOps exige que vos fichiers YAML résident dans un système de contrôle de version. Créez un dossier dans votre dépôt Git et ajoutez-y un fichier de déploiement standard pour un serveur web Nginx.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-app
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.24
ports:
- containerPort: 80
N’oubliez pas d’ajouter un service Kubernetes dans le même répertoire pour exposer cette application. Validez le commit et poussez ces fichiers sur la branche principale de votre dépôt.
Étape 4 : Déclarer et synchroniser l’Application
Pour relier votre dépôt Git au cluster, vous devez créer une ressource personnalisée nommée Application. Ce fichier dicte à Argo CD où chercher le code et où l’appliquer.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: demo-app
namespace: argocd
spec:
project: default
source:
repoURL: 'https://github.com/votre-compte/demo-gitops.git'
targetRevision: HEAD
path: ./manifests
destination:
server: 'https://kubernetes.default.svc'
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
Appliquez ce fichier avec kubectl. L’interface web affichera immédiatement votre application. Grâce à la politique de synchronisation automatisée, toute modification détectée dans le répertoire ciblé entraînera une mise à jour instantanée du cluster.
Le principe GitOps : Modification et Rollback
Toute la puissance de GitOps avec Argo CD réside dans la gestion des évolutions. Pour modifier la version de votre image Nginx, ne touchez plus à kubectl. Éditez simplement le fichier de déploiement dans votre dépôt Git pour remplacer la version 1.24 par la version 1.25.
Dès que vous poussez le commit, Argo CD détecte la divergence entre l’état souhaité inscrit dans Git et l’état réel du cluster. Il lance automatiquement le processus de convergence. Si la nouvelle version entraîne un dysfonctionnement, le retour en arrière reste trivial : il suffit d’annuler le commit précédent. Le système s’alignera à nouveau sur un code sain.
Bonnes pratiques de sécurité Kubernetes
Déployer avec Argo CD nécessite de respecter certaines règles fondamentales pour maintenir une infrastructure sécurisée et pérenne sur le long terme.
Gestion des accès
Désactivez le compte administrateur local après l’installation initiale. Intégrez votre annuaire d’entreprise pour gérer finement les autorisations globales des développeurs.
Ségrégation des privilèges
N’accordez pas des droits absolus à l’opérateur. Utilisez des projets Argo CD pour limiter quelles applications peuvent cibler des espaces de noms spécifiques.
Gestion des secrets
Ne stockez jamais de mots de passe en clair dans Git. Privilégiez des solutions de chiffrement externes comme Sealed Secrets ou External Secrets.
Questions fréquentes sur la méthode
Comment Argo CD gère-t-il les suppressions ?
L’option de nettoyage permet au système de supprimer les ressources Kubernetes orphelines. Si vous effacez un fichier YAML dans le dépôt, l’objet correspondant sera automatiquement détruit sur votre cluster.
Quelle est la différence avec Flux CD ?
Flux et Argo sont leaders. Argo propose une interface visuelle très appréciée, tandis que Flux reste minimaliste. Ce choix dépend de vos préférences.
Accélérez vos déploiements continus
La maîtrise de l’approche GitOps avec Argo CD transforme profondément les cycles de publication. L’automatisation réduit les erreurs humaines, améliore la traçabilité des modifications et renforce la fiabilité de vos environnements Kubernetes.







