{"id":2675,"date":"2025-05-08T13:31:00","date_gmt":"2025-05-08T10:31:00","guid":{"rendered":"https:\/\/www.bircloud.com\/cloud\/index.php\/2025\/05\/08\/argo-cd-gitops-surekli-teslimat\/"},"modified":"2025-05-08T13:31:00","modified_gmt":"2025-05-08T10:31:00","slug":"argo-cd-gitops-surekli-teslimat","status":"publish","type":"post","link":"https:\/\/www.bircloud.com\/cloud\/index.php\/2025\/05\/08\/argo-cd-gitops-surekli-teslimat\/","title":{"rendered":"Argo CD ile GitOps Tabanl\u0131 S\u00fcrekli Teslimat: Uygulama Da\u011f\u0131t\u0131m\u0131nda Devrim"},"content":{"rendered":"<h2>Giri\u015f: GitOps ve S\u00fcrekli Teslimat\u0131n Evrimi<\/h2>\n<p>Yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z, g\u00fcvenilirlik ve otomasyon giderek daha fazla \u00f6nem kazanmaktad\u0131r. S\u00fcrekli Entegrasyon (CI) ve S\u00fcrekli Teslimat (CD) (CI\/CD) pratikleri, bu ihtiya\u00e7lara cevap vermek amac\u0131yla ortaya \u00e7\u0131km\u0131\u015ft\u0131r. Ancak, altyap\u0131 ve uygulama da\u011f\u0131t\u0131mlar\u0131n\u0131n karma\u015f\u0131kl\u0131\u011f\u0131 artt\u0131k\u00e7a, bu s\u00fcre\u00e7leri y\u00f6netmek de zorla\u015fm\u0131\u015ft\u0131r. \u0130\u015fte tam bu noktada, GitOps yakla\u015f\u0131m\u0131 devreye giriyor. GitOps, altyap\u0131 ve uygulama tan\u0131mlar\u0131n\u0131 Git depolar\u0131nda saklayarak, deklaratif ve versiyon kontroll\u00fc bir yakla\u015f\u0131m sunar. Bu sayede, de\u011fi\u015fiklikler kolayca izlenebilir, geri al\u0131nabilir ve otomatik olarak uygulanabilir hale gelir. Argo CD, GitOps prensiplerini hayata ge\u00e7irmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r ve bu blog yaz\u0131s\u0131nda, Argo CD ile GitOps tabanl\u0131 s\u00fcrekli teslimat stratejilerini derinlemesine inceleyece\u011fiz.<\/p>\n<h2>Argo CD Nedir?<\/h2>\n<p>Argo CD, Kubernetes i\u00e7in tasarlanm\u0131\u015f, deklaratif, GitOps tabanl\u0131 bir s\u00fcrekli teslimat arac\u0131d\u0131r. Uygulama tan\u0131mlar\u0131n\u0131 Git depolar\u0131ndan al\u0131r ve Kubernetes k\u00fcmelerine otomatik olarak da\u011f\u0131t\u0131r. Argo CD, Git deposundaki tan\u0131mlarla, k\u00fcmedeki mevcut durumu s\u00fcrekli olarak kar\u015f\u0131la\u015ft\u0131r\u0131r ve herhangi bir farkl\u0131l\u0131k tespit etti\u011finde, k\u00fcmeyi Git deposundaki tan\u0131mlara uygun hale getirmeye \u00e7al\u0131\u015f\u0131r. Bu sayede, tutarl\u0131 ve g\u00fcvenilir bir da\u011f\u0131t\u0131m s\u00fcreci sa\u011flan\u0131r.<\/p>\n<p>Argo CD&#8217;nin temel \u00f6zellikleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Deklaratif Yap\u0131land\u0131rma:<\/b> Uygulama tan\u0131mlar\u0131 YAML veya JSON gibi deklaratif formatlarda saklan\u0131r. Bu sayede, uygulaman\u0131n istenen durumu a\u00e7\u0131k\u00e7a belirtilmi\u015f olur.<\/li>\n<li><b>GitOps Entegrasyonu:<\/b> Git depolar\u0131, uygulaman\u0131n tek ve g\u00fcvenilir kayna\u011f\u0131 olarak kullan\u0131l\u0131r. T\u00fcm de\u011fi\u015fiklikler Git \u00fczerinden yap\u0131l\u0131r ve Argo CD, bu de\u011fi\u015fiklikleri otomatik olarak k\u00fcmeye uygular.<\/li>\n<li><b>Otomatik Senkronizasyon:<\/b> Argo CD, Git deposundaki tan\u0131mlarla k\u00fcmedeki durumu s\u00fcrekli olarak senkronize eder. Herhangi bir farkl\u0131l\u0131k tespit edildi\u011finde, otomatik olarak d\u00fczeltme yapar.<\/li>\n<li><b>Rol Tabanl\u0131 Eri\u015fim Kontrol\u00fc (RBAC):<\/b> Argo CD, kullan\u0131c\u0131lar\u0131n ve servis hesaplar\u0131n\u0131n eri\u015fim yetkilerini kontrol etmek i\u00e7in RBAC&#8217;yi destekler.<\/li>\n<li><b>Web Aray\u00fcz\u00fc ve CLI:<\/b> Argo CD, kullan\u0131c\u0131 dostu bir web aray\u00fcz\u00fc ve g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 arac\u0131 (CLI) sunar.<\/li>\n<li><b>\u00c7oklu K\u00fcme Deste\u011fi:<\/b> Argo CD, birden fazla Kubernetes k\u00fcmesini y\u00f6netebilir.<\/li>\n<li><b>Sa\u011fl\u0131k Durumu Kontrol\u00fc:<\/b> Argo CD, uygulamalar\u0131n sa\u011fl\u0131k durumunu s\u00fcrekli olarak izler ve herhangi bir sorun tespit etti\u011finde uyar\u0131 verir.<\/li>\n<\/ul>\n<h2>Argo CD&#8217;nin Avantajlar\u0131<\/h2>\n<p>Argo CD&#8217;nin GitOps tabanl\u0131 s\u00fcrekli teslimat stratejileri i\u00e7in sundu\u011fu avantajlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Artan G\u00fcvenilirlik:<\/b> GitOps prensipleri sayesinde, uygulama da\u011f\u0131t\u0131mlar\u0131 daha g\u00fcvenilir hale gelir. T\u00fcm de\u011fi\u015fiklikler Git \u00fczerinden yap\u0131ld\u0131\u011f\u0131 i\u00e7in, geri alma i\u015flemleri kolayla\u015f\u0131r ve olas\u0131 hatalar\u0131n etkisi azalt\u0131l\u0131r.<\/li>\n<li><b>Geli\u015fmi\u015f \u0130zlenebilirlik:<\/b> Git deposu, t\u00fcm de\u011fi\u015fikliklerin tarih\u00e7esini tutar. Bu sayede, kimin, ne zaman, hangi de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131 kolayca izlenebilir.<\/li>\n<li><b>H\u0131zland\u0131r\u0131lm\u0131\u015f Da\u011f\u0131t\u0131m S\u00fcre\u00e7leri:<\/b> Otomatik senkronizasyon sayesinde, uygulama da\u011f\u0131t\u0131mlar\u0131 daha h\u0131zl\u0131 ve verimli bir \u015fekilde ger\u00e7ekle\u015ftirilir.<\/li>\n<li><b>Daha Az Hata:<\/b> \u0130nsan hatas\u0131 riski azal\u0131r, \u00e7\u00fcnk\u00fc da\u011f\u0131t\u0131m s\u00fcre\u00e7leri otomatikle\u015ftirilmi\u015ftir.<\/li>\n<li><b>Daha \u0130yi \u0130\u015fbirli\u011fi:<\/b> Geli\u015ftirme ve operasyon ekipleri aras\u0131ndaki i\u015fbirli\u011fi artar, \u00e7\u00fcnk\u00fc t\u00fcm de\u011fi\u015fiklikler Git \u00fczerinden yap\u0131l\u0131r ve herkes ayn\u0131 bilgilere eri\u015febilir.<\/li>\n<li><b>G\u00fcvenlik:<\/b> GitOps prensipleri, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 azaltmaya yard\u0131mc\u0131 olur. \u00d6rne\u011fin, yetkisiz ki\u015filerin k\u00fcmelere do\u011frudan eri\u015fimi engellenir.<\/li>\n<li><b>Uyum:<\/b> GitOps, uyumluluk gereksinimlerini kar\u015f\u0131lamay\u0131 kolayla\u015ft\u0131r\u0131r. T\u00fcm de\u011fi\u015fikliklerin denetlenebilir bir kayd\u0131 tutuldu\u011fu i\u00e7in, uyumluluk denetimleri daha kolay hale gelir.<\/li>\n<\/ul>\n<h2>Argo CD Kullan\u0131m Senaryolar\u0131<\/h2>\n<p>Argo CD, \u00e7e\u015fitli kullan\u0131m senaryolar\u0131nda etkili bir \u015fekilde kullan\u0131labilir:<\/p>\n<ul>\n<li><b>Mikroservis Mimarileri:<\/b> Argo CD, mikroservis mimarilerinde uygulama da\u011f\u0131t\u0131mlar\u0131n\u0131 y\u00f6netmek i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr. Her mikroservis i\u00e7in ayr\u0131 bir Git deposu olu\u015fturulabilir ve Argo CD, bu depolar\u0131 s\u00fcrekli olarak izleyerek, de\u011fi\u015fiklikleri otomatik olarak k\u00fcmeye uygulayabilir.<\/li>\n<li><b>\u00c7oklu K\u00fcme Y\u00f6netimi:<\/b> Argo CD, birden fazla Kubernetes k\u00fcmesini y\u00f6netebilir. Bu sayede, farkl\u0131 ortamlara (geli\u015ftirme, test, \u00fcretim) uygulama da\u011f\u0131t\u0131mlar\u0131 kolayca y\u00f6netilebilir.<\/li>\n<li><b>Uygulama G\u00fcncellemeleri:<\/b> Argo CD, uygulama g\u00fcncellemelerini otomatik olarak ger\u00e7ekle\u015ftirebilir. Yeni bir s\u00fcr\u00fcm Git deposuna eklendi\u011finde, Argo CD bu de\u011fi\u015fikli\u011fi alg\u0131lar ve k\u00fcmeyi otomatik olarak g\u00fcnceller.<\/li>\n<li><b>Altyap\u0131 Y\u00f6netimi:<\/b> Argo CD, altyap\u0131 bile\u015fenlerini (\u00f6rne\u011fin, a\u011f yap\u0131land\u0131rmalar\u0131, depolama birimleri) y\u00f6netmek i\u00e7in de kullan\u0131labilir.<\/li>\n<li><b>Felaket Kurtarma:<\/b> Argo CD, felaket kurtarma senaryolar\u0131nda uygulama ve altyap\u0131 tan\u0131mlar\u0131n\u0131 h\u0131zl\u0131 bir \u015fekilde geri y\u00fcklemek i\u00e7in kullan\u0131labilir.<\/li>\n<\/ul>\n<h2>Argo CD Kurulumu ve Ba\u015flang\u0131\u00e7 Rehberi<\/h2>\n<p>Argo CD&#8217;yi kurmak ve kullanmaya ba\u015flamak olduk\u00e7a kolayd\u0131r. A\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek, Argo CD&#8217;yi Kubernetes k\u00fcmenize kurabilirsiniz:<\/p>\n<h3>1. Argo CD Namespace Olu\u015fturma<\/h3>\n<pre><code class=\"language-yaml\">\nkubectl create namespace argocd\n<\/code><\/pre>\n<h3>2. Argo CD Manifest Dosyalar\u0131n\u0131 Uygulama<\/h3>\n<pre><code class=\"language-yaml\">\nkubectl apply -n argocd -f https:\/\/raw.githubusercontent.com\/argoproj\/argo-cd\/stable\/manifests\/install.yaml\n<\/code><\/pre>\n<h3>3. Argo CD CLI&#8217;y\u0131 \u0130ndirme ve Kurma<\/h3>\n<p>Argo CD CLI&#8217;y\u0131 indirmek i\u00e7in <a href=\"https:\/\/argo-cd.readthedocs.io\/en\/stable\/cli_installation\/\">resmi dok\u00fcmantasyonu<\/a> ziyaret edin.<\/p>\n<h3>4. Argo CD&#8217;ye Eri\u015fme<\/h3>\n<p>Argo CD&#8217;ye eri\u015fmek i\u00e7in, Kubernetes servislerinden birini port y\u00f6nlendirme ile a\u00e7abilirsiniz:<\/p>\n<pre><code class=\"language-yaml\">\nkubectl port-forward -n argocd service\/argocd-server 8080:443\n<\/code><\/pre>\n<p>Ard\u0131ndan, taray\u0131c\u0131n\u0131zda <code>https:\/\/localhost:8080<\/code> adresine giderek Argo CD web aray\u00fcz\u00fcne eri\u015febilirsiniz.<\/p>\n<h3>5. Argo CD CLI ile Giri\u015f Yapma<\/h3>\n<p>Argo CD CLI ile giri\u015f yapmak i\u00e7in, a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-yaml\">\nargocd login localhost:8080 --username admin --password $(kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath=\"{.data.password}\" | base64 --decode)\n<\/code><\/pre>\n<h3>6. \u0130lk Uygulamay\u0131 Da\u011f\u0131tma<\/h3>\n<p>\u00d6rnek bir uygulamay\u0131 da\u011f\u0131tmak i\u00e7in, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip edin:<\/p>\n<pre><code class=\"language-yaml\">\nargocd app create my-first-app \n --repo https:\/\/github.com\/argoproj\/argocd-example-apps.git \n --path guestbook \n --dest-server https:\/\/kubernetes.default.svc \n --dest-namespace default\n<\/code><\/pre>\n<h3>7. Uygulamay\u0131 Senkronize Etme<\/h3>\n<pre><code class=\"language-yaml\">\nargocd app sync my-first-app\n<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, uygulaman\u0131z Kubernetes k\u00fcmenize da\u011f\u0131t\u0131lm\u0131\u015f olacakt\u0131r. Argo CD web aray\u00fcz\u00fcnden uygulaman\u0131n durumunu izleyebilirsiniz.<\/p>\n<h2>BirCloud Perspektifi: Bulut \u00c7\u00f6z\u00fcmleri ve Argo CD Entegrasyonu<\/h2>\n<p>BirCloud olarak, m\u00fc\u015fterilerimize en iyi bulut \u00e7\u00f6z\u00fcmlerini sunmay\u0131 hedefliyoruz. Argo CD, modern uygulama geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinde \u00f6nemli bir rol oynamaktad\u0131r. Biz de m\u00fc\u015fterilerimizin Argo CD&#8217;yi etkin bir \u015fekilde kullanmalar\u0131na yard\u0131mc\u0131 olmak i\u00e7in \u00e7e\u015fitli hizmetler sunuyoruz. Bu hizmetler aras\u0131nda, Argo CD kurulumu, yap\u0131land\u0131rmas\u0131, e\u011fitimi ve deste\u011fi bulunmaktad\u0131r. Ayr\u0131ca, m\u00fc\u015fterilerimizin \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re \u00f6zelle\u015ftirilmi\u015f Argo CD \u00e7\u00f6z\u00fcmleri de geli\u015ftirebiliyoruz. BirCloud&#8217;un bulut \u00e7\u00f6z\u00fcmleri uzmanl\u0131\u011f\u0131 ve Argo CD&#8217;nin g\u00fcc\u00fc bir araya geldi\u011finde, m\u00fc\u015fterilerimiz uygulama da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinde \u00f6nemli \u00f6l\u00e7\u00fcde verimlilik ve g\u00fcvenilirlik art\u0131\u015f\u0131 sa\u011flayabilirler.<\/p>\n<p>BirCloud olarak, m\u00fc\u015fterilerimize a\u015fa\u011f\u0131daki konularda destek oluyoruz:<\/p>\n<ul>\n<li><b>Argo CD Kurulumu ve Yap\u0131land\u0131rmas\u0131:<\/b> Argo CD&#8217;yi Kubernetes k\u00fcmenize kurman\u0131za ve yap\u0131land\u0131rman\u0131za yard\u0131mc\u0131 oluyoruz.<\/li>\n<li><b>GitOps E\u011fitimleri:<\/b> GitOps prensiplerini ve Argo CD&#8217;yi nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 \u00f6\u011freten e\u011fitimler d\u00fczenliyoruz.<\/li>\n<li><b>\u00d6zelle\u015ftirilmi\u015f \u00c7\u00f6z\u00fcmler:<\/b> M\u00fc\u015fterilerimizin \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re \u00f6zelle\u015ftirilmi\u015f Argo CD \u00e7\u00f6z\u00fcmleri geli\u015ftiriyoruz.<\/li>\n<li><b>Destek ve Dan\u0131\u015fmanl\u0131k:<\/b> Argo CD ile ilgili her t\u00fcrl\u00fc sorunuzda size destek oluyoruz.<\/li>\n<\/ul>\n<p>A\u00e7\u0131k kaynak kodlu \u00e7\u00f6z\u00fcmlere olan ba\u011fl\u0131l\u0131\u011f\u0131m\u0131zla, m\u00fc\u015fterilerimizin ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131n\u0131 ve esnekli\u011fini korumalar\u0131na yard\u0131mc\u0131 oluyoruz. Argo CD gibi a\u00e7\u0131k kaynakl\u0131 ara\u00e7lar, m\u00fc\u015fterilerimizin bulut bili\u015fim stratejilerini daha etkin bir \u015fekilde uygulamalar\u0131na olanak tan\u0131r.<\/p>\n<h2>Sonu\u00e7: GitOps ile S\u00fcrekli Teslimat\u0131n Gelece\u011fi<\/h2>\n<p>Argo CD, GitOps prensiplerini hayata ge\u00e7irmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r ve s\u00fcrekli teslimat s\u00fcre\u00e7lerinde \u00f6nemli bir rol oynamaktad\u0131r. Uygulama da\u011f\u0131t\u0131mlar\u0131n\u0131 daha g\u00fcvenilir, izlenebilir ve otomatik hale getirerek, geli\u015ftirme ve operasyon ekiplerinin daha verimli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. BirCloud olarak, m\u00fc\u015fterilerimizin Argo CD&#8217;yi etkin bir \u015fekilde kullanmalar\u0131na yard\u0131mc\u0131 olmak i\u00e7in \u00e7e\u015fitli hizmetler sunuyoruz. GitOps ile s\u00fcrekli teslimat\u0131n gelece\u011fi parlak ve BirCloud olarak, bu gelece\u011fe katk\u0131da bulunmaktan mutluluk duyuyoruz.<\/p>\n<p>Umar\u0131m bu blog yaz\u0131s\u0131, Argo CD ve GitOps hakk\u0131nda size faydal\u0131 bilgiler sa\u011flam\u0131\u015ft\u0131r. Herhangi bir sorunuz veya yorumunuz varsa, l\u00fctfen bizimle ileti\u015fime ge\u00e7mekten \u00e7ekinmeyin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Argo CD ile GitOps prensiplerini kullanarak s\u00fcrekli teslimat s\u00fcre\u00e7lerinizi nas\u0131l otomatikle\u015ftirebilece\u011finizi, avantajlar\u0131n\u0131 ve pratik kullan\u0131m senaryolar\u0131n\u0131 ke\u015ffedin. BirCloud uzmanl\u0131\u011f\u0131yla uygulama da\u011f\u0131t\u0131m\u0131nda devrim yarat\u0131n.<\/p>\n","protected":false},"author":1,"featured_media":2674,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[160],"tags":[174,183,175,155,182],"class_list":["post-2675","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bulut-bilisim","tag-argo-cd","tag-ci-cd","tag-gitops","tag-kubernetes","tag-surekli-teslimat"],"_links":{"self":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts\/2675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/comments?post=2675"}],"version-history":[{"count":0,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/posts\/2675\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/media\/2674"}],"wp:attachment":[{"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/media?parent=2675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/categories?post=2675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bircloud.com\/cloud\/index.php\/wp-json\/wp\/v2\/tags?post=2675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}