DevOps & Bulut Mimari

Kubernetes ve Docker ile Ölçeklenebilir Mikroservis Mimarisi Kurulumu

Yazar: Kaan Yılmaz Tarih: 4 Eylül 2026 Okuma Süresi: 6 Dakika

Geleneksel monolitik yazılım mimarileri, yüksek trafik altında ve hızlı yayın süreçlerinde esneklik kaybına yol açar. Cloud-native dönüşümün merkezinde yer alan Kubernetes (K8s), konteynerize edilmiş uygulamaların dağıtımını, ölçeklenmesini и yönetimini otomatikleştirir.

1. Kubernetes Temel Bileşenleri

Kubernetes kümesi (cluster), Master Node (Control Plane) ve Worker Node olmak üzere iki ana katmandan oluşur. Pod'lar, uygulamanızın en küçük çalıştırılabilir birimleridir.

"Konteyner orkestrasyonu, altyapı karmaşıklığını soyutlayarak geliştiricilerin yalnızca kod kalitesine odaklanmasını sağlar."

Örnek Deployment YAML Yapılandırması

Aşağıdaki yapılandırma dosyası, bir Nginx web sunucusunu 3 ayrı Pod üzerinde yatayda otomatik ölçeklendirilecek şekilde tanımlar:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: gtr-web-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: gtr-web
  template:
    metadata:
      labels:
        app: gtr-web
    spec:
      containers:
      - name: nginx
        image: nginx:1.25-alpine
        ports:
        - containerPort: 80

2. Pod Auto-Scaling ve Yük Dengelenmesi

Horizontal Pod Autoscaler (HPA), işlemci (CPU) ve bellek (RAM) kullanım oranlarına göre Pod sayısını dinamik olarak artırır veya azaltır.

Strateji Avantajı Kullanım Senaryosu
Horizontal Scaling (HPA) Sıfır Kesinti, Yüksek Esneklik Değişken Trafik Yükleri
Vertical Scaling (VPA) Doğrudan Kaynak Verimliliği Veritabanı / Cache Servisleri
Cluster Autoscaler Fiziksel Sunucu Maliyet Optimizasyonu Bulut Sağlayıcı Altyapıları

3. Helm Chart İle Paket Yönetimi

Karmaşık Kubernetes manifest dosyalarını tek bir paket üzerinden yönetmek için Helm kullanılır. Helm chart'ları sayesinde sürüm kontrolleri (rollback) ve ortam bazlı (staging/production) değişkenler kolayca konfigüre edilebilir.

Sonuç

Kubernetes ile oluşturulan cloud-native altyapılar, yüksek erişilebilirlik (High Availability) ve kesintisiz canlıya alma (Zero-Downtime Deployment) avantajı sunar.