GitOps avec ArgoCD : Setup et Best Practices
GitOps révolutionne la façon dont nous déployons et gérons nos applications Kubernetes. ArgoCD est l'un des outils les plus populaires pour implémenter cette approche.
💡Qu'est-ce que GitOps ?
GitOps est une méthodologie qui utilise Git comme source de vérité unique pour la configuration de l'infrastructure et des applications. Les principes clés :
- •Déclaratif : Tout est défini dans des manifests
- •Versionné : Git comme source de vérité
- •Automatique : Déploiements automatisés
- •Observable : Monitoring et alerting intégrés
💡Installation d'ArgoCD
Installation via Manifests
# Créer le namespace
kubectl create namespace argocd
# Installer ArgoCD
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# Attendre que tous les pods soient prêts
kubectl wait --for=condition=available --timeout=300s deployment/argocd-server -n argocd
Installation via Helm
# Ajouter le repo Helm
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
# Installation avec values personnalisées
helm install argocd argo/argo-cd \
--namespace argocd \
--create-namespace \
--values argocd-values.yaml
💡Configuration des Applications
Manifest Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/mon-org/mon-app
targetRevision: HEAD
path: k8s/overlays/production
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true