مقدمه
ArgoCD یک ابزار delivery مستمر اعلانی GitOps برای Kubernetes است. GitOps یعنی مخزن Git شما تنها منبع حقیقت برای وضعیت زیرساخت و اپلیکیشنتان است. ArgoCD مخزن Git شما را بهطور مستمر زیر نظر دارد و اطمینان میدهد که cluster Kubernetes شما با آنچه تعریف شده مطابقت دارد.
نصب ArgoCD
BASH
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# دریافت رمز عبور اولیه
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -dایجاد Application
YAML
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: myapp-production
namespace: argocd
spec:
source:
repoURL: https://github.com/company/k8s-manifests.git
targetRevision: main
path: apps/myapp/production
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true # حذف منابع از Git حذف شده
selfHeal: true # بازگشت تغییرات دستییکپارچهسازی CI/CD
YAML
# .github/workflows/deploy.yml
- name: Update image tag
run: |
cd apps/myapp/production
kustomize edit set image company/myapp=company/myapp:${{ github.sha }}
git add . && git commit -m "Update to ${{ github.sha }}" && git pushArgoCD استقرارهای Kubernetes را به یک جریان کاری Git-محور تبدیل میکند. هر استقرار قابل ردیابی، هر rollback یک git revert، و وضعیت cluster قابل تأیید در برابر مخزن شما میشود.
