Anasayfa Bulut Bilişim ve Sanallaştırma Kubernetes 2026: Container Orchestration ile Ölçeklenebilir, Yüksek Erişilebilir Web Uygulamaları Yönetme Rehberi

Kubernetes 2026: Container Orchestration ile Ölçeklenebilir, Yüksek Erişilebilir Web Uygulamaları Yönetme Rehberi

Son güncelleme tarihi Feb 16, 2026

Giriş: Kubernetes Nedir, Docker vs Kubernetes Farkı ve Neden Büyük Projelerde Vazgeçilmez?

Kubernetes (K8s), Google tarafından geliştirilen açık kaynaklı bir container orchestration platformudur. 2026 yılında, CNCF'nin son raporlarına göre Kubernetes üretimde %82 oranında benimsenmiş durumda ve AI/ML workloads'larının ana motoru haline gelmiş. Temel amacı, container'ları (örneğin Docker tabanlı) otomatik yönetmek: dağıtım, ölçekleme, güncelleme ve self-healing.

Docker vs Kubernetes Farkı:

  • Docker: Tek container'ları oluşturur ve çalıştırır. Lokal geliştirme için ideal, ama birden fazla container'ı yönetmekte yetersiz kalır.

  • Kubernetes: Docker gibi araçlarla oluşturulan container'ları orchestrate eder. Pod'lar, deployment'lar ve service'ler ile yüzlerce container'ı koordine eder.

Neden vazgeçilmez?

  • Otomatik Ölçekleme: Horizontal Pod Autoscaler (HPA) ile trafik arttığında pod'ları otomatik çoğaltır; 2026'da AI workloads için GPU tabanlı ölçekleme standart.

  • Rolling Updates: Sıfır downtime ile yeni versiyonları deploy et; canary/blue-green stratejileriyle riski minimize et.

  • Self-Healing: Arızalı pod'ları otomatik restart eder veya değiştirir; node failure'larında workload'ları başka node'lara taşır.

  • Büyük projelerde: Mikroservis mimarilerinde vazgeçilmez; Fairwinds'in 2026 raporuna göre AI backbone olarak kullanılıyor, platform engineering ile standartlaştırılıyor.

Kaliteweb olarak bu rehberde 2026 güncel pratikleri adım adım anlatacağız: temel kavramlardan production setup'a, güvenlikten troubleshooting'e.

Temel Kavramlar: Pod, Deployment, Service, ReplicaSet, Namespace, ConfigMap/Secret

Kubernetes'in yapı taşları:

  1. Pod: En küçük birim; bir veya daha fazla container'ı kapsar. Aynı pod'daki container'lar network ve storage'ı paylaşır. Örnek: Bir web app ve sidecar logging container.

  2. Deployment: Pod'ları yönetir; replica sayısı, update stratejisi belirler. Self-healing sağlar.

  3. ReplicaSet: Deployment'ın arkasında çalışır; istenen pod sayısını korur.

  4. Service: Pod'lara sabit IP/DNS sağlar. Türleri: ClusterIP (internal), NodePort (external test), LoadBalancer (cloud LB).

  5. Namespace: Kaynakları mantıksal ayırır; dev/staging/prod için kullanılır.

  6. ConfigMap/Secret: Konfigürasyon verilerini (env vars, files) depolar. Secret şifreli (base64, ama external vault önerilir).

2026 güncel: Pod Security Standards (PSS) ile pod'lar otomatik güvenli hale getiriliyor; Namespace'lerde resource quota'lar AI workloads için zorunlu.

Adım Adım Kurulum ve İlk Proje: Minikube ile Local Test, Kubectl Komutları, YAML Manifest Örnekleri

Kurulum (2026 Tavsiyesi):

  • Minikube: Lokal test için en kolay. brew install minikube (Mac) veya curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 (Linux).

  • Kubectl: Kubernetes CLI. brew install kubectl veya resmi docs'tan indir.

  • Başlat: minikube start --driver=docker (Docker driver ile).

İlk Proje: Basit Nginx Deployment

  1. YAML Dosyası Oluştur (nginx-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.25
    
            ports:
    
            - containerPort: 80
    
    
  2. Service YAML (nginx-service.yaml):

    
    apiVersion: v1
    
    kind: Service
    
    metadata:
    
      name: nginx-service
    
    spec:
    
      selector:
    
        app: nginx
    
      ports:
    
        - protocol: TCP
    
          port: 80
    
          targetPort: 80
    
      type: LoadBalancer
    
    
  3. Apply: kubectl apply -f nginx-deployment.yaml ve kubectl apply -f nginx-service.yaml.

  4. Kontrol Komutları:

    • kubectl get pods – Pod'ları listele.

    • kubectl get deployments – Deployment durum.

    • kubectl get services – Service IP'si.

    • kubectl scale deployment nginx-deployment --replicas=5 – Ölçekle.

    • kubectl rollout status deployment/nginx-deployment – Update status.

    • kubectl logs <pod-name> – Log'ları gör.

  5. Erişim: minikube service nginx-service ile tarayıcıda aç.

Checklist: İlk Deployment Öncesi

  • [ ] Minikube/kubectl yüklü mü?

  • [ ] YAML syntax hatasız mı? (kubectl apply --dry-run=client -f file.yaml ile test et)

  • [ ] Image pull policy: Always mı? (Güncel image için)

  • [ ] Resource limits tanımlı mı? (cpu: 100m, memory: 128Mi)

  • [ ] Liveness/Readiness probe ekli mi? (Örnek: httpGet path: /, port: 80)

Production-Ready Setup: EKS/AKS/GKE vs Self-Hosted Kubeadm, Helm Chart'ları ile Kolay Deployment

Managed vs Self-Hosted:

  • Managed (2026 Tavsiyesi): AWS EKS, Azure AKS, Google GKE. AI workloads için GPU node pool'lar otomatik. Maliyet: EKS $0.10/saat/cluster + EC2.

    • Avantaj: Auto-upgrade, security patching, integration (EKS Blueprint'lar ile).
  • Self-Hosted (Kubeadm): Kaliteweb VPS'te kur. kubeadm init ile master, kubeadm join ile worker ekle. 2026'da Kubeadm v1.35+ cgroup v2 varsayılan.

Helm ile Deployment:

Helm: "Kubernetes'in package manager'ı". helm install my-nginx bitnami/nginx ile hazır chart deploy et.

  • Örnek: Prometheus Helm chart'ı: helm repo add prometheus-community https://prometheus-community.github.io/helm-chartshelm install monitoring prometheus-community/kube-prometheus-stack.

2026 güncel: Cluster API v1.12 ile cluster yönetimi declarative; in-place updates ile downtime azalıyor.

Monitoring ve Logging: Prometheus + Grafana Entegrasyonu, ELK Stack

Prometheus + Grafana:

  • Prometheus: Metric toplar (CPU, memory, network).

  • Kurulum: Helm ile kube-prometheus-stack.

  • Grafana: Dashboard'lar; alert'ler Slack/Email'e.

  • 2026 Trend: OpenTelemetry standartlaşıyor; eBPF ile kernel-level visibility (deeper observability).

ELK Stack (Elasticsearch, Logstash, Kibana):

  • Fluentd ile log topla → Elasticsearch'e yolla → Kibana'da görselleştir.

  • Entegrasyon: helm install elasticsearch elastic/elasticsearch.

İpuçları: SLO'lar tanımla (uptime %99.9); AI-assisted signal processing ile anomaly detection.

Güvenlik En İyi Uygulamaları: RBAC, Network Policies, Pod Security Standards

RBAC (Role-Based Access Control):

  • Roller tanımla: kubectl create role pod-reader --verb=get --verb=list --resource=pods.

  • Binding: kubectl create rolebinding read-pods --role=pod-reader --user=dev-user.

Network Policies: Trafiği kısıtla.

  • Örnek YAML:

    
    apiVersion: networking.k8s.io/v1
    
    kind: NetworkPolicy
    
    metadata:
    
      name: allow-web-to-db
    
    spec:
    
      podSelector:
    
        matchLabels:
    
          role: db
    
      ingress:
    
      - from:
    
        - podSelector:
    
            matchLabels:
    
              role: web
    
    

Pod Security Standards (PSS): Baseline/Restricted profilleri uygula; privileged container'ları yasakla.

2026 Güncel: v1.35 security update ile kubeconfig exec plugin allowlist; zero-trust prensipleri standart. OWASP Kubernetes Top 10'a göre audit yap.

Yaygın Hatalar ve Troubleshooting: Pod Crash, Service Discovery Sorunları

Yaygın Hatalar:

  1. Pod Crash: Yanlış image tag veya env vars.

  2. Service Discovery: Label selector mismatch.

  3. Resource Starvation: Limits tanımlamamak → OOMKilled.

  4. Network Issues: CNI plugin hatası.

Troubleshooting Komutları:

  • kubectl describe pod <pod-name> – Events gör.

  • kubectl exec -it <pod-name> -- /bin/sh – İçine gir.

  • kubectl port-forward service/nginx 8080:80 – Local test.

  • kubectl debug node/<node-name> -it --image=busybox – Node debug.

2026 İpucu: Checkpoint/Restore WG ile pod migration kolaylaşıyor; crash-loop'larda AI-assisted debugging.

Gerçek Dünya Örnekleri: Mikroservis Mimarisi, CI/CD ile GitOps: ArgoCD/Flux

Mikroservis Örneği: E-ticaret app: User service, Product service, Order service ayrı deployment'lar; Istio service mesh ile traffic management.

GitOps ile CI/CD:

  • ArgoCD: Git repo'yu izler, otomatik sync eder. helm install argocd argo/argo-cd.

  • Flux: Benzer, lightweight. 2026'da GitOps %80 adoption; promotion pipeline ile enterprise uyumlu.

Başarı Hikayesi: Bir fintech şirketi EKS + ArgoCD ile deployment süresini 1 saatten 5 dakikaya düşürdü; AI inference için GPU scheduling kullandı.

Sonuç + Gelecek Trendleri: eBPF, Service Mesh gibi Istio

Kubernetes 2026'da AI-optimized runtime: MLOps için GPU scheduling, edge clusters için real-time AI.

Gelecek Trendleri:

  • eBPF: Kernel-level observability; telemetry standardization, AI-assisted processing.

  • Service Mesh (Istio/Linkerd): Traffic encryption, mTLS, canary routing standart.

  • Wasm: Lightweight runtime, pod-centric scheduler makeover.

  • GitOps + Platform Engineering: Internal Developer Platforms ile standardization.

  • Cost Optimization: FinOps entegrasyonu, TCO scrutiny.

  • Security: Runtime threat detection, zero-trust native.

  • AI Convergence: Kubernetes unified hybrid cloud platform; stateful AI workloads.