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 argocd

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:443

Tarayıcıda `https://localhost:8080` adresine gidin. İlk parola:

1kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

Kullanıcı adı: `admin`

Git deposunda Kubernetes manifest dosyalarını saklayacağınız klasör oluşturun:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1mkdir -p gitops-repo/manifests
2cd gitops-repo

Bir örnek deployment dosyası oluşturun:

1cat > manifests/deployment.yaml << 'EOF'
2apiVersion: apps/v1
3kind: Deployment
4metadata:
5name: demo-app
6spec:
7replicas: 2
8selector:
9matchLabels:
10app: demo
11template:
12metadata:
13labels:
14app: demo
15spec:
16containers:
17- name: app
18image: nginx:latest
19ports:
20- containerPort: 80
21EOF

Depoyu Git'e gönderin:

1git add.
2git commit -m "Initial manifests"
3git push origin main

ArgoCD web arayüzünde "New App" butonuna tıklayın veya CLI ile:

1argocd app create demo-app \
3--path manifests \
5--dest-namespace default

Uygulamayı senkronize edin:

1argocd app sync demo-app

Durum kontrol edin:

1argocd app get demo-app

Manifest dosyasını değiştirin:

1sed -i 's/replicas: 2/replicas: 3/' manifests/deployment.yaml
2git add manifests/deployment.yaml
3git commit -m "Scale to 3 replicas"
4git push origin main

ArgoCD 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 AGE
2demo-app-xxxxx-aaaaa 1/1 Running 0 2m
3demo-app-xxxxx-bbbbb 1/1 Running 0 2m
4demo-app-xxxxx-ccccc 1/1 Running 0 30s

Git'teki değişiklik otomatik olarak kümede uygulanmıştır. Bu GitOps'ün gücüdür.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz