Kubernetes ne işe yarar?
Bir e-ticaret API'sinin üç kopya halinde çalışması gerektiğini düşünün. Kubernetes'e bu istenen durumu bir Deployment ile bildirirsiniz. Bir pod yanıt vermeyi bırakırsa Kubernetes onu değiştirir. Trafik arttığında replica sayısı yükseltilebilir; yeni pod'lar uygun worker node'lara yerleştirilir ve Service trafiği sağlıklı pod'lara dağıtır.
Bu kontrol döngüsü dağıtım, yatay ölçekleme, servis keşfi ve kendi kendini iyileştirme gibi operasyonları ortak bir model altında toplar. ConfigMap ve Secret nesneleri yapılandırmayı uygulama imajından ayırmaya, persistent volume yapısı ise pod yaşam döngüsünden bağımsız veri saklamaya yardımcı olur.
- Deklaratif dağıtım ve kontrollü güncelleme
- Arızalı pod yerine yeni örnek oluşturma
- Servis keşfi ve trafik yönlendirme
- İhtiyaca göre yatay ölçekleme
- Yapılandırma, secret ve kalıcı veri yönetimi
Kubernetes nasıl çalışır?
Bir Kubernetes kümesi control plane ve bir veya daha fazla worker node'dan oluşur. API server, kullanıcıların ve otomasyon araçlarının küme ile konuştuğu giriş noktasıdır. Scheduler yeni pod için uygun node'u seçer. Controller bileşenleri tanımlanan durumla gerçek durum arasındaki farkı izler ve gerekli düzeltmeleri başlatır.
Worker node üzerinde kubelet, kendisine atanan pod'ların çalışmasını takip eder. Container runtime imajları çalıştırır; ağ bileşenleri pod'lar ve servisler arasındaki iletişimi sağlar. Bir CI/CD akışı yeni bir imaj ve Deployment tanımı gönderdiğinde control plane bunu kaydeder, scheduler yerleşimi belirler ve node'lar yeni duruma yaklaşır.
Temel Kubernetes bileşenleri
Cluster, tüm control plane ve worker node kaynaklarını kapsar. Node, pod'ların çalıştığı fiziksel veya sanal makinedir. Pod ise Kubernetes'in en küçük dağıtılabilir birimidir ve aynı ağ ile depolama bağlamını paylaşan bir veya daha fazla container içerebilir.
Deployment, uygulamanın hangi imajla ve kaç replica halinde çalışacağını açıklar. ReplicaSet bu replica sayısını korur. Service, pod'ların geçici IP adreslerinden bağımsız kararlı bir erişim noktası oluşturur. ClusterIP küme içi erişim sağlar; NodePort belirli bir node portunu açar; LoadBalancer ise desteklenen bulut entegrasyonunda harici yük dengeleyici talep eder.
ConfigMap gizli olmayan ayarları, Secret ise hassas yapılandırma verilerini taşıyan nesnelerdir. Kalıcı veri için uygulama bir PersistentVolumeClaim ister; uygun PersistentVolume bu talebe bağlanır. Bu ilişki, verinin pod yeniden oluşturulduğunda kaybolmamasını sağlayan depolama katmanını kurar.
Docker ile Kubernetes arasındaki fark nedir?
Docker ve benzeri container araçları uygulama imajı oluşturma ve container çalıştırma sürecinde kullanılır. Kubernetes ise çok sayıda container'ı bir makine kümesi üzerinde yerleştiren, ölçekleyen ve erişilebilir tutan orkestrasyon katmanıdır. Bu nedenle iki teknoloji doğrudan birbirinin yerine geçmez; container üretim akışı ile küme operasyonu farklı sorumluluklardır.
Kubernetes ne zaman kullanılmalı?
Kubernetes, birden fazla servis ve ekip içeren uygulamalarda, sık CI/CD dağıtımlarında, otomatik ölçekleme ihtiyacında ve deklaratif altyapı standardı arandığında güçlü bir seçenektir. Mikroservis sayısı ve operasyon gereksinimi büyüdükçe ortak orkestrasyon modeli tekrarlanan manuel işleri azaltabilir.
Tek sunuculu küçük bir uygulamada, sınırlı operasyon ekibinde veya ölçekleme ve küme toleransı gerekmeyen bir iş yükünde Kubernetes gereksiz karmaşıklık oluşturabilir. Böyle durumlarda doğrudan bir sanal sunucu veya daha basit bir uygulama çalıştırma modeli daha ekonomik ve anlaşılır olabilir.
Yönetilen Kubernetes nedir?
Self-managed modelde ekip, control plane kurulumu, küme yaşam döngüsü ve altyapı entegrasyonlarının daha büyük bölümünü üstlenir. Yönetilen Kubernetes, bu sorumlulukların sağlayıcı tarafından tanımlanan kısmını hizmete dönüştürür. Kullanıcı ekibi yine uygulama tanımları, erişim politikaları, kaynak talepleri ve iş yükü gözlemlenebilirliğinden sorumludur.
PortvMind Cloud VKE, panelden yönetilen küme oluşturma, Terraform ile Infrastructure as Code, çoklu küme yönetimi ve asenkron, izlenebilir küme yaşam döngüsü sunar. Backup entegrasyonu Kubernetes PVC yedekleme akışını destekler. VKE, vMind tarafından geliştirilen açık kaynak Kubernetes engine’dir; node seviyesinde otomatik ölçeklendirme, Load Balancer ve storage class desteğini otomatik olarak sağlar.
Kubernetes hakkında sık sorulan sorular
Kubernetes nedir, ne işe yarar?
Kubernetes, container uygulamalarını bir küme üzerinde dağıtan, ölçekleyen ve erişilebilir tutan açık kaynaklı orkestrasyon platformudur. İstenen replica sayısını korur, arızalı pod'ları değiştirir ve servis trafiğini uygun pod'lara yönlendirir.
Kubernetes ile Docker arasındaki fark nedir?
Docker ve benzeri araçlar imaj oluşturma ve container çalıştırma akışına odaklanır. Kubernetes çok sayıda container'ı birden fazla node üzerinde yerleştiren ve yöneten orkestrasyon katmanıdır. Birbirlerinin doğrudan alternatifi değildirler.
Pod, node ve cluster arasındaki fark nedir?
Pod en küçük dağıtılabilir Kubernetes birimidir. Node, pod'ların çalıştığı fiziksel veya sanal makinedir. Cluster ise control plane ile tüm worker node'ları ve bunların kaynaklarını kapsayan bütündür.
Yönetilen Kubernetes nedir?
Yönetilen Kubernetes, küme altyapısının ve yaşam döngüsünün sağlayıcı tarafından tanımlanan bölümünün hizmet olarak sunulduğu modeldir. Uygulama ekipleri kendi workload tanımları, güvenlik politikaları ve kaynak yönetiminden sorumlu olmaya devam eder.
Kubernetes her proje için gerekli midir?
Hayır. Tek sunucuda çalışan küçük bir uygulama veya sınırlı operasyon ekibi için Kubernetes karmaşıklığı faydasını aşabilir. Birden fazla servis, sık dağıtım, ölçekleme ve yüksek erişilebilirlik ihtiyacı olduğunda daha anlamlı hale gelir.
Araştırma kaynakları
Teknik açıklamalar aşağıdaki birincil kaynaklara dayanır.
- Kubernetes Genel Bakış
Kubernetes'in deklaratif orkestrasyon yaklaşımı ve temel platform tanımı.
- Yayıncı
- Kubernetes Documentation
- Tür
- Resmi teknik dokümantasyon
- Erişim
- Kubernetes Bileşenleri
Control plane, node, scheduler, kubelet ve küme bileşenlerinin görevleri.
- Yayıncı
- Kubernetes Documentation
- Tür
- Resmi teknik dokümantasyon
- Erişim
- Pod Kavramı
Pod'un Kubernetes'teki en küçük dağıtılabilir iş yükü birimi olması.
- Yayıncı
- Kubernetes Documentation
- Tür
- Resmi teknik dokümantasyon
- Erişim
- Service Kavramı
Service kaynaklarının Pod trafiğini ve servis keşfini düzenleme biçimi.
- Yayıncı
- Kubernetes Documentation
- Tür
- Resmi teknik dokümantasyon
- Erişim
