
İçindekiler
Kubernetes Nedir? Ne İşe Yarar?
Kubernetes nedir, nasıl çalışır, Docker ile farkı nedir? Pod, container, kurulum, yönetim ve kullanım alanlarını sade anlatımla öğrenin.

Cenk ŞEKERCİ
Operasyon Yöneticisi
Uygulamalar artık tek bir sunucuda çalışan basit yazılımlar olmaktan çıktı; mikroservisler, container’lar, otomatik ölçekleme ve kesintisiz dağıtım standart hâline geldi. Kubernetes Nedir sorusu da tam burada önem kazanıyor: Dağınık çalışan container tabanlı uygulamaları düzenli, güvenli ve yönetilebilir hâle getiren güçlü bir orkestrasyon platformundan söz ediyoruz.
İçindekiler
- Kubernetes Nedir Ne İşe Yarar
- Kubernetes Ne İse Yarar
- Kubernetes Nedir Nasıl Çalışır
- Kubernetes Neden Kullanılır
- Docker ve Kubernetes Nedir?
- Docker Nedir
- Container Nedir
- Kubernetes Pod Nedir
- Kubernetes Kurulumu
- Kubernetes Yönetimi Nedir?
- Kubernetes Ücretli Mi?
- Kubernetes Kimin?
- Openshift Nedir
- Devops Nedir
- Kubernetes Nedir Medium
- Sıkça Sorulan Sorular
Kubernetes Nedir Ne İşe Yarar
Kubernetes, container içinde çalışan uygulamaları otomatik olarak dağıtan, ölçekleyen, izleyen ve yöneten açık kaynaklı bir container orkestrasyon platformudur. Tek tek container çalıştırmaktan çok daha fazlasını yapar; uygulamanın sağlıklı kalmasını, trafik almasını ve gerektiğinde yeniden başlatılmasını sağlar.
Kubernetes özellikle mikroservis mimarilerinde kullanılır. Bir uygulama; ödeme, kullanıcı yönetimi, bildirim, arama ve raporlama gibi parçalara ayrıldığında bu servislerin nerede çalışacağı, nasıl ölçekleneceği ve nasıl güncelleneceği karmaşıklaşır.
Kubernetes bu karmaşıklığı yönetmek için şu görevleri üstlenir:

- Container’ları uygun sunuculara yerleştirir.
- Çöken servisleri yeniden başlatır.
- Trafiği sağlıklı instance’lara yönlendirir.
- Yeni sürümleri kesintisiz dağıtmaya yardımcı olur.
- Kaynak kullanımını daha verimli hâle getirir.
İpucu: Kubernetes’i “container çalıştıran araç” olarak değil, container tabanlı sistemleri ayakta tutan yönetim katmanı olarak düşünmek daha doğru olur.
Kubernetes Ne İse Yarar
Kubernetes, uygulamaların üretim ortamında güvenilir şekilde çalışmasına yarar. Geliştirici tarafında yazılımın paketlenmesini kolaylaştırırken, operasyon tarafında ölçekleme, hata toleransı, servis keşfi ve dağıtım süreçlerini standartlaştırır.
Aşağıdaki tablo Kubernetes’in temel kullanım alanlarını daha net gösterir:
| Kullanım Alanı | Kubernetes’in Sağladığı Fayda |
|---|---|
| Otomatik ölçekleme | Trafik arttığında uygulama kopyalarını artırabilir |
| Hata toleransı | Çöken pod veya container’ları yeniden başlatabilir |
| Servis keşfi | Servislerin birbirini sabit adreslerle bulmasını sağlar |
| Dağıtım yönetimi | Yeni sürümleri kontrollü şekilde yayına alır |
| Kaynak optimizasyonu | CPU ve RAM kullanımını daha verimli planlar |
Kubernetes özellikle yoğun trafik alan web uygulamaları, SaaS platformları, API servisleri, finansal sistemler ve bulut tabanlı ürünlerde tercih edilir.
Kubernetes Nedir Nasıl Çalışır
Kubernetes, bir cluster üzerinde çalışan node’ları ve bu node’lar içindeki pod’ları yöneterek çalışır. Kullanıcı istenen durumu tanımlar; Kubernetes de sistemi sürekli izleyerek mevcut durumu bu hedefe yaklaştırmaya çalışır.
Temel çalışma mantığı “desired state” yani istenen durum prensibine dayanır. Örneğin “bu uygulamadan 5 kopya çalışsın” derseniz Kubernetes gerçekten 5 kopyanın çalışıp çalışmadığını kontrol eder. Bir kopya çökerse yenisini oluşturur.
Kubernetes Bileşenleri
| Bileşen | Görevi |
|---|---|
| Cluster | Kubernetes’in yönettiği tüm altyapı |
| Node | Uygulamaların çalıştığı sunucu veya sanal makine |
| Pod | Container’ların çalıştığı en küçük Kubernetes birimi |
| Deployment | Uygulama sürümü ve kopya sayısını yönetir |
| Service | Pod’lara sabit erişim noktası sağlar |
| Control Plane | Cluster’ın karar ve yönetim katmanıdır |
Kubernetes’te uygulama genellikle YAML dosyalarıyla tanımlanır. Bu dosyalarda image, port, kaynak limiti, replica sayısı ve environment değişkenleri gibi bilgiler yer alır.
Kubernetes Neden Kullanılır
Kubernetes, container sayısı arttığında manuel yönetimin sürdürülemez hâle gelmesi nedeniyle kullanılır. Birkaç container’ı elle yönetmek kolay olabilir; fakat onlarca servis, yüzlerce pod ve farklı ortamlar devreye girdiğinde otomasyon gerekir.
Kubernetes kullanmanın başlıca nedenleri şunlardır:
- Kesintisiz dağıtım: Yeni sürümler kontrollü biçimde yayına alınabilir.
- Ölçeklenebilirlik: Trafiğe göre uygulama kopyaları artırılıp azaltılabilir.
- Taşınabilirlik: Aynı yapı bulut, şirket içi sunucu veya hibrit ortamda çalışabilir.
- Standart operasyon: Geliştirme, test ve canlı ortamlar daha tutarlı yönetilir.
- Kendi kendini iyileştirme: Sağlıksız pod’lar otomatik yeniden oluşturulur.
| Kubernetes Olmadan | Kubernetes İle |
|---|---|
| Container takibi manuel yapılır | Pod ve servisler merkezi yönetilir |
| Ölçekleme elle planlanır | Otomatik ölçekleme yapılabilir |
| Hata müdahalesi gecikebilir | Sağlıksız servisler izlenir |
| Dağıtım riski yüksektir | Rolling update ve rollback kullanılabilir |
Docker ve Kubernetes Nedir?
Docker, uygulamaları container olarak paketlemek ve çalıştırmak için kullanılır; Kubernetes ise bu container’ları çoklu sunucu ortamında yönetir. Yani Docker daha çok paketleme ve çalıştırma tarafında, Kubernetes ise orkestrasyon tarafında konumlanır.
Bu iki teknoloji rakip gibi anlatılsa da pratikte farklı ihtiyaçlara cevap verir. Docker ile bir uygulamayı container image hâline getirebilirsiniz. Kubernetes ise bu image’dan kaç kopya çalışacağını, hangi node’da konumlanacağını ve trafiğin nasıl yönleneceğini belirler.
| Ö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 ortamlar | Çoklu sunucu ve üretim ortamları |
| Ölçekleme | Sınırlı ve manuel olabilir | Otomatik ve merkezi yönetilebilir |
| Servis yönetimi | Temel düzeyde | Gelişmiş servis keşfi ve load balancing |
| Öğrenme eğrisi | Daha kolay | Daha karmaşık |
Docker Nedir
Docker, bir uygulamayı çalışması için gereken bağımlılıklarla birlikte paketleyen container platformudur. Kod, runtime, kütüphaneler ve yapılandırmalar tek bir image içinde taşınabilir hâle gelir.
Docker sayesinde “benim bilgisayarımda çalışıyordu” problemi azalır. Çünkü uygulama aynı image ile geliştirici bilgisayarında, test ortamında ve sunucuda benzer şekilde çalıştırılabilir.
Docker özellikle şu işler için kullanılır:
- Geliştirme ortamlarını standartlaştırma
- Mikroservisleri izole çalıştırma
- CI/CD pipeline süreçlerini hızlandırma
- Uygulamaları taşınabilir hâle getirme
Container Nedir
Container, bir uygulamanın kodunu ve çalışması için gereken bağımlılıkları izole bir ortamda paketleyen hafif sanallaştırma birimidir. Sanal makineden farklı olarak tam bir işletim sistemi taşımaz; host işletim sistemi çekirdeğini paylaşır.
Bu yüzden container’lar hızlı başlar, daha az kaynak tüketir ve taşınabilirlik sağlar. Ancak güvenlik, ağ yapılandırması ve kalıcı veri yönetimi doğru tasarlanmalıdır.
| Kriter | Container | Sanal Makine |
|---|---|---|
| Başlama süresi | Saniyeler içinde | Daha yavaş |
| Kaynak kullanımı | Daha hafif | Daha yüksek |
| İzolasyon | Process düzeyinde | İşletim sistemi düzeyinde |
| Taşınabilirlik | Yüksek | Orta |
| Kullanım alanı | Mikroservis, CI/CD | Tam sistem izolasyonu |
Kubernetes Pod Nedir
Kubernetes pod, Kubernetes’te çalıştırılabilen en küçük dağıtım birimidir. Bir pod genellikle tek bir container içerir; ancak aynı ağ ve depolama alanını paylaşması gereken birden fazla container da aynı pod içinde çalışabilir.
Pod’lar kalıcı varlıklar gibi düşünülmemelidir. Bir pod silinebilir, yeniden oluşturulabilir veya başka bir node üzerinde çalıştırılabilir. Bu nedenle uygulama tasarımında pod’ların geçici olduğu kabul edilmelidir.
Pod Kullanımında Dikkat Edilecekler
- Kalıcı veri pod içine yazılmamalı, volume kullanılmalıdır.
- CPU ve RAM limitleri tanımlanmalıdır.
- Health check ayarları yapılmalıdır.
- Log’lar merkezi bir sisteme aktarılmalıdır.
- Tek pod’a bağımlı mimariden kaçınılmalıdır.
Uyarı: Pod IP’leri değişebilir. Bu nedenle pod’lara doğrudan bağlanmak yerine Kubernetes Service kullanmak daha sağlıklı bir yaklaşımdır.
Kubernetes Kurulumu
Kubernetes kurulumu, kullanım amacına göre yerel geliştirme ortamında, şirket içi sunucularda veya yönetilen bulut servislerinde yapılabilir. Öğrenme için Minikube veya Kind yeterliyken, üretim ortamında güvenlik, yedeklilik ve gözlemlenebilirlik planlanmalıdır.
Basit bir öğrenme senaryosunda tipik adımlar şöyledir:
- Container runtime hazırlanır.
- Kubernetes aracı seçilir: Minikube, Kind veya kubeadm.
kubectlkomut satırı aracı kurulur.- Cluster başlatılır.
- Örnek deployment ve service oluşturulur.
- Log, monitoring ve network kontrolleri yapılır.
Kurulum Seçenekleri
| Seçenek | Kimler İçin Uygun? | Not |
|---|---|---|
| Minikube | Öğrenme ve lokal test | Tek makinede hızlı başlangıç |
| Kind | CI testleri ve lokal cluster | Docker container içinde cluster |
| kubeadm | Kendi cluster’ını kurmak isteyenler | Daha fazla operasyon bilgisi ister |
| Yönetilen Kubernetes | Üretim ortamları | Operasyon yükünü azaltır |
Üretim ortamında Kubernetes kurmak yalnızca “cluster ayağa kaldırmak” değildir. Ağ politikaları, ingress, TLS, secret yönetimi, yedekleme, izleme ve güncelleme stratejisi de birlikte düşünülmelidir.
Kubernetes Yönetimi Nedir?
Kubernetes yönetimi, cluster’ın güvenli, güncel, performanslı ve kesintisiz çalışmasını sağlama sürecidir. Sadece pod’ların çalışıp çalışmadığını izlemek yeterli değildir; kaynak kullanımı, sürüm yönetimi, erişim yetkileri ve güvenlik politikaları da yönetimin parçasıdır.
Kubernetes yönetiminde öne çıkan konular:
- Cluster güncellemeleri
- Node kapasite planlaması
- Deployment ve rollback süreçleri
- Log ve metrik izleme
- Secret ve config yönetimi
- Network policy yapılandırması
- Backup ve disaster recovery planı
İyi yönetilmeyen Kubernetes ortamları beklenmedik maliyet, güvenlik açığı ve performans sorunları oluşturabilir. Bu nedenle küçük projelerde bile standart manifest yapısı, kaynak limitleri ve gözlemlenebilirlik araçları erken aşamada kurulmalıdır.
Kubernetes Ücretli Mi?
Kubernetes’in kendisi açık kaynaklı ve ücretsizdir. Ancak Kubernetes çalıştırmak için kullanılan sunucu, bulut altyapısı, depolama, ağ trafiği, izleme araçları ve yönetilen servisler ücretli olabilir.
Yani “Kubernetes ücretsiz mi?” sorusunun doğru cevabı şudur: Yazılım olarak ücretsizdir, işletim maliyeti vardır.
| Maliyet Kalemi | Açıklama |
|---|---|
| Sunucu / Node | Cluster’ın çalıştığı fiziksel veya sanal makineler |
| Depolama | Volume, disk ve yedekleme maliyetleri |
| Ağ trafiği | Load balancer ve veri transfer ücretleri |
| Yönetilen servis | Bulut sağlayıcının operasyon hizmet bedeli |
| İzleme araçları | Log, metrik ve alarm sistemleri |
Küçük bir test ortamı düşük maliyetli olabilir. Ancak üretim ortamında yüksek erişilebilirlik, güvenlik ve izleme ihtiyaçları maliyeti artırır.
Kubernetes Kimin?
Kubernetes ilk olarak Google tarafından geliştirilmiş, daha sonra Cloud Native Computing Foundation’a yani CNCF’ye bağışlanmıştır. Bugün açık kaynak topluluğu, CNCF ekosistemi ve birçok teknoloji şirketinin katkısıyla geliştirilmeye devam eder.
Kubernetes’in kökeni Google’ın büyük ölçekli sistem yönetimi deneyimine dayanır. Ancak bugünkü Kubernetes tek bir şirketin kapalı ürünü değildir; açık standartlara dayalı, topluluk tarafından geliştirilen bir projedir.
Bu yapı, Kubernetes’in farklı bulut sağlayıcılarında ve şirket içi altyapılarda yaygın kullanılmasının ana nedenlerinden biridir.
Openshift Nedir
OpenShift, Kubernetes üzerine kurulu kurumsal bir container platformudur. Kubernetes’in sunduğu orkestrasyon yeteneklerini geliştirici deneyimi, güvenlik, imaj yönetimi, CI/CD entegrasyonu ve kurumsal yönetim araçlarıyla genişletir.
OpenShift genellikle daha standart, destekli ve politika odaklı Kubernetes deneyimi isteyen kurumlar tarafından tercih edilir. Kubernetes’i doğrudan kullanmak daha esnek olabilir; OpenShift ise hazır gelen araçlarla operasyon yükünü azaltabilir.
| Kriter | Kubernetes | OpenShift |
|---|---|---|
| Yapı | Açık kaynak orkestrasyon platformu | Kubernetes tabanlı kurumsal platform |
| Esneklik | Yüksek | Daha kural ve politika odaklı |
| Kurulum | Seçime göre değişir | Daha bütünleşik yapı |
| Güvenlik | Kullanıcı yapılandırmasına bağlı | Varsayılan güvenlik yaklaşımı daha sıkıdır |
| Kullanıcı profili | Geliştirici ve platform ekipleri | Kurumsal platform ekipleri |
Devops Nedir
DevOps, yazılım geliştirme ve operasyon ekiplerinin daha hızlı, güvenilir ve otomatik süreçlerle birlikte çalışmasını hedefleyen kültür, süreç ve araç yaklaşımıdır. Kubernetes, DevOps pratiklerini destekleyen önemli teknolojilerden biridir.
DevOps yalnızca araç kullanmak değildir. CI/CD, izleme, otomasyon, geri bildirim döngüsü, altyapının kodla yönetilmesi ve ekipler arası sorumluluk paylaşımı bu yaklaşımın parçalarıdır.
Kubernetes DevOps süreçlerinde şu alanlarda değer sağlar:
- Otomatik deployment
- Ortam tutarlılığı
- Rollback kolaylığı
- Infrastructure as Code uyumu
- Mikroservis yönetimi
- Gözlemlenebilirlik entegrasyonları
Kubernetes Nedir Medium
“Kubernetes nedir Medium” araması genellikle konuyu daha sade, deneyim odaklı veya örneklerle anlatan yazılara ulaşmak isteyen kullanıcılar tarafından yapılır. Medium’daki içerikler başlangıç için faydalı olabilir; ancak üretim ortamı kararlarında resmî dokümantasyon ve güncel teknik kaynaklar da kontrol edilmelidir.
Kubernetes öğrenirken yalnızca teorik makale okumak yeterli değildir. Küçük bir lokal cluster kurup deployment, service, ingress ve configmap gibi temel nesneleri denemek öğrenmeyi hızlandırır.
Başlamak için iyi bir öğrenme sırası:
- Docker ve container mantığını öğrenin.
- Pod, deployment ve service kavramlarını anlayın.
- Lokal Kubernetes ortamı kurun.
- Basit bir uygulamayı deploy edin.
- Log, scaling ve rollback işlemlerini deneyin.
Sıkça Sorulan Sorular
Kubernetes Nedir?
Kubernetes, container içinde çalışan uygulamaları yönetmek için kullanılan açık kaynaklı bir orkestrasyon platformudur. Uygulamaların hangi sunucuda çalışacağını, kaç kopya ile hizmet vereceğini, çöken parçaların nasıl yeniden başlatılacağını ve trafiğin nasıl yönlendirileceğini yönetir. Özellikle mikroservis mimarilerinde, çok sayıda container’ın güvenilir şekilde çalışması için kullanılır.
Kubernetes Ne İşe Yarar?
Kubernetes; dağıtım, ölçekleme, servis keşfi, yük dengeleme ve hata sonrası iyileştirme gibi operasyonel işleri otomatikleştirir. Trafik arttığında uygulama kopyalarını artırabilir, sorunlu pod’ları yeniden oluşturabilir ve yeni sürümleri kontrollü şekilde yayına alabilir. Bu sayede ekipler tek tek sunucu yönetmek yerine uygulamanın istenen durumda kalmasına odaklanır.
Kubernetes Öğrenmek Zor Mu?
Kubernetes başlangıçta zor görünebilir çünkü pod, deployment, service, ingress, configmap ve volume gibi birçok kavram içerir. Ancak Docker ve temel ağ bilgisi olan biri için öğrenme süreci daha yönetilebilirdir. En iyi yöntem küçük bir lokal cluster kurup gerçek komutlarla deneme yapmaktır. Teoriyi uygulamayla desteklemek öğrenme süresini ciddi şekilde kısaltır.
Docker Olmadan Kubernetes Kullanılır Mı?
Kubernetes, Docker dışında farklı container runtime’ları ile de çalışabilir. Güncel Kubernetes mimarisinde containerd ve CRI-O gibi runtime seçenekleri yaygın olarak kullanılır. Docker hâlâ geliştirme ve image oluşturma tarafında çok kullanışlıdır; ancak Kubernetes’in çalışması için Docker’ın doğrudan runtime olarak bulunması şart değildir.
Kubernetes Küçük Projeler İçin Gerekli Mi?
Her küçük proje Kubernetes’e ihtiyaç duymaz. Tek sunucuda çalışan basit bir web sitesi veya düşük trafikli uygulama için Kubernetes fazla karmaşık olabilir. Ancak proje mikroservis mimarisine sahipse, sık deployment yapılıyorsa, ölçekleme ihtiyacı varsa veya ekip üretim standartlarını erken kurmak istiyorsa Kubernetes değerlendirilebilir.
Kubernetes Üretim Ortamında Güvenli Mi?
Kubernetes doğru yapılandırıldığında üretim ortamında güvenli şekilde kullanılabilir. Ancak varsayılan kurulum her zaman yeterli güvenlik sağlamaz. RBAC, network policy, secret yönetimi, image tarama, pod security ayarları ve düzenli güncelleme süreçleri uygulanmalıdır. Güvenlik Kubernetes’in otomatik sunduğu tek bir özellik değil, dikkatli yönetilmesi gereken sürekli bir süreçtir.
Kubernetes İçin Hangi Bilgiler Gerekir?
Kubernetes öğrenmek için temel Linux, ağ, Docker, YAML, HTTP, container image ve komut satırı bilgisi faydalıdır. İleri seviyede ise CI/CD, monitoring, logging, security, ingress controller ve storage konuları gerekir. Başlangıçta tüm konuları bilmek şart değildir; pod, deployment ve service kavramlarıyla başlamak yeterlidir.
Kubernetes ve OpenShift Arasındaki Fark Nedir?
Kubernetes açık kaynaklı container orkestrasyon platformudur. OpenShift ise Kubernetes üzerine kurulu, kurumsal özellikler ekleyen daha bütünleşik bir platformdur. OpenShift; güvenlik politikaları, geliştirici araçları, imaj yönetimi ve destekli yapı açısından daha hazır bir deneyim sunar. Kubernetes daha esnek, OpenShift ise daha standart ve kurumsal yönetim odaklıdır.
Kubernetes Kurulumu İçin En Kolay Yol Nedir?
Öğrenme amacıyla en kolay yol Minikube veya Kind kullanmaktır. Bu araçlar lokal bilgisayarda küçük bir Kubernetes cluster’ı oluşturmayı sağlar. Üretim ortamında ise kubeadm veya yönetilen Kubernetes servisleri tercih edilebilir. Yeni başlayanlar önce lokal kurulumla pod, deployment ve service denemeleri yapmalıdır.
Kubernetes Maliyeti Nasıl Hesaplanır?
Kubernetes’in kendisi ücretsizdir; maliyet altyapıdan gelir. Node sayısı, CPU ve RAM kapasitesi, disk kullanımı, yedekleme, load balancer, ağ trafiği ve izleme araçları toplam maliyeti belirler. Yönetilen Kubernetes servislerinde operasyon kolaylığı sağlanır ancak sağlayıcının servis ücretleri de hesaba katılmalıdır. Gerçek maliyet için kaynak limitleri ve autoscaling politikaları dikkatle planlanmalıdır.
İlgili İçerikler
- Docker Nedir? Container Mantığı Nasıl Çalışır?
- DevOps Nedir? CI/CD Süreçleri Nasıl Kurulur?
- Mikroservis Mimarisi Nedir?
- Container Güvenliği İçin Temel Kontrol Listesi
- Kubernetes Deployment ve Service Kullanımı
Kubernetes, doğru senaryoda kullanıldığında uygulama yönetimini ciddi biçimde kolaylaştırır; yanlış senaryoda ise gereksiz operasyon yükü doğurabilir. Eğer amacınız ölçeklenebilir, izlenebilir ve standart bir container altyapısı kurmaksa Kubernetes’i önce küçük bir test ortamında deneyip ihtiyaçlarınıza göre planlamak en sağlıklı adımdır.
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
Yorumlar
Bu yazı hakkında okuyucu yorumları


