Blog'a Dön

Kubernetes Nedir? Başlangıç Rehberi (2026)

Kubernetes konteyner orkestrasyon platformu: Pod, Service, Deployment kavramları, minikube kurulumu ve HPA ile otomatik ölçekleme.

kubernetesk8sdockerkonteynerdevopsölçekleme

Kubernetes (K8s), konteynerleştirilmiş uygulamaları otomatik olarak dağıtmak, ölçeklendirmek ve yönetmek için tasarlanmış açık kaynak bir orkestrasyon platformudur. Docker konteynerlerini büyük ölçekte yönetmek için endüstri standardıdır.

Kubernetes Temel Kavramları

KavramAçıklama
PodEn küçük dağıtım birimi, bir veya daha fazla konteyner içerir
DeploymentPod'ların deklaratif yönetimi, rollback desteği
ServicePod'lara ağ erişimi sağlar (ClusterIP, NodePort, LoadBalancer)
NamespaceKaynakları mantıksal olarak ayırır
IngressHTTP/HTTPS routing, SSL terminasyonu
ConfigMap/SecretUygulama yapılandırma ve gizli bilgi yönetimi

Minikube ile Yerel Kurulum

# Minikube kurulumu (öğrenme amaçlı)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

# Cluster başlatma
minikube start --driver=docker --cpus=2 --memory=4096

# kubectl kurulumu
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install kubectl /usr/local/bin/kubectl

# Cluster durumunu kontrol
kubectl cluster-info
kubectl get nodes

İlk Deployment

# 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
        resources:
          limits:
            cpu: "250m"
            memory: "128Mi"
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80
# Uygulamayı dağıt
kubectl apply -f nginx-deployment.yaml

# Durumu kontrol et
kubectl get pods
kubectl get services
kubectl describe deployment nginx-deployment

Ölçeklendirme

# Manuel ölçeklendirme
kubectl scale deployment nginx-deployment --replicas=5

# Otomatik ölçeklendirme (HPA)
kubectl autoscale deployment nginx-deployment --min=2 --max=10 --cpu-percent=80

Docker vs Kubernetes

Docker tek bir host üzerinde konteyner çalıştırırken, Kubernetes birden fazla host üzerinde konteyner orkestrasyonu sağlar. Küçük projeler için Docker Compose yeterli olabilirken, üretim ortamları için Kubernetes tercih edilmelidir.

Kubernetes cluster için yüksek performanslı Dedicated Sunucu çözümlerimizi inceleyin.