- 01Kubernetes, konteynerleştirilmiş workload'ları cluster üzerinde dağıtmak, ölçeklemek ve istenen durumda tutmak için kullanılan açık kaynaklı orchestration platformudur.
- 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.
- 03Kubernetes self-healing, service discovery, rollout, scaling ve declarative configuration sağlar ancak database HA, backup ve application reliability'yi otomatik olarak çözmez.
- 04Kubernetes 1.24'ten beri Docker Engine ile doğrudan dockershim entegrasyonunu kullanmaz; Kubernetes 1.37 CRI uyumlu container runtime gerektirir.
- 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.

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.
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
- Kubernetes vs Docker: hangisi ne zaman kullanılmalı?: Docker/Compose ile Kubernetes'in farklı sorumluluk katmanlarını ve geçiş eşiğini karşılaştırın.
- Küçük ekip için Kubernetes: ne zaman fazla gelir?: Kubernetes'in sizin ekip için gerçekten gerekli olup olmadığını değerlendirin.
- Kubernetes production ortamında en sık yaşanan operasyon sorunları: CrashLoopBackOff, OOMKilled, Node NotReady, DNS ve rollout gibi production sorunlarını sistematik olarak teşhis edin.
- Kubernetes'e geçiş rehberi: karar verildiyse pilot ve production migration planını oluşturun.
- CI/CD nedir?: container build ve deployment akışını otomatikleştirin.
- DevOps hizmeti: Kubernetes ve production operasyon modelinizi değerlendirin.
Kaynaklar
Kaynaklar
- 1.Kubernetes OverviewThe Kubernetes Authors · 2026-09-21
- 2.Kubernetes ComponentsThe Kubernetes Authors · 2026-09-21
- 3.Production environmentThe Kubernetes Authors · 2026-09-21
- 4.Container runtimesThe Kubernetes Authors · 2026-09-21
- 5.Kubernetes releasesThe Kubernetes Authors · 2026-09-21
- 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.