تخطَّ إلى المحتوى

Project 6: GitOps with Argo CD

تشغيل مشروع Helm من Git عبر Argo CD، مع بيئات dev و staging و prod وخطة rollback.

  • Git repo يحتوي chart وvalues.
  • Argo CD Application لكل بيئة أو ApplicationSet.
  • تعديل من Git يظهر في cluster.
  • rollback موثق.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fullstack-dev
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/example/fullstack-gitops.git
targetRevision: main
path: fullstack-app
helm:
valueFiles:
- values-dev.yaml
destination:
server: https://kubernetes.default.svc
namespace: fullstack-dev
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

Lab: نشر GitOps

المستوى: مبتدئ الوقت: 60 دقيقة الأدوات: kubectl, argocd, git

الهدف: إنشاء Argo CD Application ومراقبة sync ثم تنفيذ rollback من Git.

Terminal window
kubectl apply -f application-dev.yaml
argocd app get fullstack-dev
argocd app sync fullstack-dev

غيّر image tag في Git ثم:

Terminal window
git add .
git commit -m "Update dev image"
git push
argocd app sync fullstack-dev

Rollback:

Terminal window
git revert HEAD
git push
argocd app sync fullstack-dev
Sync Status: Synced
Health Status: Healthy
Terminal window
kubectl delete -f application-dev.yaml
  • cluster يمكن إعادة بنائه من Git.
  • لا يوجد apply يدوي لتطبيق production إلا Argo CD.
  • rollback موثق بـ Git commit.