Dynamis

Kubernetes nedir? Ne işe yarar ve ne zaman kullanılmalı?

Kubernetes nedir, nasıl çalışır ve ne işe yarar? Pod, node, cluster, control plane, Service, scaling, self-healing ve Docker farkını production odaklı öğrenin.

Bu konuyu bir mühendisle konuşun30 dakikalık görüşme, mevcut durumunuz ve hedefinizle.
Özet çıkarımlar
  1. 01Kubernetes, konteynerleştirilmiş workload'ları cluster üzerinde dağıtmak, ölçeklemek ve istenen durumda tutmak için kullanılan açık kaynaklı orchestration platformudur.
  2. 02Pod en küçük deploy edilebilir birimdir; control plane scheduling ve cluster state kararlarını yönetirken worker node'lar application workload'larını çalıştırır.
  3. 03Kubernetes self-healing, service discovery, rollout, scaling ve declarative configuration sağlar ancak database HA, backup ve application reliability'yi otomatik olarak çözmez.
  4. 04Kubernetes 1.24'ten beri Docker Engine ile doğrudan dockershim entegrasyonunu kullanmaz; Kubernetes 1.37 CRI uyumlu container runtime gerektirir.
  5. 0521 Eylül 2026 itibarıyla Kubernetes 1.37 en güncel minor sürümdür; proje son üç minor branch'i 1.37, 1.36 ve 1.35'i destekler.
Kubernetes cluster, control plane, node ve pod yapısını gösteren kapak görseli

Kısaca

Kubernetes, konteynerleştirilmiş uygulamaları bir veya birden fazla sunucuda dağıtmak, ölçeklemek ve çalışır durumda tutmak için kullanılan açık kaynaklı bir orchestration platformudur. Uygulamaların hangi node üzerinde çalışacağını, başarısız workload'un nasıl yeniden başlatılacağını ve istenen durumun nasıl korunacağını otomatikleştirir. Dynamis Teknoloji, Raff platformunu sıfırdan geliştiren ekip olarak Kubernetes'i yalnız deployment aracı değil, production operasyon modeli olarak ele alır.

Kubernetes ne işe yarar?

Kubernetes, çok sayıda container workload'unu manuel olarak tek tek yönetmek yerine ortak bir kontrol katmanında çalıştırmanızı sağlar.

Başlıca görevleri:

  • Container'ları uygun node'lara yerleştirmek
  • Başarısız workload'u yeniden başlatmak
  • Servis keşfi sağlamak
  • Trafiği pod'lar arasında dağıtmak
  • Deployment rollout ve rollback yapmak
  • Yatay ölçekleme
  • Config ve secret yönetmek
  • Resource request/limit uygulamak
  • İstenen replica sayısını korumak

Bu nedenle Kubernetes'in değeri yalnız "container çalıştırmak" değildir. Asıl değer, production'daki çoklu container operasyonunu standardize etmektir.

Kubernetes nasıl çalışır?

Kubernetes declarative bir model kullanır.

Siz sisteme şu an hangi komutların çalıştırılacağını tek tek söylemek yerine, ulaşmak istediğiniz durumu tanımlarsınız.

Örnek:

  • 3 application replica çalışsın
  • Her pod belirli CPU/RAM sınırına sahip olsun
  • Servis 443 portundan erişilebilir olsun
  • Yeni image rollout ile dağıtılsın

Kubernetes mevcut durumu sürekli kontrol eder ve tanımlanan duruma yaklaşmaya çalışır.

Bu yaklaşım desired state olarak adlandırılır.

Kubernetes cluster nedir?

Cluster, Kubernetes'in yönettiği makine ve kontrol bileşenlerinin bütünüdür.

Temel olarak iki katman bulunur:

  • Control plane
  • Worker node'lar

Control plane cluster kararlarını verir.

Worker node'lar uygulama workload'larını çalıştırır.

Control plane ne yapar?

Control plane cluster'ın yönetim katmanıdır.

Ana bileşenler arasında:

kube-apiserver

Kubernetes API'sini sunar.

kubectl, automation araçları ve diğer cluster bileşenleri Kubernetes ile API üzerinden iletişim kurar.

etcd

Cluster state bilgisini tutan dağıtık key-value store'dur.

Production ortamında etcd backup ve availability planı kritik öneme sahiptir.

kube-scheduler

Yeni oluşturulan pod'un hangi node üzerinde çalışacağını belirler.

Karar verirken:

  • CPU/RAM ihtiyacı
  • node constraint
  • affinity
  • taint/toleration
  • topology

gibi faktörleri değerlendirebilir.

kube-controller-manager

Deployment, replica ve node gibi kaynakların istenen durumunu koruyan controller'ları çalıştırır.

Worker node nedir?

Worker node, uygulama pod'larının çalıştığı makinedir.

Her node'da tipik olarak:

  • kubelet
  • container runtime
  • network bileşenleri

bulunur.

Node fiziksel sunucu veya VM olabilir.

Kubernetes cloud üzerinde çalışmak zorunda değildir; on-prem, public cloud, private cloud veya bare metal üzerinde kurulabilir.

Pod nedir?

Pod, Kubernetes'teki en küçük deploy edilebilir birimdir.

Bir pod:

  • bir container
  • veya birlikte çalışması gereken birden fazla container

içerebilir.

Çoğu uygulamada bir pod tek ana application container çalıştırır.

Pod kalıcı makine olarak düşünülmemelidir.

Bir pod silinip yeniden oluşturulduğunda IP adresi değişebilir.

Bu nedenle uygulama erişimi doğrudan pod IP'sine değil Service gibi Kubernetes objelerine bağlanır.

Deployment nedir?

Deployment, stateless application pod'larını yönetmek için yaygın kullanılan workload kaynağıdır.

Örnek hedef:

  • application image: v2
  • replica: 3

Deployment controller:

  • üç replica çalışmasını sağlar
  • yeni image rollout yapar
  • başarısız pod'ları yeniden oluşturur
  • rollout history tutar

Bu yapı manuel olarak üç container başlatmaktan farklıdır. Desired state sistem tarafından korunur.

Service nedir?

Pod'lar geçici olabilir.

Service, bir grup pod için stabil network endpoint sağlar.

Örneğin frontend uygulaması sürekli değişen backend pod IP'lerini bilmek zorunda kalmaz.

Service selector aracılığıyla uygun pod'lara trafik yönlendirir.

Ingress ve Gateway API ne işe yarar?

Cluster dışından HTTP/HTTPS trafiğini uygulamalara yönlendirmek için trafik yönetim katmanı gerekir.

Historically Ingress bu amaçla yaygın kullanılmıştır.

Yeni Kubernetes mimarilerinde Gateway API daha esnek ve role-oriented trafik yönetimi sunar.

Production mimarisinde hangi controller veya Gateway implementation'ın kullanılacağı ayrıca seçilmelidir.

ConfigMap ve Secret nedir?

Application configuration'ını container image içine gömmek yerine Kubernetes objeleriyle ayırabilirsiniz.

ConfigMap hassas olmayan configuration için, Secret ise password, token veya certificate gibi hassas değerler için kullanılır.

Ancak Kubernetes Secret objesinin varlığı tek başına eksiksiz secret security anlamına gelmez.

Production ortamında:

  • encryption at rest
  • RBAC
  • secret rotation
  • external secret manager

gibi kontroller ayrıca değerlendirilmelidir.

Mevcut durumunuzu bu tabloya biz yerleştirelim.

Stateful uygulamalar Kubernetes'te çalışabilir mi?

Evet.

Database, queue ve benzeri stateful workload'lar Kubernetes üzerinde çalışabilir.

Bunun için:

  • PersistentVolume
  • PersistentVolumeClaim
  • StorageClass
  • StatefulSet

gibi yapılar kullanılabilir.

Ancak stateful workload operasyonu stateless application'dan daha zordur.

Backup, restore, replication, storage failure ve data consistency ayrıca planlanmalıdır.

Kubernetes database'in kendi HA mekanizmasını otomatik olarak çözmez.

Self-healing nasıl çalışır?

Kubernetes'in güçlü taraflarından biri istenen durumun otomatik korunmasıdır.

Örnek:

Deployment 3 replica tanımlıyor.

Bir pod crash olursa controller yeni pod oluşturur.

Bir node kaybedilirse uygun şartlar altında workload başka node üzerinde yeniden schedule edilebilir.

Ancak self-healing uygulamanın her türlü failure'ını çözmez.

Örneğin:

  • yanlış configuration
  • bozuk database migration
  • external API failure
  • corrupted data

Kubernetes tarafından otomatik düzeltilemeyebilir.

Kubernetes scaling nasıl çalışır?

Kubernetes farklı scaling katmanları sunar.

Horizontal Pod Autoscaler

Metric'e göre pod replica sayısını artırabilir veya azaltabilir.

Vertical Pod Autoscaler

Pod resource request değerlerini optimize etmeye yardımcı olabilir.

Cluster Autoscaler

Desteklenen ortamlarda node kapasitesini artırıp azaltabilir.

Scaling'in doğru çalışması için resource requests/limits ve workload metric'lerinin doğru tanımlanması gerekir.

Kubernetes load balancing yapar mı?

Kubernetes Service abstraction'ı pod'lar arasında trafik dağıtımını sağlar.

Cluster dışından trafik almak için:

  • LoadBalancer Service
  • Ingress
  • Gateway API

gibi yapılar kullanılabilir.

Gerçek load balancing davranışı cloud provider veya networking implementation'a göre değişebilir.

Kubernetes ve Docker arasındaki fark nedir?

Docker ve Kubernetes aynı katmanda çalışan alternatif ürünler değildir.

Docker ekosistemi:

  • container image oluşturma
  • container çalıştırma
  • local development

gibi alanlarda kullanılır.

Kubernetes:

  • çok sayıda workload'u birden fazla node üzerinde orkestre eder
  • scheduling
  • service discovery
  • rollout
  • scaling
  • self-healing

gibi cluster seviyesinde görevleri yönetir.

Önemli güncel ayrım:

Kubernetes 1.24 itibarıyla Docker Engine ile doğrudan dockershim entegrasyonu kaldırılmıştır.

Kubernetes 1.37, Container Runtime Interface uyumlu runtime gerektirir.

Yaygın örnekler:

  • containerd
  • CRI-O

Docker Engine kullanmak istenirse CRI uyumlu adapter gerekir.

Bu, Docker image'larının Kubernetes'te kullanılamadığı anlamına gelmez. OCI uyumlu container image'ları kullanılmaya devam eder.

Kubernetes kullanmanın avantajları

Tekrarlanabilir deployment

Manifest veya deployment automation ile aynı application modelini farklı environment'larda uygulayabilirsiniz.

Self-healing

Başarısız workload otomatik olarak yeniden oluşturulabilir.

Horizontal scaling

Replica sayısı talebe göre değiştirilebilir.

Ortak platform

Birden fazla uygulama ekibi aynı deployment ve observability standartlarını kullanabilir.

Portability

Kubernetes API modeli farklı altyapı sağlayıcılarında uygulanabilir.

Ancak portability uygulamanın tamamen provider bağımsız olduğu anlamına gelmez.

Storage, load balancer ve managed servis bağımlılıkları devam edebilir.

Kubernetes'in dezavantajları

Kubernetes önemli operasyon yükü getirir.

Production cluster'da:

  • control plane
  • node lifecycle
  • upgrade
  • networking
  • storage
  • RBAC
  • certificate
  • backup
  • observability
  • capacity

gibi konuların sahiplenilmesi gerekir.

Bu nedenle birkaç container çalıştırmak için Kubernetes seçmek gereksiz karmaşıklık oluşturabilir.

Küçük ekip için Kubernetes: ne zaman fazla gelir? rehberi bu kararı operasyon maliyetiyle birlikte ele alır.

Kubernetes ne zaman kullanılmalı?

Kubernetes şu ihtiyaçlar belirginleştiğinde güçlü adaydır:

  • Çok sayıda servis
  • Sık deployment
  • Ortak platform standardı
  • High availability
  • Otomatik recovery
  • Yatay scaling
  • Birden fazla ürün ekibi
  • Container workload standardizasyonu

Örneğin 10 mikroservisli bir SaaS platformunda ortak deployment, service discovery ve resource yönetimi büyük değer sağlayabilir.

Kubernetes ne zaman gereksiz olabilir?

Şu durumda daha basit model değerlendirilebilir:

  • Tek uygulama
  • 1-2 server
  • Sabit trafik
  • Seyrek deployment
  • Düşük HA ihtiyacı
  • Platform operasyonunu sahiplenen ekip yok

İyi yönetilen VM + Docker Compose veya basit container platformu aynı iş hedefini daha düşük operasyon yüküyle karşılayabilir.

Managed Kubernetes nedir?

Managed Kubernetes'te cloud veya altyapı sağlayıcısı cluster lifecycle'ın bir bölümünü yönetir.

Genellikle control plane tarafında:

  • availability
  • patch
  • version lifecycle

gibi sorumluluklar sağlayıcı tarafından üstlenilebilir.

Ancak müşteri tarafında hâlâ:

  • workload
  • node sizing
  • application monitoring
  • backup
  • RBAC
  • network policy
  • cost

sorumlulukları kalabilir.

Managed Kubernetes, "Kubernetes operasyonu yok" anlamına gelmez.

Production Kubernetes neden farklıdır?

Resmî Kubernetes dokümantasyonu production cluster'ın learning veya test ortamından daha fazla gereksinim taşıdığını belirtir.

Production'da:

  • resilient control plane
  • secure access
  • certificate management
  • API server load balancing
  • etcd backup
  • yeterli kapasite
  • upgrade planı

gibi konular değerlendirilmelidir.

Tek node cluster Kubernetes öğrenmek için yeterli olabilir; ancak kritik production workload'u için tek başına HA sağlamaz.

Kubernetes sürüm yaşam döngüsü

21 Eylül 2026 itibarıyla en güncel Kubernetes minor sürümü 1.37'dir.

1.37.0, 26 Ağustos 2026'da yayımlandı.

Kubernetes projesi son üç minor release branch'ini destekler:

  • 1.37
  • 1.36
  • 1.35

Kubernetes 1.37 için planlanan End of Life tarihi 28 Ekim 2027'dir.

Bu nedenle cluster upgrade bir defalık kurulum işi değildir.

Production operasyonunda version lifecycle sürekli takip edilmelidir.

Kubernetes'e geçmeden önce ne hazırlamalısınız?

Adım 1: Workload inventory

Hangi uygulama ve servisler taşınacak?

Adım 2: Stateless/stateful ayrımı

Hangi workload kalıcı storage kullanıyor?

Adım 3: Resource baseline

Gerçek CPU ve RAM ihtiyacı nedir?

Adım 4: Network

Ingress, private network ve external dependency'leri çıkarın.

Adım 5: Storage

Stateful workload'ların recovery planını hazırlayın.

Adım 6: CI/CD

Image build ve deployment pipeline'ını standardize edin.

CI/CD nedir? rehberi bu akışı ayrı olarak açıklar.

Adım 7: Observability

Log, metric ve alert baseline oluşturun.

Adım 8: Upgrade ownership

Cluster'ı kimin güncelleyeceğini belirleyin.

Karar kesinleştiyse Kubernetes'e geçiş rehberi pilot ve production geçiş planını detaylandırır.

Dynamis'te Kubernetes yaklaşımı

Dynamis'in DevOps hizmeti kapsamında hedef her müşteriye Kubernetes kurmak değildir.

İlk değerlendirmede:

  • workload sayısı
  • deployment sıklığı
  • availability hedefi
  • stateful dependency
  • ekip kapasitesi
  • platform ownership
  • üç yıllık operasyon maliyeti

incelenir.

Kubernetes gerçek fayda sağlıyorsa cluster mimarisi, CI/CD, monitoring ve lifecycle operasyonu birlikte tasarlanır.

Daha basit bir platform aynı iş hedefini karşılıyorsa Kubernetes önerilmez.

Sık yapılan hatalar

Kubernetes'i container runtime sanmak: Kubernetes orchestration katmanıdır.

Kubernetes = Docker demek: Docker ve Kubernetes farklı sorumluluk katmanlarıdır.

Tek node cluster'ı production HA sanmak: Node failure tek failure domain bırakabilir.

Database'i Kubernetes'e koyunca HA çözülür sanmak: Data replication ve backup ayrıca tasarlanmalıdır.

Managed Kubernetes'i sıfır operasyon sanmak: Workload ve platform operasyonunun önemli bölümü devam eder.

Upgrade planı olmadan cluster kurmak: Kubernetes minor sürümleri sürekli yaşam döngüsü takibi gerektirir.

Sırada ne var

Kaynaklar

Kaynaklar

  1. 1.
    Kubernetes OverviewThe Kubernetes Authors · 2026-09-21
  2. 2.
    Kubernetes ComponentsThe Kubernetes Authors · 2026-09-21
  3. 3.
    Production environmentThe Kubernetes Authors · 2026-09-21
  4. 4.
    Container runtimesThe Kubernetes Authors · 2026-09-21
  5. 5.
    Kubernetes releasesThe Kubernetes Authors · 2026-09-21
  6. 6.
    Kubernetes 1.37 release seriesThe Kubernetes Authors · 2026-09-21

Sık sorulan sorular

Kubernetes nedir?

Kubernetes, konteynerleştirilmiş uygulamaları bir veya birden fazla sunucuda dağıtmak, ölçeklemek ve çalışır durumda tutmak için kullanılan açık kaynaklı bir orchestration platformudur. Declarative configuration ve otomasyon yaklaşımıyla istenen durumun korunmasına yardımcı olur.

Kubernetes ne işe yarar?

Kubernetes uygulama container'larını node'lara yerleştirme, başarısız workload'u yeniden başlatma, servis keşfi, load balancing, rollout/rollback, configuration ve secret yönetimi ile yatay ölçekleme gibi operasyonları standardize eder.

Kubernetes ile Docker arasındaki fark nedir?

Docker konteyner image oluşturma ve container çalıştırma ekosistemidir; Kubernetes ise çok sayıda container workload'unu cluster üzerinde orkestre eder. Kubernetes 1.24'ten beri Docker Engine ile doğrudan dockershim entegrasyonunu kullanmaz; CRI uyumlu runtime'larla çalışır.

Kubernetes kullanmak için kaç sunucu gerekir?

Tek node cluster öğrenme ve geliştirme için yeterli olabilir. Production'da gerekli node ve control plane sayısı availability, kapasite ve failure-domain hedeflerine göre belirlenmelidir; tek bir sabit sayı yoktur.

Kubernetes her yazılım ekibi için gerekli mi?

Hayır. Tek uygulama, sabit trafik ve düşük yüksek erişilebilirlik ihtiyacında daha basit VM veya container platformları yeterli olabilir. Kubernetes; çoklu servis, otomatik recovery, ortak deployment standardı, yatay ölçekleme veya platform ihtiyacı belirginleştiğinde daha anlamlıdır.

Dynamis Teknoloji

Kararı sizin yerinize hesaplayan bir ekip.

Raff platformunu geliştiren ve işleten mühendisler. Ankara merkezli, KVKK uyumlu, 7/24 Türkçe destek.

  1. Rehber · DevOps ve KubernetesKubernetes production ortamında en sık yaşanan operasyon sorunlarıKubernetes production sorunlarını CrashLoopBackOff, OOMKilled, Node NotReady, DNS, storage, probe, rollout ve upgrade belirtileri üzerinden sistematik olarak teşhis edin.10 dk
  2. Karşılaştırma · DevOps ve KubernetesKubernetes vs Docker: hangisi ne zaman kullanılmalı?Kubernetes vs Docker farkı nedir? Docker, Docker Compose ve Kubernetes'i deployment, scaling, self-healing, multi-node ve operasyon maliyeti açısından karşılaştırın.8 dk
  3. Rehber · DevOps ve KubernetesKüçük ekip için Kubernetes: ne zaman fazla gelir?Kubernetes küçük ekip için ne zaman anlamlı, ne zaman fazla? Tek uygulama, HA, deployment sıklığı, managed Kubernetes, operasyon sahipliği ve gerçek TCO ile karar verin.8 dk