{"id":264,"date":"2026-05-22T12:00:00","date_gmt":"2026-05-22T12:00:00","guid":{"rendered":"https:\/\/konteynerium.com\/?p=206"},"modified":"2026-10-06T11:34:00","modified_gmt":"2026-10-06T11:34:00","slug":"docker-compose-vs-kubernetes-hangisini-secmelisiniz","status":"publish","type":"karsilastirma","link":"https:\/\/konteynerium.com\/index.php\/karsilastirma\/docker-compose-vs-kubernetes-hangisini-secmelisiniz\/","title":{"rendered":"Docker Compose vs Kubernetes: Hangisini Se\u00e7melisiniz?"},"content":{"rendered":"<p>Docker Compose ve Kubernetes \u00e7o\u011fu zaman birbirinin yerine ge\u00e7ebilirmi\u015f gibi konu\u015fulur, ama asl\u0131nda farkl\u0131 \u00f6l\u00e7ekler i\u00e7in tasarlanm\u0131\u015f iki farkl\u0131 ara\u00e7t\u0131r. Compose, tek bir makinede birden fazla container&#8217;\u0131 tan\u0131mlay\u0131p aya\u011fa kald\u0131rmak i\u00e7in bir &#8220;tarif dosyas\u0131&#8221;d\u0131r; Kubernetes ise onlarca sunucuya yay\u0131lm\u0131\u015f container&#8217;lar\u0131 otomatik olarak y\u00f6netmek i\u00e7in bir orkestrasyon platformudur.<\/p>\n<h2>En b\u00fcy\u00fck fark: tek makine vs. k\u00fcme<\/h2>\n<p>Compose, <code>docker-compose.yml<\/code> dosyas\u0131ndaki servisleri tek bir Docker host&#8217;unda aya\u011fa kald\u0131r\u0131r. Bir sunucu \u00e7\u00f6kerse, o sunucudaki t\u00fcm container&#8217;lar da durur \u2014 ba\u015fka bir sunucuya otomatik ta\u015f\u0131nmaz. Kubernetes ise birden fazla sunucudan (node) olu\u015fan bir k\u00fcme \u00fczerinde \u00e7al\u0131\u015f\u0131r; bir node \u00e7\u00f6kerse, \u00fczerindeki pod&#8217;lar\u0131 otomatik olarak sa\u011fl\u0131kl\u0131 bir node&#8217;a ta\u015f\u0131r (self-healing).<\/p>\n<h2>Kar\u015f\u0131la\u015ft\u0131rma tablosu<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>Docker Compose<\/th>\n<th>Kubernetes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u00c7al\u0131\u015fma ortam\u0131<\/td>\n<td>Tek makine (tek Docker host)<\/td>\n<td>\u00c7ok node&#8217;lu k\u00fcme<\/td>\n<\/tr>\n<tr>\n<td>Otomatik \u00f6l\u00e7ekleme<\/td>\n<td>Yok (manuel <code>--scale<\/code>)<\/td>\n<td>Var (HPA \u2014 Horizontal Pod Autoscaler)<\/td>\n<\/tr>\n<tr>\n<td>Kendi kendini onarma<\/td>\n<td>Yok, container \u00e7\u00f6kerse restart policy&#8217;ye ba\u011fl\u0131<\/td>\n<td>Var \u2014 sa\u011fl\u0131ks\u0131z pod otomatik yeniden ba\u015flat\u0131l\u0131r\/ta\u015f\u0131n\u0131r<\/td>\n<\/tr>\n<tr>\n<td>Servis ke\u015ffi<\/td>\n<td>Basit, container ad\u0131 \u00fczerinden<\/td>\n<td>DNS tabanl\u0131, dahili Service kayna\u011f\u0131yla<\/td>\n<\/tr>\n<tr>\n<td>\u00d6\u011frenme e\u011frisi<\/td>\n<td>D\u00fc\u015f\u00fck, birka\u00e7 saatte \u00f6\u011frenilir<\/td>\n<td>Y\u00fcksek, kavram say\u0131s\u0131 fazla (Pod, Deployment, Service, Ingress\u2026)<\/td>\n<\/tr>\n<tr>\n<td>Tipik kullan\u0131m<\/td>\n<td>Yerel geli\u015ftirme, k\u00fc\u00e7\u00fck tek sunucu production<\/td>\n<td>Production, y\u00fcksek eri\u015filebilirlik gereken sistemler<\/td>\n<\/tr>\n<tr>\n<td>Yap\u0131land\u0131rma format\u0131<\/td>\n<td>YAML (docker-compose.yml)<\/td>\n<td>YAML (manifest&#8217;ler: Deployment, Service, vb.)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Neden ikisi bir arada kullan\u0131l\u0131r?<\/h2>\n<p>Pek \u00e7ok ekip, geli\u015ftirme ortam\u0131nda Compose kullan\u0131p production&#8217;da Kubernetes&#8217;e ge\u00e7er. Bunun sebebi basit: Compose dosyas\u0131 saniyeler i\u00e7inde aya\u011fa kalkar, hata ay\u0131klamas\u0131 kolayd\u0131r; Kubernetes&#8217;in kurulum ve \u00f6\u011frenme maliyeti geli\u015ftirme a\u015famas\u0131nda gereksiz bir y\u00fck olur. Compose&#8217;da do\u011frulanan servis tan\u0131mlar\u0131, production&#8217;a ge\u00e7erken Kubernetes manifest&#8217;lerine \u00e7evrilir (baz\u0131 ara\u00e7lar \u2014 \u00f6rne\u011fin <code>kompose<\/code> \u2014 bu d\u00f6n\u00fc\u015f\u00fcm\u00fc otomatikle\u015ftirebilir).<\/p>\n<div class=\"callout\">\n  <span class=\"glyph\">\u21c4<\/span><\/p>\n<p>Kubernetes&#8217;i &#8220;b\u00fcy\u00fct\u00fclm\u00fc\u015f Compose&#8221; olarak d\u00fc\u015f\u00fcnmek yan\u0131lt\u0131c\u0131d\u0131r. Compose bir <em>\u00e7al\u0131\u015ft\u0131rma tarifi<\/em>yken, Kubernetes bir <em>istenen durum (desired state) y\u00f6neticisidir<\/em> \u2014 siz &#8220;3 kopya \u00e7al\u0131\u015fs\u0131n&#8221; dersiniz, Kubernetes bunu s\u00fcrekli olarak do\u011fru tutar.<\/p>\n<\/div>\n<h2>Hangisini se\u00e7meli?<\/h2>\n<ul>\n<li><strong>Docker Compose:<\/strong> Yerel geli\u015ftirme ortam\u0131 kurmak, k\u00fc\u00e7\u00fck bir projeyi tek sunucuda yay\u0131nlamak veya ekibinizin operasyon kapasitesi s\u0131n\u0131rl\u0131ysa.<\/li>\n<li><strong>Kubernetes:<\/strong> Y\u00fcksek eri\u015filebilirlik, otomatik \u00f6l\u00e7ekleme, \u00e7oklu sunucuya dayan\u0131kl\u0131l\u0131k gerekiyorsa veya zaten bir bulut sa\u011flay\u0131c\u0131n\u0131n y\u00f6netilen Kubernetes hizmetini (EKS, GKE, AKS) kullan\u0131yorsan\u0131z.<\/li>\n<\/ul>\n<p>\u0130kisi de ayn\u0131 temel birimi (container) y\u00f6netir, bu y\u00fczden bir teknolojiden di\u011ferine ge\u00e7i\u015f kavramsal olarak zor de\u011fildir \u2014 as\u0131l fark, \u00f6l\u00e7ek b\u00fcy\u00fcd\u00fck\u00e7e elle yap\u0131lan i\u015flerin ne kadar\u0131n\u0131n otomatikle\u015fmesini istedi\u011finizdir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tek makine ile \u00e7ok node&#8217;lu k\u00fcme aras\u0131ndaki farktan otomatik \u00f6l\u00e7eklemeye, Compose ve Kubernetes&#8217;i kar\u015f\u0131la\u015ft\u0131rmal\u0131 tabloyla masaya yat\u0131r\u0131yoruz.<\/p>\n","protected":false},"featured_media":0,"template":"","categories":[4],"seviye":[8],"class_list":["post-264","karsilastirma","type-karsilastirma","status-publish","hentry","category-karsilastirmalar","seviye-orta"],"_links":{"self":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/karsilastirma\/264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/karsilastirma"}],"about":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/types\/karsilastirma"}],"wp:attachment":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/media?parent=264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/categories?post=264"},{"taxonomy":"seviye","embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/seviye?post=264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}