İçeriğe geç
Yeni yazı çıkınca e-posta · 4.812 abone 190 rehber · 78 ipucu · 58 komut RSS GitHub LinkedIn İletişim
Ara Ctrl K Bültene katıl
Tüm arşiv · 190 rehber →
Tüm araçlar · 75 üreteç →
Kubernetes

Kubernetes nedir? Konteyner çalıştırmakla küme işletmek arasındaki fark

Denetim düzlemi, düğümler, pod ve dağıtım kavramları; bildirim kipiyle çalışma mantığı ve ne zaman gereksiz olduğu.

Mustafa Çelik 25 Ağustos 2026 · 5 dk okuma

Tek bir konteyner çalıştırmak kolaydır. Onlarca konteyneri birden çok sunucuda, çökünce yeniden başlatarak, yük arttıkça çoğaltarak ve kesintisiz güncelleyerek çalıştırmak zordur. Kubernetes bu ikinci işi yapan sistemdir.

Temel fikir: bildirim kipi

Kubernetes’e adım adım ne yapacağını söylemezsiniz; ne istediğinizi söylersiniz.

“Bu uygulamadan üç kopya çalışsın” dersiniz. Kubernetes mevcut durumu sürekli izler ve istenen duruma yaklaştırır. Bir kopya çökerse yenisini başlatır. Bir sunucu düşerse üzerindeki iş yükünü başka sunuculara taşır.

Bu döngüye uzlaşma denir ve sistemin tamamının çalışma mantığıdır. Siz hedefi yazarsınız, o farkı kapatır.

Aynı yaklaşımın altyapı tarafındaki karşılığı kod olarak altyapıya nereden başlanır rehberinde ele alınıyor.

Küme neyden oluşur

İki tür makine vardır.

Denetim düzlemi kararları verir: hangi iş yükü nerede çalışacak, mevcut durum ne, ne değişmeli. Küme durumunu tutan veri deposu da buradadır ve kümenin tek gerçek kaynağıdır — yedeklenmesi kritik olan şey de odur.

Çalışan düğümler asıl iş yükünü taşır. Her düğümde bir aracı çalışır; denetim düzleminden aldığı talimatla konteynerleri başlatır ve durumlarını geri bildirir.

Yönetilen bulut hizmetlerinde denetim düzlemi sağlayıcı tarafından işletilir; siz yalnızca düğümlerle ilgilenirsiniz. Kendi kümesini kuranlar için denetim düzleminin erişilebilirliği ayrı bir tasarım işidir.

Pod: en küçük birim

Kubernetes konteynerleri doğrudan çalıştırmaz; pod içinde çalıştırır.

Pod, birlikte yaşayan bir ya da birkaç konteynerin sarmalıdır. Aynı poddaki konteynerler ağ ad alanını ve depolama birimlerini paylaşır; birbirlerine yerel adresten ulaşırlar.

Çoğu podda tek konteyner bulunur. Birden çok konteyner, ancak gerçekten ayrılamaz olduklarında bir araya konur — günlük toplayıcı ya da vekil gibi yardımcı bileşenler.

Pod geçicidir: silinir, yeniden oluşturulur ve IP adresi değişir. Bu yüzden pod’lara doğrudan bağlanılmaz.

Bir pod başlamadığında teşhis sırası pod başlamıyor rehberinde.

Dağıtım ve ölçekleme

Pod’ları elle oluşturmazsınız; bir Deployment tanımlarsınız. O da istenen kopya sayısını korur ve güncellemeleri yönetir.

Yeni bir sürüm yayımladığınızda Deployment kopyaları kademeli değiştirir: birkaç yeni pod başlatır, sağlıklı olduklarını doğrular, sonra eskileri kapatır. Kesintisiz güncelleme budur.

Sağlık doğrulaması burada belirleyicidir. Hazırlık yoklaması tanımlı değilse Kubernetes henüz hazır olmayan bir pod’a trafik gönderir ve güncelleme sırasında hata görülür.

Yatay ölçekleyici, kaynak kullanımına göre kopya sayısını otomatik ayarlar — ve bunu isteğin yüzdesi üzerinden hesaplar. Sınır ve istek değerlerinin nasıl seçileceği istek ve sınır rehberinde.

Servis: kalıcı adres

Pod’ların IP’si değiştiği için araya bir Service girer. Service sabit bir ad ve adres sunar, arkasındaki sağlıklı pod’lara trafiği dağıtır.

Küme içinden erişim için ClusterIP yeterlidir. Dışarıya açmak için LoadBalancer ya da bir Ingress denetleyicisi kullanılır; ikincisi tek bir giriş noktası arkasında çok sayıda servisi toplar ve daha ucuzdur.

Erişim sorunlarının katman katman elenmesi Service, Ingress ve NetworkPolicy rehberinde.

Yapılandırma ve sırlar

Uygulama ayarları imaja gömülmez; ConfigMap ile dışarıdan verilir. Böylece aynı imaj her ortamda çalışır.

Sırlar için ayrı bir nesne türü vardır, ama öntanımlı olarak yalnızca base64 ile kodlanır — şifrelenmez. Gerçek koruma için depodaki şifrelemenin açılması ve erişimin daraltılması gerekir.

Manifest yazarken atlanan alanları görmek için Kubernetes manifest üreteci aracı, YAML’ın kendi tuzakları için YAML doğrulayıcı aracı var.

Ad alanları ve kotalar

Tek bir küme genelde birden çok ekip ya da ortam tarafından paylaşılır. Ad alanı, kaynakları mantıksal olarak ayıran sınırdır: aynı isimli iki nesne farklı ad alanlarında yan yana yaşayabilir.

Ama ad alanı tek başına bir güvenlik sınırı değildir. Gerçek ayrım için üç şey daha gerekir: rol tabanlı erişim ile kimin neye dokunabileceğini belirlemek, kaynak kotası ile bir ekibin kümenin tamamını tüketmesini engellemek, ve ağ politikası ile ad alanları arası trafiği kısıtlamak.

Üçü kurulmadan açılan bir ad alanı, yalnızca isim düzeninden ibarettir. Kotanın nasıl hesaplanacağı Kubernetes kaynak planlayıcı aracında görülebilir.

Ne zaman gerekmez

Kubernetes karmaşıklık getirir ve bu karmaşıklığın bir bakım maliyeti vardır. Her ortam bunu hak etmez.

Tek bir uygulamayı iki sunucuda çalıştıran bir ekip için basit bir konteyner çalıştırıcısı ya da yönetilen bir uygulama platformu genelde yeterlidir ve çok daha az bilgi gerektirir.

Kubernetes’in karşılığını verdiği yer şudur: çok sayıda hizmet, sık dağıtım, değişken yük ve birden çok ekip. Bu koşullar yoksa getirdiği yük, çözdüğü sorundan büyük olabilir.

Konteyner ile sanal makine arasındaki temel ayrım sanal makine mi konteyner mi yazısında.

Kısaca

Kubernetes, istenen durumu tarif ettiğiniz ve farkı onun kapattığı bir küme işletim sistemidir. Pod en küçük birimdir, Deployment kopyaları ve güncellemeleri yönetir, Service kalıcı adres sağlar.

Gücü ölçek ve otomasyondadır; bedeli öğrenme ve işletme yüküdür. Küçük ve durağan ortamlarda bu takas genelde işe yaramaz.

Mustafa Çelik

Altyapı ve Operasyon Müdürü, İstanbul. 25 yıldır BT altyapısı, sistem yönetimi ve ağ altyapısıyla uğraşıyor; öğrendiklerini bu blogda üretim ortamında denenmiş rehberlere çeviriyor.

Hakkımda

Bu rehber işinize yaradıysa, sonrakini kaçırmayın.

Yeni yazı yayınlandığında tek e-posta. Takvim yok, dilediğiniz an çıkabilirsiniz.

Bülten sağlayıcısı henüz bağlanmadı. Bağlanana kadar e-posta ile yazabilirsiniz ya da RSS akışını takip edebilirsiniz.