ArgoCD, Kubernetes ortamları için kullanılmakta olan en popüler GitOps Continuos Deployment araçlarından biridir. ArgoCD ile uygulamalarımızın hedef ortamlara(Kubernetes Cluster) dağıtımını (Continuos Deployment) gerçekleştirebiliriz, kullanıcı yetkilendirme ve SSO entegrasyonlarını da yapabiliriz.
ArgoCD, GitOps’ un temel yapıtaşı olan “Single Source of Truth” modelini referans alır.
Single Source of Truth: Bir organizasyonun verilerinin tek bir güvenilir kaynaktan gelmesi gerektiğini ve bu sayede karmaşıklığın azaltıldığı ve daha güvenilir bir yapının oluşmasını sağlayan bir ilkedir.
ArgoCD, Git üzerinden deploy edilmiş uygulamaları izler, eş zamanlı olarak Git reposundaki dosyalar ile karşılaştırır, Git reposunda herhangi bir değişiklik olduğunda bunu saptar ve otomatik senkronizasyon yapılabilmesini sağlar. Direk otomatik senkronizasyon yapmayıp sizlere bildirim göndermesini sağlayıp senkronizasyonu bu şekilde de yönetebiliriz.
Şimdi ArgoCD’ yi kubernetes ortamımıza kurulumunu helm kullanarak tamamlayalım.
helm install my-argo-cd oci://ghcr.io/argoproj/argo-helm/argo-cd --version 6.7.11
Ayrıca helm chart’ lara buraya tıklayarak ulaşabiliriz.
Kurulum sonrası admin şifremizi aşağıdaki komut ile alabiliriz.
kubectl -n default get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Pod’ larımız running state’ e geçtiğinde admin kullanıcımız ve şifremizle arayüze bağlanabiliriz.
kubectl get pods
NAME READY STATUS RESTARTS AGE
my-argo-cd-argocd-application-controller-0 1/1 Running 0 30m
my-argo-cd-argocd-applicationset-controller-766c9dc9bd-b7bf5 1/1 Running 0 30m
my-argo-cd-argocd-dex-server-f7fff59b4-svmfz 1/1 Running 0 30m
my-argo-cd-argocd-notifications-controller-854f8f947d-dgd2q 1/1 Running 0 30m
my-argo-cd-argocd-redis-84d55fd99d-zsfr8 1/1 Running 0 30m
my-argo-cd-argocd-repo-server-7b94694b64-ksz7k 1/1 Running 0 30m
my-argo-cd-argocd-server-6f8f9559-6wc2j 1/1 Running 0 30m
Şimdi aşağıdaki komutla ile 8080 portumuzdan ArgoCD’ ye bağlanabiliriz.
kubectl port-forward service/my-argo-cd-argocd-server -n default 8080:443

Web UI’ a ulaştık, login olalım.

ArgoCD’ ye login olduk, kurulumumuz tamamlandı.
Continuos Deployment süreçlerimizi, tek yerden yönetim ile ArgoCD kullanarak düzenli ve başarılı bir şekilde yönetebiliriz.
Faydalı olması dileklerimle,