ArgoCD ile Versiyon Yönetimi
ArgoCD Kurulumu
ArgoCD'nin Kubernetes Cluster'a kurulumunu gerçekleştirmek için aşağıdaki adımları izleyin.
ArgoCD için namespace oluşturun:
kubectl create namespace argocd
GitHub deposundan ArgoCD manifest dosyalarını uygulayın:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Pod'ların başlatılmasını izleyin:
watch kubectl get pods -n argocd

ArgoCD arayüzüne erişim sağlamak için servis tipini NodePort olarak yapılandırın:
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'
kubectl get svc argocd-server -n argocd

Servisinizin dışarı açtığı port adresini kullanarak ArgoCD arayüzüne erişin:
http://<KUBERNETES_WORKER_IP_ADDRESS>:<PORT>

Base64 formatında kodlanmış şifreyi decode ederek görüntüleyin:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
Varsayılan kullanıcı adı admin'dir. Bu bilgileri kullanarak ArgoCD arayüzüne giriş yapabilirsiniz.
Git Kurulumu ve Repository Yapılandırması
Deployment dosyalarını GitHub'a push etmek için Git kurulumunu gerçekleştirin ve repository'yi yapılandırın.
Git paketini kurun:
sudo apt update
sudo apt install git
git --version
Git sizden kullanıcı bilgilerini isteyebilir. Aşağıdaki komutları kullanarak yapılandırın:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Deployment dosyalarınızı tutmak için GitHub üzerinden bir repository oluşturun.
GitHub repository'sine dosya ekleyebilmek için git sistemine remote address olarak ekleyin.
Authentication Hatası Çözümü
Eğer git kullanımında "Authentication failed" hatası alırsanız, aşağıdaki adımları takip edin:
- GitHub hesabınıza giriş yapın
- Sağ üst köşedeki profil resminize tıklayın ve "Settings" (Ayarlar) seçeneğini seçin
- Sol menüden "Developer settings" (Geliştirici ayarları) altında "Personal access tokens" seçeneğine gidin
- "Token" ardından "Generate new token" düğmesine tıklayın
- Gerekli izinleri verin
- Sayfanın en altına gidin ve "Generate token" düğmesine tıklayın
- Token değerini kopyalayın ve güvenli bir yere kaydedin. Bu değeri tekrar görüntüleyemezsiniz.
Token ile remote address'i yapılandırın:
git remote set-url origin https://<USERNAME>:<ACCESS_TOKEN>@<REPO_ADDRESS>
Örnek: https://test:ghp_xxxx@github.com/test/test.git
Apinizer Manager deployment yaml dosyasını git versiyon sistemine ekleyin ve uzak repository'ye push edin:
git init
git add apinizer-api-manager-deployment.yaml
git commit -m "manager add"
git remote add origin <GITHUB_REPO_ADDRESS>
git push -u origin master
Git Repository'sinin ArgoCD'ye Eklenmesi
YAML dosyalarını GitHub repository'sine ekledikten sonra, ArgoCD arayüzünden bu repository adresini eklemeniz gerekmektedir.
Birçok bağlantı yöntemi vardır. HTTPS yöntemi için aşağıdaki alanları doldurmanız gereklidir.
Önemli
Bağlantı yöntemi olarak HTTPS seçilirse, password kısmına önceki adımda oluşturduğunuz token değerini yazınız.
ArgoCD Uygulama Oluşturma
ArgoCD üzerinde uygulama oluşturarak deployment süreçlerinizi otomatikleştirebilirsiniz.
Uygulama için bir isim verin.
ArgoCD'nin repository'deki güncellemeleri otomatik olarak kontrol etmesini istiyorsanız, SYNC POLICY seçeneğini Automatic olarak ayarlayın.
Automatic sync policy aktif olduğunda, ArgoCD sizin yerinize 3 dakikada bir kontrol sağlar.

Kubernetes Cluster'ınızda daha önceden oluşturulmamış bir namespace'e ihtiyaç duyduğunuzda, AUTO-CREATE NAMESPACE seçeneği ile ArgoCD Kubernetes cluster'ınızda bir namespace oluşturur.


Uygulama Yönetimi
ArgoCD size deployment, replica set ve pod'ları görsel olarak gösterir. Pod'ların anlık log verilerini görüntüleyebilirsiniz.
Manuel Senkronizasyon: YAML dosyanızda yapılan bir değişikliği manuel olarak SYNC butonuna basarak senkronize edebilirsiniz.
Otomatik Senkronizasyon: YAML dosyalarında yapılan her değişikliği otomatik olarak tespit eden ArgoCD, pod'larınızı güncelleyerek deploy süreçlerinizi otomatikleştirir. Bu sayede deploy süreçleriniz daha verimli ve hızlı bir şekilde gerçekleşirken, manuel müdahalelerin ve hataların önüne geçebilirsiniz.