Kubernetes Nedir? Bulut Bilişimin Beyni

/
/
/
60 Views

Kubernetes (k8s), konteynerleştirilmiş uygulamaları dağıtmak, ölçeklendirmek ve yönetmek için kullanılan açık kaynaklı bir konteyner orkestrasyon platformudur. Google tarafından 2014’te geliştirilen ve şimdi Cloud Native Computing Foundation (CNCF) tarafından yönetilen Kubernetes, mikroservis mimarisi ve bulut tabanlı sistemlerin vazgeçilmez bir parçası haline geldi. Peki Kubernetes tam olarak nasıl çalışır? Hangi sorunları çözer? Bu rehberde, “Kubernetes nedir?” sorusunu tüm detaylarıyla yanıtlıyoruz.


Kubernetes’in Tarihçesi ve Temel Kavramlar

Kubernetes, Google’ın Borg sisteminden esinlenerek oluşturuldu. Temel amacı, binlerce konteynerin otomatik yönetimini sağlamaktır. İşte Kubernetes ekosisteminin temel bileşenleri:

1. Node (Düğüm)

  • Worker Node: Konteynerlerin çalıştığı sunucular.
  • Master Node: Küme yönetiminden sorumlu kontrol düzlemi.

2. Pod

Kubernetes’teki en küçük dağıtım birimidir. Bir veya birden fazla konteyner içerebilir.

3. Deployment

Uygulamanın istenen durumunu (replica sayısı, güncelleme stratejisi) tanımlar.

4. Service

Pod’lara kalıcı bir IP ve DNS adresi atayarak iletişimi kolaylaştırır.

5. Ingress

Harici trafiği küme içindeki servislere yönlendirir.


Kubernetes Nasıl Çalışır? Mimari ve İşleyiş

Kubernetes, kontrol düzlemi ve çalışan düğümler arasında iletişim kurarak çalışır:

  1. Kullanıcı Talimatı: kubectl apply -f deployment.yaml gibi komutlarla istenen durum tanımlanır.
  2. API Sunucusu: Talimatları alır ve küme durumunu günceller.
  3. Controller Manager ve Scheduler: Pod’ları uygun düğümlere yerleştirir.
  4. Kubelet ve Kube Proxy: Düğümlerdeki konteynerleri yönetir ve ağ trafiğini düzenler.
OKU  GeForce Experience Kullanımı: Oyun Performansını Maksimize Etme Rehberi

Örnek Senaryo:
Bir deployment dosyası ile 3 replikalı bir web uygulaması başlatılıp otomatik ölçeklendirilebilir.


Kubernetes vs. Geleneksel Sunucu Yönetimi

ÖzellikKubernetesGeleneksel Yöntem
ÖlçeklenebilirlikOtomatik yatay/dikey ölçeklemeManuel müdahale gerektirir
Hata ToleransıPod’lar otomatik yeniden başlatılırTek sunucu hatası kritik olabilir
Kaynak KullanımıYüksek verimlilikDüşük optimizasyon

Kubernetes’in Avantajları: Neden Kullanmalısınız?

  1. Yüksek Erişilebilirlik: Uygulamalar kesintisiz çalışır.
  2. Otomasyon: Dağıtım, ölçekleme ve güncellemeler otomatiktir.
  3. Maliyet Optimizasyonu: Kaynaklar verimli kullanılır.
  4. Çoklu Bulut Desteği: AWS, Google Cloud, Azure ile uyumlu.

Kubernetes Kullanım Senaryoları

1. Mikroservis Mimarisi

Her mikroservis, bağımsız bir Pod olarak dağıtılır ve Service’lerle iletişim kurar.

2. CI/CD Pipeline’ları

Kubernetes, test ve canlı ortamlar arasında tutarlı dağıtım sağlar.

3. Büyük Veri ve AI/ML İş Yükleri

Spark veya TensorFlow eğitimlerini Kubernetes üzerinde paralel çalıştırma.

4. Hybrid Cloud Çözümleri

Şirket içi ve bulut sunucularını tek bir kümede yönetme.


Kubernetes Kurulumu: Minikube ile Başlangıç

Minikube, yerel makinede Kubernetes denemek için ideal bir araçtır:

  1. Minikube’i İndirin:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64  
sudo install minikube-linux-amd64 /usr/local/bin/minikube  
  1. Kubernetes Kümesini Başlatın:
minikube start --driver=docker  
  1. Örnek Uygulama Çalıştırın:
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4  
kubectl expose deployment hello-minikube --type=NodePort --port=8080  

Kubernetes ile Örnek Deployment

  1. Deployment Dosyası Oluşturun (deployment.yaml):
apiVersion: apps/v1  
kind: Deployment  
metadata:  
  name: nginx-deployment  
spec:  
  replicas: 3  
  selector:  
    matchLabels:  
      app: nginx  
  template:  
    metadata:  
      labels:  
        app: nginx  
    spec:  
      containers:  
      - name: nginx  
        image: nginx:1.21  
        ports:  
        - containerPort: 80  
  1. Deploy Edin:
kubectl apply -f deployment.yaml  
  1. Durumu Kontrol Edin:
kubectl get pods  

Sıkça Sorulan Sorular (SSS)

1. Kubernetes Öğrenmek Zor mu?
Temel DevOps bilgisiyle başlanabilir, ancak kompleks senaryolar deneyim gerektirir.

2. Kubernetes Ücretli mi?
Açık kaynaklı ve ücretsizdir, ancak bulut sağlayıcılar yönetilen hizmetler için ücret alır.

OKU  Windows Oyun Modu Ayarları: FPS Artırma ve Performans Optimizasyonu

3. Docker ile Kubernetes Arasındaki Fark Nedir?
Docker konteynerleri çalıştırır, Kubernetes bu konteynerleri yönetir.


Kubernetes’in Geleceği: 2024 Trendleri

  • Serverless Entegrasyonu: Knative ile FaaS (Function-as-a-Service) desteği.
  • Edge Computing: IoT cihazlarında hafif Kubernetes dağıtımları (k3s).
  • Güvenlik Odaklı Gelişmeler: Pod güvenlik politikaları ve şifreli iletişim.

Sonuç: Kubernetes Neden Kritik Öneme Sahip?

Kubernetes, modern bulut mimarilerinin olmazsa olmazıdır. Ölçeklenebilirlik, otomasyon ve çoklu bulut desteğiyle işletmelerin dijital dönüşümünü hızlandırır. Geliştiriciden operasyon ekibine kadar herkesin Kubernetes’i anlaması, çağın gerekliliği haline geldi.

Kubernetes hakkında daha fazla bilgi için Docker Nedir? ve Bulut Bilişim Rehberi yazılarımızı okuyabilirsiniz.

Bu rehber, Kubernetes’i öğrenmek isteyenler için temel bir başlangıç sunar. Sorularınızı yorumlara yazmayı unutmayın!

Leave a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This div height required for enabling the sticky sidebar