Kubernetes Nedir? VPS/VDS Üzerinde Temel Mimarisi ve Kullanım Rehberi

Kubernetes Nedir? VPS/VDS Üzerinde Temel Mimarisi ve Kullanım Rehberi - Corelux
Paylaş:

Kubernetes Nedir? VPS/VDS Üzerinde Temel Mimarisi ve Kullanım Rehberi

Son Güncelleme: Nisan 2026

Kubernetes, konteyner (container) tabanlı uygulamaları yönetmek, ölçeklemek ve yüksek erişilebilirlikle çalıştırmak için kullanılan güçlü bir orkestrasyon (yönetim ve düzenleme) platformudur. Özellikle VPS, VDS, bulut sunucu ve modern uygulama altyapılarında, servislerin merkezi şekilde kontrol edilmesini sağlayarak operasyonel verimlilik sunar.

İçindekiler

Kubernetes Nedir?

Kubernetes, konteynerleştirilmiş uygulamaların dağıtımı (deployment), ölçeklenmesi (scaling), ağ iletişimi ve yaşam döngüsü yönetimi için geliştirilmiş açık kaynaklı bir platformdur. İlk olarak Google tarafından geliştirilen bu teknoloji, günümüzde bulut tabanlı ve hibrit altyapılarda standart haline gelmiştir.

Basit bir ifadeyle Kubernetes, bir uygulamanın hangi sunucuda çalışacağını, ne zaman yeniden başlatılacağını, ne kadar kaynak kullanacağını ve trafik nasıl dağıtılacağını otomatik olarak yönetir. Bu sayede sistem yöneticileri ve geliştiriciler, manuel işlemler yerine daha sürdürülebilir ve otomatik bir altyapı kurabilir.

Özellikle mikro servis (microservices) mimarisi kullanan projelerde Kubernetes, servislerin birbirinden bağımsız ama koordineli şekilde çalışmasını sağlar. Bir e-ticaret uygulamasında web, api, database-proxy, queue-worker ve cache gibi bileşenler ayrı ayrı çalıştırılabilir ve tek merkezden yönetilebilir.

Neden Kubernetes Kullanılır?

Geleneksel sunucu yönetiminde uygulamaların kurulumu, güncellenmesi, izlenmesi ve ölçeklenmesi çoğu zaman manuel işlemler gerektirir. Bu yaklaşım küçük projelerde yeterli olabilir; ancak trafik artışı, çoklu servis yapısı ve yüksek erişilebilirlik ihtiyacı doğduğunda yönetim karmaşık hale gelir. Kubernetes, bu karmaşıklığı azaltmak için tercih edilir.

Başlıca kullanım nedenleri

  • Otomatik ölçekleme: Trafik arttığında yeni uygulama kopyaları devreye alınabilir.
  • Kendi kendini iyileştirme: Hata veren konteynerler otomatik yeniden başlatılabilir.
  • Servis keşfi: Uygulama bileşenleri birbirini kolayca bulabilir.
  • Rolling update: Kesintisiz güncelleme yapılabilir.
  • Kaynak optimizasyonu: CPU ve RAM kullanımı daha kontrollü yönetilir.
  • Taşınabilirlik: Farklı altyapılarda benzer şekilde çalışabilir.

Örneğin yoğun kampanya dönemlerinde trafik artan bir web uygulamasında Kubernetes, sadece gerekli servisleri ölçeklendirerek hem performans hem de maliyet açısından avantaj sağlayabilir.

Kubernetes Mimarisi

Kubernetes mimarisi temel olarak control plane (kontrol düzlemi) ve worker node (çalışan düğüm) yapısından oluşur. Kontrol düzlemi, kümenin karar mekanizmasıdır; worker node'lar ise uygulama yüklerini çalıştırır.

Control Plane

Control plane bileşenleri, kümenin genel durumunu yönetir. Hangi uygulamanın nerede çalışacağı, istenen durumun nasıl korunacağı ve API üzerinden gelen taleplerin nasıl işleneceği burada belirlenir.

Worker Node

Worker node'lar, konteynerlerin fiilen çalıştığı sunuculardır. Bir veya birden fazla worker node kullanılarak uygulama yükü dağıtılabilir. Bu yapı, özellikle Sanal Sunucu veya Bulut Sunucu altyapılarında esnek kurulum imkanı sağlar.

Temel Bileşenler

Kubernetes öğrenirken bazı temel kavramların anlaşılması gerekir. Bu kavramlar, platformun çalışma mantığını doğrudan etkiler.

Pod

Pod, Kubernetes içindeki en küçük dağıtım birimidir. Bir veya birden fazla konteyner içerebilir. Genellikle aynı iş yükünü paylaşan yardımcı konteynerler aynı pod içinde çalıştırılır.

Deployment

Deployment, belirli sayıda pod'un istenen durumda tutulmasını sağlar. Uygulama güncellemeleri ve ölçekleme işlemleri çoğunlukla deployment üzerinden yapılır.

Service

Service, pod'lara sabit ağ erişimi sağlar. Çünkü pod'lar dinamik olarak oluşturulup silinebilir; service ise sabit erişim noktası sunar.

Ingress

Ingress, HTTP ve HTTPS trafiğini küme içindeki doğru servislere yönlendirmek için kullanılır. Alan adı bazlı yönlendirme ve SSL sonlandırma gibi işlemlerde sıkça tercih edilir.

ConfigMap ve Secret

ConfigMap, uygulama yapılandırmalarını saklamak için; Secret ise parola, API anahtarı ve sertifika gibi hassas veriler için kullanılır.

Namespace

Namespace, aynı küme içinde mantıksal izolasyon sağlar. Örneğin test, staging ve production ortamları ayrı namespace'lerde yönetilebilir.

Bileşen Görevi Kullanım Amacı
Pod En küçük çalışma birimi Uygulama konteynerlerini çalıştırmak
Deployment Pod yönetimi Güncelleme ve ölçekleme
Service Ağ erişimi Pod'lara sabit erişim sağlamak
Ingress Trafik yönlendirme HTTP/HTTPS isteklerini yönlendirmek
Secret Hassas veri yönetimi Şifre ve anahtar saklamak

VPS/VDS Üzerinde Kubernetes Kullanımı

Kubernetes sadece büyük kurumsal yapılarda değil, doğru planlandığında VPS ve VDS altyapılarında da kullanılabilir. Özellikle geliştirme, test, staging ve orta ölçekli üretim ortamları için uygun bir seçenek olabilir.

Birden fazla düğümden oluşan bir küme kurmak için Türkiye VDS Sunucu veya Almanya VDS Sunucu çözümleri değerlendirilebilir. Coğrafi lokasyon tercihi, hedef kullanıcı kitlesi ve gecikme süresi (latency) açısından önemlidir.

Tek node mu, çok node mu?

  • Tek node: Öğrenme, test ve küçük uygulamalar için uygundur.
  • Çok node: Yedeklilik, yük dağıtımı ve daha kararlı üretim ortamları için tercih edilir.

Eğer uygulamanız yüksek erişilebilirlik gerektiriyorsa tek bir sunucu yerine birden fazla node planlamak daha doğru olacaktır. Ayrıca veritabanı, cache ve uygulama katmanlarını ayrı servisler olarak çalıştırmak bakım ve ölçekleme avantajı sağlar.

Kurulum Öncesi Planlama

Kubernetes kurmadan önce altyapı, ağ, depolama ve güvenlik gereksinimleri detaylı şekilde planlanmalıdır. Aksi halde kurulum başarılı olsa bile operasyon sürecinde sorunlar yaşanabilir.

Dikkat edilmesi gereken başlıklar

  • Kaynak planlaması: Her node için yeterli CPU, RAM ve disk alanı ayrılmalıdır.
  • Ağ yapısı: Node'lar arası özel ağ iletişimi ve gerekli port erişimleri tanımlanmalıdır.
  • Depolama: Kalıcı veri için persistent volume yapısı planlanmalıdır.
  • Yedekleme: Konfigürasyonlar ve kritik veriler için Yedekleme Hizmeti düşünülmelidir.
  • Güvenlik: API erişimi, rol tabanlı yetkilendirme ve gizli verilerin korunması sağlanmalıdır.
  • SSL kullanımı: Uygulama yayınında güvenli erişim için SSL Sertifikası kullanılmalıdır.

Küçük bir örnek yapı şu şekilde olabilir: 1 adet control plane, 2 adet worker node, ayrı bir veritabanı sunucusu ve yedekleme hedefi. Bu kurgu, birçok orta ölçekli proje için başlangıç seviyesinde yeterli olabilir.

Örnek kubectl komutları

Kubernetes yönetiminde en sık kullanılan araçlardan biri kubectl komut satırı aracıdır.

kubectl get nodes
kubectl get pods -A
kubectl get svc
kubectl describe pod ornek-pod
kubectl logs ornek-pod

Bu komutlar sayesinde node durumu, çalışan pod'lar, servisler ve hata kayıtları hızlıca görüntülenebilir.

Örnek Kullanım Senaryoları

Kubernetes birçok farklı projede kullanılabilir. Ancak her proje için en doğru çözüm olmayabilir. Bu yüzden kullanım senaryosu doğru analiz edilmelidir.

1. Mikro servis mimarisi

Büyük uygulamaların küçük bağımsız servisler halinde çalıştırılmasında Kubernetes oldukça etkilidir. Örneğin ödeme servisi, kullanıcı servisi ve bildirim servisi ayrı deployment'lar olarak yönetilebilir.

2. Geliştirme ve test ortamları

Yazılım ekipleri, benzer altyapıları hızlıca ayağa kaldırmak için Kubernetes kullanabilir. Böylece test ortamları standart hale gelir.

3. API ve web uygulamaları

Trafiği değişken olan API servislerinde otomatik ölçekleme ciddi avantaj sağlar. Özellikle kampanya, sezon veya lansman dönemlerinde ek pod'lar devreye alınabilir.

4. Arka plan işleyicileri

Kuyruk (queue) tüketen worker servisleri Kubernetes ile yönetmek kolaydır. İş yoğunluğuna göre worker sayısı artırılıp azaltılabilir.

5. Self-hosted platformlar

Kendi altyapısında modern uygulamalar çalıştırmak isteyen işletmeler, Kubernetes ile esnek bir platform kurabilir. Bu noktada güçlü bir Kiralık Sunucu veya ihtiyaca uygun Uygulama Sunucuları çözümleri değerlendirilebilir.

Avantajlar ve Dezavantajlar

Avantajlar

  • Esneklik: Farklı uygulama türlerini aynı platformda çalıştırabilir.
  • Ölçeklenebilirlik: Trafik ve iş yüküne göre büyüyebilir.
  • Otomasyon: Güncelleme, yeniden başlatma ve dağıtım süreçlerini kolaylaştırır.
  • Taşınabilirlik: Farklı sunucu ve bulut ortamlarında benzer mantıkla çalışır.
  • Kaynak verimliliği: Fiziksel ve sanal kaynakları daha etkin kullanır.

Dezavantajlar

  • Öğrenme eğrisi: Başlangıç seviyesinde karmaşık gelebilir.
  • Operasyon yükü: Küme yönetimi uzmanlık gerektirir.
  • Gereksiz karmaşıklık: Çok küçük projeler için fazla kapsamlı olabilir.
  • İzleme ihtiyacı: Sağlıklı kullanım için log, metrik ve alarm sistemleri kurulmalıdır.

Bu nedenle Kubernetes kararı verilirken sadece popüler olduğu için değil, gerçekten ihtiyaç duyulup duyulmadığı değerlendirilmelidir.

Kubernetes ile Docker Farkı

Bu iki teknoloji sıklıkla karıştırılır; ancak görevleri farklıdır. Docker, konteyner oluşturma ve çalıştırma teknolojisidir. Kubernetes ise bu konteynerlerin geniş ölçekte yönetilmesini sağlayan orkestrasyon platformudur.

Yani Docker tek başına konteyner çalıştırabilir; fakat çoklu sunucu, servis keşfi, otomatik iyileşme ve ileri seviye ölçekleme gibi ihtiyaçlarda Kubernetes devreye girer.

Özellik Docker Kubernetes
Temel amaç Konteyner oluşturma ve çalıştırma Konteyner orkestrasyonu
Ölçekleme Sınırlı / manuel Otomatik ve gelişmiş
Çoklu sunucu desteği Ek araçlarla Yerleşik mantıkla
Kendi kendini iyileştirme Sınırlı Gelişmiş

En İyi Uygulamalar

Kubernetes kullanırken sadece kurulum yapmak yeterli değildir. Sürdürülebilir, güvenli ve performanslı bir yapı için bazı en iyi uygulamaların benimsenmesi gerekir.

  • Kaynak limitleri tanımlayın: Her pod için CPU ve RAM sınırları belirleyin.
  • Health check kullanın: livenessProbe ve readinessProbe tanımlayın.
  • Secret yönetimini ihmal etmeyin: Parolaları düz metin olarak saklamayın.
  • Namespace ayrımı yapın: Test ve üretim ortamlarını ayırın.
  • İzleme kurun: Metrik, log ve alarm sistemleri olmadan üretim ortamı yönetmeyin.
  • Güncellemeleri kontrollü yapın: Rolling update ve rollback planı oluşturun.
  • Yedekleme alın: Özellikle persistent veri kullanan servislerde düzenli yedek şarttır.

Ayrıca başlangıç aşamasında yönetilebilir bir altyapı için güçlü bir Linux Hosting yerine doğrudan Kubernetes kurmak gerekmeyebilir. Uygulamanın ihtiyaç seviyesi arttığında Sanal Sunucu veya Kiralık Sunucu altyapısına geçiş daha mantıklı olabilir.

Sıkça Sorulan Sorular

Kubernetes öğrenmek zor mu?

Başlangıçta kavramlar teknik ve detaylı gelebilir. Ancak pod, deployment, service ve ingress gibi temel yapı taşları öğrenildikten sonra yönetim daha anlaşılır hale gelir. Küçük bir test ortamı ile başlamak en iyi yöntemdir.

Kubernetes her proje için gerekli midir?

Hayır. Küçük ve tek servisli projelerde Kubernetes gereksiz karmaşıklık oluşturabilir. Daha basit hosting veya tek sunucu çözümleri yeterli olabilir.

VPS üzerinde Kubernetes kurulabilir mi?

Evet, kurulabilir. Özellikle geliştirme, test ve orta ölçekli iş yüklerinde VPS/VDS üzerinde Kubernetes çalıştırmak mümkündür. Ancak kaynak planlaması doğru yapılmalıdır.

Kubernetes ile yüksek erişilebilirlik sağlanır mı?

Doğru mimari kurulduğunda evet. Birden fazla node, yük dağıtımı, sağlık kontrolleri ve otomatik yeniden başlatma gibi özellikler sayesinde yüksek erişilebilirlik elde edilebilir.

Kubernetes ile Docker aynı şey mi?

Hayır. Docker konteyner teknolojisidir, Kubernetes ise bu konteynerlerin büyük ölçekte yönetilmesini sağlayan orkestrasyon platformudur.

Kubernetes için hangi sunucu tipi daha uygundur?

Projenin boyutuna göre değişir. Küçük kümeler için VDS veya bulut sunucu yeterli olabilir. Daha yoğun ve kritik sistemlerde ise kiralık sunucu tercih edilebilir.

Sonuç

Kubernetes, modern uygulamaların dağıtımı, ölçeklenmesi ve yönetimi için güçlü bir çözümdür. Doğru kullanıldığında operasyonel verimlilik, esneklik ve yüksek erişilebilirlik sağlar; ancak her proje için zorunlu değildir. Bu nedenle ihtiyaç analizi yapmadan yalnızca trend olduğu için tercih edilmemelidir.

Eğer uygulamanız için güçlü ve esnek bir altyapı planlıyorsanız, Corelux’un Sanal Sunucu, Bulut Sunucu, Kiralık Sunucu ve Yedekleme Hizmeti çözümlerini değerlendirerek Kubernetes altyapınızı daha güvenli ve sürdürülebilir şekilde oluşturabilirsiniz.

Yazar

Boran BAR

Chat on WhatsApp