
Kubernetes Nedir? Büyük Projelerde Ne İşe Yarar?
Kubernetes Nedir, Docker’dan farkı nedir, nasıl kurulur? Büyük projelerde container yönetimi, OpenShift ve Terraform ilişkisini öğrenin.
Ahmet Yılmaz
Sistem Mühendisi
# Kubernetes Nedir? Büyük Projelerde Ne İşe Yarar?
Bir uygulama küçükken tek sunucuda çalıştırmak yeterli olabilir; trafik, ekip ve servis sayısı arttığında işler hızla karmaşıklaşır. Kubernetes Nedir sorusu tam da burada önem kazanır: Uygulamaları güvenli, ölçeklenebilir ve yönetilebilir şekilde çalıştırmanın standart yollarından biridir.
İçindekiler
- Kubernetes Nedir
- Docker ve Kubernetes nedir?
- Kubernetes yönetimi nedir?
- Kubernetes nasıl kurulur?
- OpenShift ne işe yarar?
- Kubernetes Nedir Medium
- Kubernetes Ne İşe yara
- Docker Nedir
- Kubernetes Kurulumu
- Openshift Nedir
- Container Nedir
- Kubernetes ve Docker farkı
- Terraform Nedir
- Sıkça Sorulan Sorular
Kubernetes Nedir
Kubernetes, container tabanlı uygulamaları birden fazla sunucu üzerinde otomatik dağıtmak, ölçeklemek ve yönetmek için kullanılan açık kaynaklı bir orkestrasyon platformudur. Tek bir uygulamayı değil, mikroservislerden oluşan karmaşık sistemleri düzenli şekilde çalıştırmak için tasarlanmıştır.
Kubernetes’in temel amacı, uygulamanın “nerede” çalıştığından çok “nasıl” çalışması gerektiğine odaklanmaktır. Geliştirici veya sistem ekibi, istenen durumu tanımlar; Kubernetes bu durumu korumaya çalışır.

Örneğin bir servisin 5 kopya çalışması gerekiyorsa ve biri çökerse, Kubernetes otomatik olarak yeni bir kopya başlatır.
| Kubernetes Bileşeni | Görevi | Pratik Karşılığı |
|---|---|---|
| Pod | En küçük çalışma birimi | Container’ın çalıştığı alan |
| Node | Uygulamaların çalıştığı sunucu | Fiziksel/VM sunucu |
| Cluster | Node’ların bütünü | Kubernetes ortamı |
| Service | Pod’lara erişim sağlar | Sabit ağ adresi |
| Deployment | Sürüm ve kopya yönetimi | Güncelleme ve rollback |
İpucu: Kubernetes’i yalnızca “container çalıştıran araç” gibi düşünmek eksik olur. Asıl gücü; izleme, otomatik iyileştirme, servis keşfi, yük dengeleme ve dağıtım yönetimindedir.
Docker ve Kubernetes nedir?
Docker, uygulamaları container içinde paketlemeyi ve çalıştırmayı sağlar; Kubernetes ise bu container’ların büyük ölçekte yönetilmesini üstlenir. Docker daha çok paketleme ve çalıştırma tarafındayken, Kubernetes orkestrasyon ve operasyon tarafında konumlanır.
Bir benzetme yapmak gerekirse Docker, uygulamayı taşınabilir bir kutuya koyar. Kubernetes ise bu kutuların hangi sunucuda, kaç adet, hangi ağ kurallarıyla ve hangi kaynak sınırlarıyla çalışacağını yönetir.
| Özellik | Docker | Kubernetes |
|---|---|---|
| Ana görev | Container oluşturma ve çalıştırma | Container orkestrasyonu |
| Kullanım ölçeği | Tek makine veya küçük ortam | Çok sunuculu büyük ortam |
| Otomatik iyileştirme | Sınırlı | Güçlü |
| Ölçekleme | Manuel veya ek araçlarla | Yerleşik |
| Servis keşfi | Temel düzey | Gelişmiş |
Docker ve Kubernetes birlikte kullanılabilir. Ancak modern Kubernetes sürümlerinde Docker runtime doğrudan şart değildir; containerd gibi runtime’lar daha yaygın hale gelmiştir.
Kubernetes yönetimi nedir?
Kubernetes yönetimi, cluster’ın güvenli, stabil, performanslı ve sürdürülebilir şekilde işletilmesidir. Yalnızca kurulum yapmak yeterli değildir; kaynak planlama, erişim kontrolü, izleme, yedekleme, güncelleme ve maliyet optimizasyonu da yönetimin parçasıdır.
İyi yönetilmeyen Kubernetes ortamlarında gereksiz kaynak tüketimi, karmaşık hata ayıklama süreçleri ve güvenlik açıkları ortaya çıkabilir. Bu nedenle büyük projelerde Kubernetes yönetimi ayrı bir uzmanlık alanı olarak ele alınır.
Başlıca yönetim alanları:
- Kaynak yönetimi: CPU, RAM limitleri ve request değerleri
- Güvenlik: RBAC, secret yönetimi, network policy
- Gözlemlenebilirlik: Log, metrik ve tracing
- Sürüm yönetimi: Rolling update, rollback, canary deployment
- Yedekleme: Etcd ve kalıcı veri stratejileri
| Yönetim Alanı | Neden Önemli? | Kullanılan Yaklaşım |
|---|---|---|
| Güvenlik | Yetkisiz erişimi önler | RBAC, namespace izolasyonu |
| Performans | Kaynak israfını azaltır | Limit/request planlaması |
| Süreklilik | Kesintileri azaltır | Health check, autoscaling |
| İzleme | Sorunları erken gösterir | Prometheus, Grafana, log araçları |
Kubernetes nasıl kurulur?
Kubernetes kurulumu; test, geliştirme ve üretim ortamına göre farklı şekilde yapılır. Lokal denemeler için Minikube veya Kind yeterliyken, üretim ortamında kubeadm, yönetilen bulut servisleri veya kurumsal platformlar tercih edilir.
Kurulumdan önce şu kararlar verilmelidir:
- Ortam lokal mi, sunucu tabanlı mı, bulut mu olacak?
- Kaç node kullanılacak?
- Network plugin olarak ne seçilecek?
- Storage ihtiyacı var mı?
- İzleme ve loglama nasıl yapılacak?
Basit bir öğrenme ortamı için Minikube tercih edilebilir:
minikube start
kubectl get nodes
Üretim ortamında ise yalnızca cluster’ı ayağa kaldırmak yeterli değildir. Sertifika yönetimi, ingress controller, DNS, storage class, backup ve güvenlik politikaları da planlanmalıdır.
Uyarı: Kubernetes’i üretimde varsayılan ayarlarla kullanmak risklidir. Özellikle açık dashboard, geniş yetkili servis hesapları ve sınırlandırılmamış pod kaynakları ciddi sorunlara yol açabilir.
OpenShift ne işe yarar?
OpenShift, Kubernetes üzerine inşa edilmiş kurumsal bir container platformudur. Kubernetes’in sunduğu orkestrasyon yeteneklerini; geliştirici deneyimi, güvenlik politikaları, CI/CD entegrasyonları ve yönetim araçlarıyla daha kontrollü hale getirir.
OpenShift özellikle büyük kurumlarda tercih edilir çünkü standart Kubernetes’e göre bazı kararları hazır getirir. Image registry, route yönetimi, kullanıcı yetkilendirme ve güvenlik kısıtları daha bütünleşik şekilde sunulur.
| Özellik | Kubernetes | OpenShift |
|---|---|---|
| Temel yapı | Açık kaynak orkestrasyon | Kubernetes tabanlı platform |
| Güvenlik varsayılanları | Elle yapılandırılır | Daha katı varsayılanlar |
| Geliştirici araçları | Ek araç gerekir | Entegre araçlar sunar |
| Kurumsal destek | Dağıtıma göre değişir | Kurumsal destek odaklı |
| Öğrenme eğrisi | Orta-zor | Orta-zor |
OpenShift, Kubernetes’i ortadan kaldırmaz; onu daha yönetilebilir ve standartlaştırılmış bir platforma dönüştürür.
Kubernetes Nedir Medium
“Kubernetes Nedir Medium” araması genellikle konuyu daha sade, örnekli ve deneyim odaklı anlatan içeriklere ulaşmak isteyen kullanıcıların yaptığı bir aramadır. Medium tarzı anlatımlarda teknik kavramlar günlük örneklerle açıklanır; ancak üretim ortamı detayları bazen yüzeysel kalabilir.
Kubernetes’i öğrenirken sadece kısa blog yazılarıyla yetinmemek gerekir. Özellikle gerçek projelerde namespace, ingress, secret, persistent volume, autoscaling ve gözlemlenebilirlik konuları mutlaka pratik edilmelidir.
Daha sağlıklı bir öğrenme sırası şu olabilir:
- Container mantığını öğrenin.
- Docker ile basit image oluşturun.
- Kubernetes pod ve deployment kavramlarını deneyin.
- Service ve ingress ile dış erişimi anlayın.
- Monitoring ve güvenlik konularına geçin.
Kubernetes Ne İşe yara
Kubernetes, uygulamaların kesintiye daha dayanıklı, kolay ölçeklenebilir ve daha düzenli yönetilebilir olmasını sağlar. Özellikle mikroservis mimarisi, yüksek trafik, çok ekipli geliştirme ve sık yayın alma süreçlerinde ciddi avantaj sunar.
Başlıca kullanım alanları:
- Mikroservis uygulamalarını yönetmek
- Trafiğe göre otomatik ölçekleme yapmak
- Yeni sürümleri kesintisiz yayınlamak
- Hatalı sürümden hızlıca geri dönmek
- Kaynakları daha verimli kullanmak
- Farklı ortamları standartlaştırmak
| Senaryo | Kubernetes Fayda Sağlar mı? | Açıklama |
|---|---|---|
| Tek sayfalık küçük site | Genelde hayır | Fazla karmaşık olabilir |
| Mikroservis mimarisi | Evet | Servis yönetimini kolaylaştırır |
| Yüksek trafik alan API | Evet | Ölçekleme ve dayanıklılık sağlar |
| Sık deployment yapılan ürün | Evet | Rolling update avantajlıdır |
| Basit kurumsal panel | Duruma bağlı | Maliyet ve ekip yetkinliği önemli |
Docker Nedir
Docker, uygulama ve bağımlılıklarını container adı verilen izole çalışma ortamlarında paketlemeye yarayan bir teknolojidir. “Benim bilgisayarımda çalışıyordu” sorununu azaltır çünkü uygulama aynı image üzerinden farklı ortamlarda benzer şekilde çalışabilir.
Docker ile bir uygulamanın çalışması için gereken runtime, kütüphaneler ve yapılandırmalar image içinde tanımlanır. Bu image daha sonra container olarak başlatılır.
Docker’ın güçlü olduğu alanlar:
- Geliştirme ortamını standartlaştırma
- Hızlı test ortamı oluşturma
- Uygulama bağımlılıklarını izole etme
- CI/CD süreçlerinde tutarlı build alma
Docker tek başına küçük projeler için yeterli olabilir. Ancak çok sayıda container, servis keşfi, otomatik ölçekleme ve yüksek erişilebilirlik gerekiyorsa Kubernetes devreye girer.
Kubernetes Kurulumu
Kubernetes kurulumu yapılırken amaç sadece cluster oluşturmak değil, sürdürülebilir bir çalışma zemini kurmaktır. Lokal test ortamı ile üretim ortamı aynı ciddiyetle ele alınmamalı; her ortam için farklı kurulum yaklaşımı seçilmelidir.
Kurulum seçenekleri:
| Kurulum Yöntemi | Kullanım Amacı | Zorluk |
|---|---|---|
| Minikube | Lokal öğrenme ve test | Kolay |
| Kind | CI ve lokal cluster denemeleri | Kolay-Orta |
| kubeadm | Sunucu üzerinde manuel kurulum | Orta-Zor |
| Yönetilen Kubernetes | Bulut tabanlı üretim | Orta |
| OpenShift | Kurumsal platform ihtiyacı | Zor |
Temel kurulum sonrası kontrol edilmesi gerekenler:
kubectlbağlantısı çalışıyor mu?- Node’lar hazır durumda mı?
- DNS çözümleme sağlıklı mı?
- Network plugin doğru çalışıyor mu?
- Storage class tanımlı mı?
- Ingress controller kurulmuş mu?
Bilgi kutusu: Kubernetes kurulumu öğrenme amaçlıysa Minikube yeterlidir. Üretim hedefleniyorsa gözlemlenebilirlik, güvenlik, backup ve upgrade stratejisi en baştan tasarlanmalıdır.
Openshift Nedir
OpenShift, Red Hat tarafından geliştirilen Kubernetes tabanlı kurumsal container platformudur. Standart Kubernetes yeteneklerini daha bütünleşik güvenlik, geliştirici araçları, image yönetimi ve operasyon panelleriyle genişletir.
OpenShift’in öne çıktığı noktalar:
- Daha sıkı varsayılan güvenlik politikaları
- Entegre web konsolu
- Image registry desteği
- Route kavramıyla uygulama yayınlama kolaylığı
- Kurumsal destek ve standartlaştırılmış operasyon yapısı
Her proje için OpenShift gerekli değildir. Küçük ve orta ölçekli ekiplerde standart Kubernetes daha esnek ve ekonomik olabilir. Ancak regülasyon, büyük ekip yapısı ve merkezi platform yönetimi söz konusuysa OpenShift daha anlamlı hale gelir.
Container Nedir
Container, bir uygulamanın çalışması için gereken dosyaları, bağımlılıkları ve çalışma ortamını izole şekilde paketleyen hafif sanallaştırma yaklaşımıdır. Sanal makineden farklı olarak her container ayrı işletim sistemi çalıştırmaz; host sistemin çekirdeğini paylaşır.
Bu nedenle container’lar genellikle daha hızlı başlar ve daha az kaynak tüketir. Mikroservis mimarisinde her servis ayrı container olarak paketlenebilir.
| Kriter | Container | Sanal Makine |
|---|---|---|
| Başlama süresi | Saniyeler | Dakikalar |
| Kaynak tüketimi | Daha düşük | Daha yüksek |
| İzolasyon | Süreç seviyesinde | İşletim sistemi seviyesinde |
| Taşınabilirlik | Yüksek | Orta |
| Kullanım alanı | Uygulama dağıtımı | Tam sistem izolasyonu |
Container teknolojisi, Kubernetes’in temel yapı taşıdır. Kubernetes container’ları doğrudan “tek tek” değil, pod gibi soyutlamalar üzerinden yönetir.
Kubernetes ve Docker farkı
Kubernetes ve Docker farkı, görev ayrımında netleşir: Docker container oluşturma ve çalıştırma aracıdır; Kubernetes ise çok sayıda container’ı farklı sunucular üzerinde yönetir. Bu iki teknoloji rakip gibi anlatılsa da pratikte farklı katmanlarda yer alır.
Docker geliştiriciye uygulamayı paketleme kolaylığı sağlar. Kubernetes ise operasyon ekibine uygulamanın ölçeklenmesi, güncellenmesi, izlenmesi ve hatalardan toparlanması için güçlü bir yapı sunar.
| Soru | Docker | Kubernetes |
|---|---|---|
| Uygulamayı paketler mi? | Evet | Hayır, image kullanır |
| Çok sunuculu yönetim sağlar mı? | Sınırlı | Evet |
| Otomatik yeniden başlatır mı? | Temel düzey | Gelişmiş |
| Load balancing sağlar mı? | Kısıtlı | Evet |
| Öğrenmesi kolay mı? | Daha kolay | Daha karmaşık |
Yeni başlayanlar için doğru sıra genellikle Docker → container mantığı → Kubernetes temel kavramları şeklindedir.
Terraform Nedir
Terraform, altyapıyı kod olarak tanımlamaya yarayan açık kaynaklı bir Infrastructure as Code aracıdır. Sunucu, network, veritabanı, Kubernetes cluster veya bulut kaynakları gibi bileşenleri manuel panel işlemleri yerine kodla yönetmeyi sağlar.
Kubernetes ile Terraform doğrudan aynı işi yapmaz. Terraform altyapıyı hazırlar; Kubernetes bu altyapı üzerinde uygulamaları çalıştırır.
Örnek ilişki:
- Terraform ile bulutta Kubernetes cluster oluşturulur.
- Kubernetes ile uygulama deployment edilir.
- Helm veya GitOps araçlarıyla uygulama yapılandırması yönetilir.
| Araç | Odak Alanı | Kubernetes ile İlişkisi |
|---|---|---|
| Docker | Container paketleme | Image üretir |
| Kubernetes | Orkestrasyon | Container’ları yönetir |
| Terraform | Altyapı otomasyonu | Cluster ve kaynakları oluşturur |
| OpenShift | Kurumsal platform | Kubernetes’i genişletir |
Terraform özellikle tekrar edilebilir ortamlar kurmak için değerlidir. Test, staging ve production ortamlarının tutarlı kalmasına yardımcı olur.
Sıkça Sorulan Sorular
Kubernetes öğrenmek zor mu?
Kubernetes başlangıçta zor görünebilir çünkü ağ, depolama, güvenlik, container ve dağıtım kavramlarını birlikte ele alır. Ancak doğru sırayla öğrenildiğinde yönetilebilir hale gelir. Önce Docker ve container mantığı anlaşılmalı, ardından pod, deployment, service ve ingress kavramlarına geçilmelidir. Üretim seviyesi kullanım için izleme, güvenlik ve kaynak yönetimi ayrıca çalışılmalıdır.
Kubernetes küçük projeler için gerekli mi?
Küçük ve düşük trafikli projelerde Kubernetes çoğu zaman gereğinden fazla karmaşıklık oluşturur. Tek sunucu, Docker Compose veya basit bir PaaS çözümü daha pratik olabilir. Kubernetes; yüksek erişilebilirlik, otomatik ölçekleme, mikroservis mimarisi ve sık deployment ihtiyacı olan projelerde daha anlamlıdır. Karar verirken ekip yetkinliği ve operasyon maliyeti mutlaka hesaba katılmalıdır.
Kubernetes Docker olmadan çalışır mı?
Evet, modern Kubernetes ortamları Docker olmadan da çalışabilir. Kubernetes container çalıştırmak için container runtime kullanır; containerd ve CRI-O yaygın seçeneklerdir. Docker hâlâ image oluşturma ve geliştirme süreçlerinde sık kullanılır, fakat Kubernetes node’larında Docker runtime zorunlu değildir. Bu ayrımı bilmek, güncel mimariyi anlamak açısından önemlidir.
Kubernetes ile OpenShift aynı şey mi?
Hayır, aynı şey değildir. OpenShift, Kubernetes üzerine kurulmuş kurumsal bir platformdur. Kubernetes temel orkestrasyon yeteneklerini sunarken OpenShift; güvenlik politikaları, web konsolu, image registry, geliştirici araçları ve kurumsal destek gibi ek katmanlar sağlar. Her OpenShift ortamı Kubernetes temellidir, fakat her Kubernetes ortamı OpenShift değildir.
Kubernetes kurulumu için kaç sunucu gerekir?
Öğrenme ve test için tek makine yeterlidir; Minikube veya Kind kullanılabilir. Üretim ortamında ise yüksek erişilebilirlik hedefleniyorsa birden fazla control plane ve worker node önerilir. Küçük üretim ortamlarında üç node ile başlanabilir, ancak gerçek sayı trafik, yedeklilik beklentisi, kaynak ihtiyacı ve bütçeye göre belirlenmelidir.
Kubernetes ne zaman tercih edilmemeli?
Ekipte container ve operasyon deneyimi yoksa, uygulama çok basitse veya trafik öngörülebilir düzeyde düşükse Kubernetes tercih edilmeyebilir. Ayrıca sadece tek bir monolitik uygulama çalıştıran küçük yapılarda yönetim yükü faydasından fazla olabilir. Kubernetes kararı teknik ihtiyaç kadar bakım maliyeti, güvenlik sorumluluğu ve ekip kapasitesiyle birlikte değerlendirilmelidir.
Terraform Kubernetes yerine geçer mi?
Terraform Kubernetes’in yerine geçmez; farklı bir problemi çözer. Terraform altyapıyı kodla oluşturmak ve yönetmek için kullanılır. Kubernetes ise uygulamaları container olarak çalıştırır ve yönetir. Bir projede Terraform ile Kubernetes cluster kurulabilir, ardından uygulamalar Kubernetes manifestleri, Helm chart’ları veya GitOps araçlarıyla dağıtılabilir.
Kubernetes güvenli midir?
Kubernetes doğru yapılandırıldığında güvenli bir platform olabilir, ancak varsayılan kurulumlar her zaman üretim için yeterli değildir. RBAC, secret yönetimi, network policy, image tarama, pod security ayarları ve düzenli güncellemeler gerekir. Güvenlik yalnızca cluster seviyesinde değil, container image ve CI/CD süreci dahil tüm yaşam döngüsünde ele alınmalıdır.
Kubernetes ile mikroservis şart mı?
Hayır, Kubernetes kullanmak için mikroservis mimarisi şart değildir. Monolitik uygulamalar da Kubernetes üzerinde çalışabilir. Ancak Kubernetes’in asıl avantajı, çok sayıda servis ve bağımlılığın yönetildiği yapılarda daha belirgin hale gelir. Monolitik bir uygulamada Kubernetes kullanılacaksa ölçekleme, yayın alma ve altyapı standardizasyonu gibi somut faydalar aranmalıdır.
Kubernetes maliyetleri artırır mı?
Kubernetes yanlış planlanırsa maliyetleri artırabilir. Gereğinden fazla node, sınırlandırılmamış kaynak kullanımı, boşta çalışan pod’lar ve yetersiz izleme buna neden olur. Doğru yapılandırıldığında ise kaynakları daha verimli kullanmayı sağlayabilir. Request-limit ayarları, autoscaling, node seçimi ve düzenli kapasite analizi maliyet kontrolü için kritiktir.
İlgili içerikler
- Docker Compose Nedir ve Ne Zaman Kullanılır?
- Mikroservis Mimarisi Nedir?
- DevOps Nedir ve Şirketlere Ne Kazandırır?
- CI/CD Pipeline Nasıl Kurulur?
- Bulut Sunucu Seçerken Nelere Dikkat Edilmeli?
Kubernetes, büyük projelerde yalnızca teknik bir tercih değil, operasyonel bir olgunluk adımıdır. Eğer container mimarisi, sunucu yönetimi veya ölçeklenebilir altyapı konusunda profesyonel destek arıyorsanız, ihtiyaçlarınıza uygun yapılandırma için Netlen’in altyapı ve sunucu çözümlerini inceleyebilirsiniz: https://www.netlen.com.tr/
Netlen'i Google'da Takip Edin
En güncel rehberlerimize, duyurularımıza ve teknik içeriklerimize Google üzerinden öncelikli ulaşmak için Netlen'i tercih ettiğiniz kaynaklar arasına ekleyin.
Bu yazıyı paylaşın
Yazar Hakkında
Ahmet Yılmaz
Sistem Mühendisi
Sistem mühendisi olarak Linux sunucu yönetimi, ağ güvenliği ve bulut altyapı optimizasyonu konularında uzmanlaşmış deneyimli bir profesyonelim.
Yorumlar
Bu yazı hakkında okuyucu yorumları


