{"id":37077,"date":"2025-12-27T03:30:34","date_gmt":"2025-12-27T00:30:34","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/"},"modified":"2025-12-27T03:30:34","modified_gmt":"2025-12-27T00:30:34","slug":"aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/","title":{"rendered":"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD"},"content":{"rendered":"<h2>AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen yaz\u0131l\u0131m d\u00fcnyas\u0131nda, uygulamalar\u0131n esneklik, \u00f6l\u00e7eklenebilirlik ve h\u0131zl\u0131 teslimat yetenekleri kritik \u00f6neme sahiptir. Mikroservis mimarisi, bu ihtiya\u00e7lar\u0131 kar\u015f\u0131lamak i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunsa da, bu hizmetlerin da\u011f\u0131t\u0131m\u0131 ve y\u00f6netimi karma\u015f\u0131k bir s\u00fcre\u00e7 olabilir. AWS EKS (Elastic Kubernetes Service) ile Kubernetes&#8217;in g\u00fcc\u00fcn\u00fc bulut ortam\u0131nda kullan\u0131rken, Jenkins ile s\u00fcrekli entegrasyon (CI), Docker ile konteynerle\u015ftirme ve Argo CD ile GitOps tabanl\u0131 s\u00fcrekli da\u011f\u0131t\u0131m (CD) yakla\u015f\u0131mlar\u0131n\u0131 birle\u015ftirerek, u\u00e7tan uca otomatize edilmi\u015f, verimli ve g\u00fcvenilir bir CI\/CD boru hatt\u0131 olu\u015fturabiliriz. Bu makale, bu bile\u015fenlerin nas\u0131l entegre edilece\u011fini ve mikroservislerinizi sorunsuz bir \u015fekilde nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.<\/p>\n<h3>Mikroservis Mimarisi ve AWS EKS&#8217;in Rol\u00fc<\/h3>\n<p>Modern uygulama geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan mikroservis mimarisi, b\u00fcy\u00fck ve monolitik uygulamalar\u0131 daha k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z ve y\u00f6netilebilir hizmetlere b\u00f6lerek geli\u015ftirme s\u00fcre\u00e7lerini h\u0131zland\u0131r\u0131r, hata izolasyonunu art\u0131r\u0131r ve \u00f6l\u00e7eklenebilirli\u011fi kolayla\u015ft\u0131r\u0131r. Ancak bu ba\u011f\u0131ms\u0131z hizmetlerin ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc y\u00f6netmek, da\u011f\u0131tmak ve izlemek geleneksel y\u00f6ntemlerle zorlay\u0131c\u0131 olabilir.<\/p>\n<h3>Mikroservislerin Temelleri ve Avantajlar\u0131<\/h3>\n<p>Mikroservisler, her biri kendi i\u015f mant\u0131\u011f\u0131na, veri taban\u0131na ve API&#8217;sine sahip, ba\u011f\u0131ms\u0131z olarak geli\u015ftirilebilen, da\u011f\u0131t\u0131labilen ve \u00f6l\u00e7eklenebilen k\u00fc\u00e7\u00fck hizmetlerdir. Bu yap\u0131, farkl\u0131 ekiplerin ayn\u0131 anda farkl\u0131 hizmetler \u00fczerinde \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r, teknoloji y\u0131\u011f\u0131n\u0131 esnekli\u011fi sunar ve bir hizmetteki hatan\u0131n t\u00fcm sistemi \u00e7\u00f6kertmesini engeller. Bu avantajlar, \u00f6zellikle b\u00fcy\u00fck ve karma\u015f\u0131k sistemler i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<h3>AWS EKS Nedir ve Neden Tercih Edilmeli?<\/h3>\n<p>Amazon Elastic Kubernetes Service (EKS), AWS bulutunda Kubernetes k\u00fcmelerini \u00e7al\u0131\u015ft\u0131rmay\u0131 kolayla\u015ft\u0131ran y\u00f6netilen bir hizmettir. EKS, Kubernetes kontrol d\u00fczlemini (master d\u00fc\u011f\u00fcmler) sizin i\u00e7in y\u00f6netir, b\u00f6ylece altyap\u0131 y\u00f6netimi y\u00fck\u00fcn\u00fc azalt\u0131r ve y\u00fcksek eri\u015filebilirlik, g\u00fcvenlik ve \u00f6l\u00e7eklenebilirlik sa\u011flar. Mikroservislerinizi EKS \u00fczerinde \u00e7al\u0131\u015ft\u0131rmak, Kubernetes&#8217;in g\u00fc\u00e7l\u00fc orkestrasyon yeteneklerinden faydalan\u0131rken, AWS&#8217;in g\u00fcvenilir ve \u00f6l\u00e7eklenebilir altyap\u0131s\u0131n\u0131 kullanman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>EKS K\u00fcmesi Kurulumuna Genel Bak\u0131\u015f<\/h3>\n<p>EKS k\u00fcmesi kurulumu genellikle <code>eksctl<\/code> gibi ara\u00e7lar veya AWS Y\u00f6netim Konsolu \u00fczerinden ger\u00e7ekle\u015ftirilir. Bir EKS k\u00fcmesi olu\u015fturmak, kontrol d\u00fczlemini yap\u0131land\u0131rmay\u0131, worker d\u00fc\u011f\u00fcmlerini (EC2 \u00f6rnekleri) sa\u011flamay\u0131 ve bu d\u00fc\u011f\u00fcmlerin k\u00fcmeye kat\u0131lmas\u0131n\u0131 sa\u011flamay\u0131 i\u00e7erir. Ayr\u0131ca, VPC, alt a\u011flar, g\u00fcvenlik gruplar\u0131 gibi a\u011f yap\u0131land\u0131rmalar\u0131 da bu s\u00fcrecin \u00f6nemli bir par\u00e7as\u0131d\u0131r. Do\u011fru yap\u0131land\u0131r\u0131lm\u0131\u015f bir EKS k\u00fcmesi, mikroservisleriniz i\u00e7in sa\u011flam bir temel olu\u015fturur.<\/p>\n<h3>Docker ile Konteynerle\u015ftirme ve G\u00f6r\u00fcnt\u00fc Y\u00f6netimi<\/h3>\n<p>Mikroservis mimarisinin ve Kubernetes&#8217;in temelini konteynerler olu\u015fturur. Docker, uygulamalar\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 izole edilmi\u015f, ta\u015f\u0131nabilir birimler olan konteynerler i\u00e7inde paketlemeyi sa\u011flayan lider bir platformdur.<\/p>\n<h3>Docker Nedir ve Mikroservisler \u0130\u00e7in \u00d6nemi<\/h3>\n<p>Docker, uygulamalar\u0131n farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 garanti eder. Her mikroservis, kendi Docker konteyneri i\u00e7inde \u00e7al\u0131\u015farak ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini basitle\u015ftirir. Bu, &#8220;bir kez in\u015fa et, her yerde \u00e7al\u0131\u015ft\u0131r&#8221; felsefesini m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<h3>Dockerfile Olu\u015fturma ve G\u00f6r\u00fcnt\u00fc \u0130n\u015fa S\u00fcreci<\/h3>\n<p>Bir Dockerfile, Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc olu\u015fturmak i\u00e7in kullan\u0131lan talimatlar\u0131 i\u00e7eren metin tabanl\u0131 bir dosyad\u0131r. Bir mikroservis i\u00e7in tipik bir Dockerfile, temel bir i\u015fletim sistemi g\u00f6r\u00fcnt\u00fcs\u00fc se\u00e7mekle ba\u015flar, uygulama kodunu kopyalar, ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckler ve uygulaman\u0131n nas\u0131l ba\u015flat\u0131laca\u011f\u0131n\u0131 tan\u0131mlar. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-dockerfile\">\n# Temel Python g\u00f6r\u00fcnt\u00fcs\u00fc\nFROM python:3.9-slim-buster\n\n# \u00c7al\u0131\u015fma dizini olu\u015ftur\nWORKDIR \/app\n\n# Ba\u011f\u0131ml\u0131l\u0131klar\u0131 kopyala ve y\u00fckle\nCOPY requirements.txt .\nRUN pip install --no-cache-dir -r requirements.txt\n\n# Uygulama kodunu kopyala\nCOPY . .\n\n# Uygulaman\u0131n \u00e7al\u0131\u015faca\u011f\u0131 portu belirt\nEXPOSE 8000\n\n# Uygulamay\u0131 ba\u015flat\nCMD [\"python\", \"app.py\"]\n<\/pre>\n<p><\/code><\/p>\n<p>Bu Dockerfile, uygulaman\u0131z\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131yla birlikte bir Docker g\u00f6r\u00fcnt\u00fcs\u00fcne nas\u0131l d\u00f6n\u00fc\u015ft\u00fcr\u00fclece\u011fini g\u00f6sterir. Bu g\u00f6r\u00fcnt\u00fc daha sonra bir konteyner kay\u0131t defterine (registry) g\u00f6nderilir.<\/p>\n<h3>Amazon ECR (Elastic Container Registry) Kullan\u0131m\u0131<\/h3>\n<p>Amazon ECR, Docker konteyner g\u00f6r\u00fcnt\u00fclerinin depolanmas\u0131, y\u00f6netilmesi ve da\u011f\u0131t\u0131lmas\u0131 i\u00e7in tam olarak y\u00f6netilen bir AWS hizmetidir. ECR, AWS ekosistemiyle sorunsuz bir \u015fekilde entegre olur ve EKS k\u00fcmelerinizden g\u00f6r\u00fcnt\u00fclere g\u00fcvenli ve h\u0131zl\u0131 eri\u015fim sa\u011flar. G\u00f6r\u00fcnt\u00fcleri ECR'ye g\u00f6ndermek, CI\/CD boru hatt\u0131n\u0131z\u0131n \u00f6nemli bir ad\u0131m\u0131d\u0131r.<\/p>\n<h3>Jenkins ile S\u00fcrekli Entegrasyon (CI) Boru Hatt\u0131<\/h3>\n<p>Jenkins, a\u00e7\u0131k kaynakl\u0131, geni\u015fletilebilir bir otomasyon sunucusu olup, s\u00fcrekli entegrasyon ve s\u00fcrekli teslimat (CI\/CD) boru hatlar\u0131n\u0131 otomatikle\u015ftirmek i\u00e7in yayg\u0131n olarak kullan\u0131l\u0131r. Mikroservis mimarisinde, her kod de\u011fi\u015fikli\u011finin otomatik olarak test edilmesini ve do\u011frulanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Jenkins'in Rol\u00fc ve Kurulumu<\/h3>\n<p>Jenkins, kod deposundaki de\u011fi\u015fiklikleri izler, otomatik olarak derleme, test ve Docker g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturma i\u015flemlerini tetikler. AWS \u00fczerinde Jenkins'i bir EC2 \u00f6rne\u011fine kurabilir veya bir EKS k\u00fcmesi i\u00e7inde bir Pod olarak \u00e7al\u0131\u015ft\u0131rabilirsiniz. Kurulum sonras\u0131 gerekli eklentilerin (\u00f6rne\u011fin Docker, Kubernetes, AWS kimlik bilgileri) yap\u0131land\u0131r\u0131lmas\u0131 \u00f6nemlidir.<\/p>\n<h3>Jenkinsfile ile Deklaratif Boru Hatt\u0131 Tan\u0131mlama<\/h3>\n<p>Jenkins boru hatlar\u0131, genellikle kod depolar\u0131nda <code>Jenkinsfile<\/code> ad\u0131 verilen dosyalar arac\u0131l\u0131\u011f\u0131yla tan\u0131mlan\u0131r. Bu deklaratif yakla\u015f\u0131m, boru hatt\u0131 yap\u0131land\u0131rmas\u0131n\u0131 kodla birlikte s\u00fcr\u00fcm kontrol\u00fcnde tutmay\u0131 sa\u011flar. \u0130\u015fte basit bir CI a\u015famas\u0131n\u0131 g\u00f6steren Jenkinsfile snippet'i:<\/p>\n<pre><code class=\"language-groovy\">\npipeline {\n    agent any\n    stages {\n        stage('Checkout Code') {\n            steps {\n                git 'https:\/\/github.com\/your-repo\/your-microservice.git'\n            }\n        }\n        stage('Build Docker Image') {\n            steps {\n                script {\n                    def appImage = docker.build(\"my-microservice:${env.BUILD_ID}\")\n                    appImage.push()\n                    \/\/ ECR'ye push i\u00e7in kimlik do\u011frulama ve etiketleme ad\u0131mlar\u0131 eklenmeli\n                }\n            }\n        }\n        stage('Run Tests') {\n            steps {\n                sh 'python -m pytest' \/\/ Varsay\u0131msal test komutu\n            }\n        }\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<h3>CI Ad\u0131mlar\u0131: Kod Derleme, Test Etme, Docker G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve ECR'ye G\u00f6nderme<\/h3>\n<p>Jenkins boru hatt\u0131 genellikle \u015fu ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li><strong>Kod \u00c7ekme:<\/strong> Git deposundan en son kodu \u00e7eker.<\/li>\n<li><strong>Derleme:<\/strong> Uygulama kodunu derler (e\u011fer derleme gerekiyorsa).<\/li>\n<li><strong>Test Etme:<\/strong> Birim testleri, entegrasyon testleri gibi otomatik testleri \u00e7al\u0131\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Docker G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma:<\/strong> Uygulama kodundan bir Docker g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturur.<\/li>\n<li><strong>G\u00f6r\u00fcnt\u00fcy\u00fc ECR'ye G\u00f6nderme:<\/strong> Olu\u015fturulan Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc Amazon ECR'ye iter. Bu g\u00f6r\u00fcnt\u00fc, daha sonra Kubernetes taraf\u0131ndan da\u011f\u0131t\u0131m i\u00e7in kullan\u0131lacakt\u0131r.<\/li>\n<\/ol>\n<h3>Kubernetes ile Da\u011f\u0131t\u0131m ve Y\u00f6netim<\/h3>\n<p>Kubernetes, konteynerle\u015ftirilmi\u015f i\u015f y\u00fcklerini ve hizmetleri otomatikle\u015ftirmek, \u00f6l\u00e7eklendirmek ve y\u00f6netmek i\u00e7in a\u00e7\u0131k kaynakl\u0131 bir platformdur. EKS \u00fczerinde, Kubernetes'in g\u00fcc\u00fcnden tam anlam\u0131yla faydalanabiliriz.<\/p>\n<h3>Kubernetes Temel Kavramlar\u0131 (Pod, Deployment, Service)<\/h3>\n<ul>\n<li><strong>Pod:<\/strong> Kubernetes'teki en k\u00fc\u00e7\u00fck da\u011f\u0131t\u0131labilir birimdir. Bir veya daha fazla konteyneri bar\u0131nd\u0131r\u0131r ve ortak depolama ile a\u011f kaynaklar\u0131n\u0131 payla\u015f\u0131r.<\/li>\n<li><strong>Deployment:<\/strong> Pod'lar\u0131n deklaratif olarak g\u00fcncellenmesini ve y\u00f6netilmesini sa\u011flar. Bir uygulaman\u0131n belirli bir s\u00fcr\u00fcm\u00fcn\u00fc \u00e7al\u0131\u015ft\u0131ran Pod'lar\u0131n say\u0131s\u0131n\u0131 ve nas\u0131l g\u00fcncellenece\u011fini tan\u0131mlar.<\/li>\n<li><strong>Service:<\/strong> Bir grup Pod'a a\u011f eri\u015fimi sa\u011flayan soyut bir yap\u0131d\u0131r. Y\u00fck dengeleme ve hizmet ke\u015ffi i\u00e7in kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<h3>Mikroservisler \u0130\u00e7in Kubernetes Manifestleri<\/h3>\n<p>Kubernetes'e da\u011f\u0131t\u0131lacak her mikroservis i\u00e7in YAML format\u0131nda manifest dosyalar\u0131 olu\u015fturulur. Bu dosyalar, Deployment, Service, Ingress gibi Kubernetes kaynaklar\u0131n\u0131 tan\u0131mlar. \u0130\u015fte basit bir Deployment ve Service manifesti \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-yaml\">\n# deployment.yaml\napiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: my-microservice-deployment\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: my-microservice\n  template:\n    metadata:\n      labels:\n        app: my-microservice\n    spec:\n      containers:\n      - name: my-microservice\n        image: <AWS_ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com\/my-microservice:latest # ECR g\u00f6r\u00fcnt\u00fcs\u00fc\n        ports:\n        - containerPort: 8000\n---\n# service.yaml\napiVersion: v1\nkind: Service\nmetadata:\n  name: my-microservice-service\nspec:\n  selector:\n    app: my-microservice\n  ports:\n    - protocol: TCP\n      port: 80\n      targetPort: 8000\n  type: LoadBalancer # D\u0131\u015far\u0131dan eri\u015fim i\u00e7in\n<\/pre>\n<p><\/code><\/p>\n<h3>EKS \u00dczerinde Da\u011f\u0131t\u0131m Stratejileri<\/h3>\n<p>Kubernetes, farkl\u0131 da\u011f\u0131t\u0131m stratejilerini destekler: Rolling Update (varsay\u0131lan), Blue\/Green ve Canary. Bu stratejiler, yeni s\u00fcr\u00fcmlerin risksiz bir \u015fekilde \u00fcretime al\u0131nmas\u0131n\u0131 sa\u011flar. Argo CD gibi ara\u00e7lar, bu stratejileri GitOps prensipleriyle entegre ederek daha kontroll\u00fc bir da\u011f\u0131t\u0131m s\u00fcreci sunar.<\/p>\n<h3>Argo CD ile S\u00fcrekli Da\u011f\u0131t\u0131m (CD) ve GitOps<\/h3>\n<p>Geleneksel CI\/CD boru hatlar\u0131nda, da\u011f\u0131t\u0131m ad\u0131m\u0131 genellikle Jenkins gibi bir CI arac\u0131 taraf\u0131ndan tetiklenir. Ancak GitOps yakla\u015f\u0131m\u0131, altyap\u0131 ve uygulama konfig\u00fcrasyonunu Git deposunda tek kaynak olarak tutarak, da\u011f\u0131t\u0131m\u0131n daha g\u00fcvenli ve denetlenebilir olmas\u0131n\u0131 sa\u011flar. Argo CD, Kubernetes i\u00e7in GitOps tabanl\u0131 deklaratif bir s\u00fcrekli da\u011f\u0131t\u0131m arac\u0131d\u0131r.<\/p>\n<h3>GitOps Nedir ve Neden Argo CD?<\/h3>\n<p>GitOps, operasyonel s\u00fcre\u00e7leri Git kullanarak otomatikle\u015ftiren bir yakla\u015f\u0131md\u0131r. Uygulama ve altyap\u0131 durumu, Git deposundaki deklaratif tan\u0131m dosyalar\u0131yla e\u015fle\u015fmelidir. Argo CD, Git deposundaki Kubernetes manifestlerini s\u00fcrekli olarak izler ve k\u00fcmedeki ger\u00e7ek durumu bu deklaratif durumla senkronize eder. Bu, manuel m\u00fcdahaleyi azalt\u0131r, hata olas\u0131l\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr ve geri alma i\u015flemlerini kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>Argo CD Kurulumu ve Temel Konfig\u00fcrasyon<\/h3>\n<p>Argo CD, Kubernetes k\u00fcmesine basit YAML manifestleri ile kurulabilir. Kurulumdan sonra, Argo CD UI veya CLI arac\u0131l\u0131\u011f\u0131yla Git depolar\u0131n\u0131z\u0131 ve da\u011f\u0131tmak istedi\u011finiz uygulamalar\u0131 tan\u0131mlars\u0131n\u0131z. Argo CD, otomatik senkronizasyon, durum takibi ve g\u00f6rselle\u015ftirme gibi \u00f6zellikler sunar.<\/p>\n<h3>Uygulama Tan\u0131mlama ve Senkronizasyon S\u00fcreci<\/h3>\n<p>Argo CD'de bir uygulama tan\u0131mlamak, genellikle uygulaman\u0131n Kubernetes manifestlerinin bulundu\u011fu Git deposunun URL'sini, hedef Kubernetes k\u00fcmesini ve manifestlerin yolunu belirtmeyi i\u00e7erir. Argo CD, bu Git deposunu d\u00fczenli olarak yoklar ve herhangi bir de\u011fi\u015fiklik alg\u0131lad\u0131\u011f\u0131nda, k\u00fcmedeki kaynaklar\u0131 Git'teki deklaratif durumla e\u015fle\u015fecek \u015fekilde otomatik olarak g\u00fcnceller veya manuel senkronizasyon se\u00e7ene\u011fi sunar.<\/p>\n<pre><code class=\"language-yaml\">\n# argocd-application.yaml\napiVersion: argoproj.io\/v1alpha1\nkind: Application\nmetadata:\n  name: my-microservice-app\n  namespace: argocd\nspec:\n  project: default\n  source:\n    repoURL: https:\/\/github.com\/your-org\/your-gitops-repo.git # Kubernetes manifestlerinin oldu\u011fu repo\n    targetRevision: HEAD\n    path: k8s\/my-microservice # Manifestlerin repo i\u00e7indeki yolu\n  destination:\n    server: https:\/\/kubernetes.default.svc # Hedef k\u00fcme\n    namespace: default\n  syncPolicy:\n    automated:\n      prune: true\n      selfHeal: true\n<\/pre>\n<p><\/code><\/p>\n<h3>U\u00e7tan Uca CI\/CD Boru Hatt\u0131n\u0131n Birle\u015ftirilmesi<\/h3>\n<p>\u015eimdiye kadar ele ald\u0131\u011f\u0131m\u0131z t\u00fcm bile\u015fenleri bir araya getirerek, geli\u015ftirme ortam\u0131ndan \u00fcretime kadar tam otomatik bir boru hatt\u0131 olu\u015fturabiliriz.<\/p>\n<h3>Jenkins ve Argo CD Entegrasyonu<\/h3>\n<p>Jenkins, CI a\u015famas\u0131n\u0131 (kod \u00e7ekme, derleme, test, Docker g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturma ve ECR'ye g\u00f6nderme) tamamlad\u0131ktan sonra, bir sonraki ad\u0131mda Argo CD'yi tetikleyebilir. Bu tetikleme genellikle Git deposundaki Kubernetes manifestlerinin (\u00f6rne\u011fin, Deployment YAML dosyas\u0131ndaki Docker g\u00f6r\u00fcnt\u00fc etiketi) g\u00fcncellenmesiyle yap\u0131l\u0131r. Jenkins, yeni olu\u015fturulan Docker g\u00f6r\u00fcnt\u00fcs\u00fc etiketiyle Kubernetes manifestini g\u00fcncelleyip Git'e push etti\u011finde, Argo CD bu de\u011fi\u015fikli\u011fi alg\u0131lar ve otomatik olarak EKS k\u00fcmesindeki uygulamay\u0131 g\u00fcnceller.<\/p>\n<h3>Boru Hatt\u0131 Ak\u0131\u015f\u0131: Geli\u015ftirmeden \u00dcretime<\/h3>\n<ol>\n<li>Geli\u015ftirici, kodunu Git deposuna (\u00f6rn. GitHub, GitLab) push eder.<\/li>\n<li>Jenkins, bu de\u011fi\u015fikli\u011fi alg\u0131lar ve CI boru hatt\u0131n\u0131 ba\u015flat\u0131r.<\/li>\n<li>Jenkins, kodu derler, testleri \u00e7al\u0131\u015ft\u0131r\u0131r ve yeni bir Docker g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturur.<\/li>\n<li>Olu\u015fturulan Docker g\u00f6r\u00fcnt\u00fcs\u00fc Amazon ECR'ye g\u00f6nderilir.<\/li>\n<li>Jenkins, uygulaman\u0131n Kubernetes manifestindeki (GitOps deposunda bulunan) Docker g\u00f6r\u00fcnt\u00fc etiketini yeni etiketle g\u00fcnceller ve bu de\u011fi\u015fikli\u011fi GitOps deposuna push eder.<\/li>\n<li>Argo CD, GitOps deposundaki de\u011fi\u015fikli\u011fi alg\u0131lar.<\/li>\n<li>Argo CD, EKS k\u00fcmesindeki uygulaman\u0131n durumunu Git'teki deklaratif durumla senkronize eder, b\u00f6ylece yeni Docker g\u00f6r\u00fcnt\u00fcs\u00fcne sahip Pod'lar da\u011f\u0131t\u0131l\u0131r.<\/li>\n<li>Yeni s\u00fcr\u00fcm, EKS \u00fczerinde canl\u0131ya al\u0131n\u0131r.<\/li>\n<\/ol>\n<h3>\u0130zleme ve G\u00fcnl\u00fckleme (Prometheus, Grafana, CloudWatch)<\/h3>\n<p>Uygulamalar\u0131n sa\u011fl\u0131kl\u0131 \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in kapsaml\u0131 izleme ve g\u00fcnl\u00fckleme \u00e7\u00f6z\u00fcmleri entegre etmek hayati \u00f6neme sahiptir. Prometheus metrik toplama, Grafana g\u00f6rselle\u015ftirme i\u00e7in, AWS CloudWatch ise EKS k\u00fcmesi g\u00fcnl\u00fckleri ve metrikleri i\u00e7in kullan\u0131labilir. Bu ara\u00e7lar, olas\u0131 sorunlar\u0131 h\u0131zl\u0131ca tespit etmenize ve \u00e7\u00f6zmenize yard\u0131mc\u0131 olur.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>AWS EKS \u00fczerinde Jenkins, Docker, Kubernetes ve Argo CD'yi bir araya getiren bu u\u00e7tan uca CI\/CD boru hatt\u0131, mikroservislerinizi geli\u015ftirme, test etme ve da\u011f\u0131tma \u015feklinizi k\u00f6kten d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu entegre yakla\u015f\u0131m, manuel hatalar\u0131 azalt\u0131r, da\u011f\u0131t\u0131m h\u0131z\u0131n\u0131 art\u0131r\u0131r, sistem kararl\u0131l\u0131\u011f\u0131n\u0131 iyile\u015ftirir ve ekiplerin daha verimli \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r. GitOps felsefesiyle birle\u015fen bu g\u00fc\u00e7l\u00fc ara\u00e7lar, modern bulut tabanl\u0131 uygulamalar\u0131n\u0131z i\u00e7in \u00f6l\u00e7eklenebilir, g\u00fcvenilir ve s\u00fcrd\u00fcr\u00fclebilir bir da\u011f\u0131t\u0131m stratejisi sunar. Art\u0131k karma\u015f\u0131k altyap\u0131 y\u00f6netimi yerine, yenilik\u00e7i \u00f6zellikler geli\u015ftirmeye odaklanabilirsiniz.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<dl>\n<dt>Argo CD yerine Jenkins ile CD yap\u0131labilir mi?<\/dt>\n<dd>Evet, Jenkins ile de CD yap\u0131labilir. Ancak Argo CD'nin GitOps odakl\u0131 yap\u0131s\u0131, Kubernetes da\u011f\u0131t\u0131mlar\u0131 i\u00e7in daha deklaratif, g\u00fcvenli ve denetlenebilir bir yakla\u015f\u0131m sunar. Argo CD, k\u00fcme durumunu Git ile senkronize tutarak manuel m\u00fcdahaleyi ve konfig\u00fcrasyon kaymas\u0131n\u0131 (drift) minimize eder.<\/dd>\n<dt>EKS yerine farkl\u0131 bir Kubernetes hizmeti kullan\u0131labilir mi?<\/dt>\n<dd>Kesinlikle. Bu makalede a\u00e7\u0131klanan prensipler ve ara\u00e7lar (Jenkins, Docker, Kubernetes, Argo CD) bulut sa\u011flay\u0131c\u0131s\u0131ndan ba\u011f\u0131ms\u0131zd\u0131r. Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS) veya kendi y\u00f6netti\u011finiz bir Kubernetes k\u00fcmesi \u00fczerinde de benzer bir boru hatt\u0131 kurulabilir. AWS ECR yerine di\u011fer konteyner kay\u0131t defterleri (Docker Hub, GitLab Container Registry) kullan\u0131labilir.<\/dd>\n<dt>Bu kurulumun maliyetleri nelerdir?<\/dt>\n<dd>Maliyetler, kullan\u0131lan AWS kaynaklar\u0131na (EKS kontrol d\u00fczlemi, EC2 worker d\u00fc\u011f\u00fcmleri, ECR depolama, EBS birimleri, a\u011f trafi\u011fi), Jenkins sunucusunun boyutuna ve trafi\u011fe ba\u011fl\u0131 olarak de\u011fi\u015fir. EKS'in kendisi kontrol d\u00fczlemi i\u00e7in saatlik bir \u00fccret al\u0131r. EC2 \u00f6rnekleri ve di\u011fer AWS hizmetleri kulland\u0131k\u00e7a \u00f6de modeliyle faturaland\u0131r\u0131l\u0131r. Maliyetleri optimize etmek i\u00e7in do\u011fru boyutland\u0131rma ve gereksiz kaynaklar\u0131 kapatma \u00f6nemlidir.<\/dd>\n<dt>G\u00fcvenlik bu s\u00fcre\u00e7te nas\u0131l sa\u011flan\u0131r?<\/dt>\n<dd>G\u00fcvenlik, boru hatt\u0131n\u0131n her a\u015famas\u0131nda kritik \u00f6neme sahiptir. \u015eunlar\u0131 i\u00e7ermelidir:<\/p>\n<ul>\n<li><strong>Kimlik ve Eri\u015fim Y\u00f6netimi (IAM):<\/strong> AWS IAM rolleri ve politikalar\u0131 ile Jenkins, EKS ve ECR'ye minimum yetki prensibiyle eri\u015fim sa\u011flanmal\u0131.<\/li>\n<li><strong>A\u011f G\u00fcvenli\u011fi:<\/strong> VPC, g\u00fcvenlik gruplar\u0131 ve a\u011f ACL'leri ile EKS k\u00fcmesine ve uygulamalara eri\u015fim k\u0131s\u0131tlanmal\u0131.<\/li>\n<li><strong>Konteyner G\u00fcvenli\u011fi:<\/strong> G\u00fcvenli temel g\u00f6r\u00fcnt\u00fcler kullanma, g\u00fcvenlik taramalar\u0131 yapma (\u00f6rn. Clair, Trivy) ve \u00e7al\u0131\u015fma zaman\u0131 g\u00fcvenli\u011fi (\u00f6rn. Falco) uygulama.<\/li>\n<li><strong>Kod G\u00fcvenli\u011fi:<\/strong> Statik kod analizi (SAST) ve dinamik kod analizi (DAST) ara\u00e7lar\u0131 ile g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etme.<\/li>\n<li><strong>S\u0131rlar Y\u00f6netimi:<\/strong> AWS Secrets Manager veya Kubernetes Secrets gibi ara\u00e7larla hassas verileri g\u00fcvenli bir \u015fekilde y\u00f6netme.<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"Modern uygulama geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan mikroservis mimarisi, b\u00fcy\u00fck ve monolitik uygulamalar\u0131 daha k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z ve y\u00f6netile&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1407],"tags":[],"class_list":{"0":"post-37077","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-docker","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD\" \/>\n<meta property=\"og:description\" content=\"Modern uygulama geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan mikroservis mimarisi, b\u00fcy\u00fck ve monolitik uygulamalar\u0131 daha k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z ve y\u00f6netile...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-27T00:30:34+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD\",\"datePublished\":\"2025-12-27T00:30:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\"},\"wordCount\":2437,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Docker\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\",\"name\":\"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-27T00:30:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD","og_description":"Modern uygulama geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan mikroservis mimarisi, b\u00fcy\u00fck ve monolitik uygulamalar\u0131 daha k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z ve y\u00f6netile...","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-27T00:30:34+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD","datePublished":"2025-12-27T00:30:34+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/"},"wordCount":2437,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Docker"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/","name":"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-27T00:30:34+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-eks-uzerinde-uctan-uca-mikroservis-dagitimi-jenkins-docker-kubernetes-ve-argo-cd-ile-ci-cd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS EKS \u00dczerinde U\u00e7tan Uca Mikroservis Da\u011f\u0131t\u0131m\u0131: Jenkins, Docker, Kubernetes ve Argo CD ile CI\/CD"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37077"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37077\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}