GitOps İş Akışı: ArgoCD ile Uygulamaları Otomatik Dağıtma
# GitOps İş Akışı: ArgoCD ile Uygulamaları Otomatik Dağıtma
GitOps, Git deposunu tek kaynak olarak kullanarak altyapı ve uygulamaları yönetme yöntemidir. Kod değişikliği yaptığında, sistem bunu algılayıp otomatik olarak Kubernetes kümesine dağıtır. Geleneksel şekilde `kubectl apply` komutuyla elle dağıtmak yerine, Git'e push etmek yeterli olur.
ArgoCD, GitOps iş akışını Kubernetes'te gerçekleştiren açık kaynak bir araçtır. Sürekli olarak Git deposunu kontrol eder. Depo ile kümede çalışan uygulama arasında fark varsa, otomatik olarak senkronize eder.
Önce Kubernetes kümesine ArgoCD'yi yükleyin.
1kubectl create namespace argocd2kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable...Kurulum tamamlandığında ArgoCD pod'ları çalışmaya başlar.
ArgoCD'nin web arayüzüne erişmek için port yönlendirmesi yapın:
1kubectl port-forward svc/argocd-server -n argocd 8080:443Tarayıcıda `https://localhost:8080` adresine gidin. İlk parola:
1kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -dKullanıcı adı: `admin`
Git deposunda Kubernetes manifest dosyalarını saklayacağınız klasör oluşturun:
1mkdir -p gitops-repo/manifests2cd gitops-repoBir örnek deployment dosyası oluşturun:
1cat > manifests/deployment.yaml << 'EOF'2apiVersion: apps/v13kind: Deployment4metadata:5name: demo-app6spec:7replicas: 28selector:9matchLabels:10app: demo11template:12metadata:13labels:14app: demo15spec:16containers:17- name: app18image: nginx:latest19ports:20- containerPort: 8021EOFDepoyu Git'e gönderin:
1git add.2git commit -m "Initial manifests"3git push origin mainArgoCD web arayüzünde "New App" butonuna tıklayın veya CLI ile:
1argocd app create demo-app \2--repo https://github.com/kullanici/gitops-repo \3--path manifests \4--dest-server https://kubernetes.default.svc \5--dest-namespace defaultUygulamayı senkronize edin:
1argocd app sync demo-appDurum kontrol edin:
1argocd app get demo-appManifest dosyasını değiştirin:
1sed -i 's/replicas: 2/replicas: 3/' manifests/deployment.yaml2git add manifests/deployment.yaml3git commit -m "Scale to 3 replicas"4git push origin mainArgoCD otomatik olarak değişikliği algılayıp pod sayısını 3'e çıkaracaktır. Web arayüzünde veya CLI'de kontrol edin:
1kubectl get podsÇıktı:
1NAME READY STATUS RESTARTS AGE2demo-app-xxxxx-aaaaa 1/1 Running 0 2m3demo-app-xxxxx-bbbbb 1/1 Running 0 2m4demo-app-xxxxx-ccccc 1/1 Running 0 30sGit'teki değişiklik otomatik olarak kümede uygulanmıştır. Bu GitOps'ün gücüdür.
0 yorum