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ı
| Kavram | Açıklama |
|---|---|
| Pod | En küçük dağıtım birimi, bir veya daha fazla konteyner içerir |
| Deployment | Pod'ların deklaratif yönetimi, rollback desteği |
| Service | Pod'lara ağ erişimi sağlar (ClusterIP, NodePort, LoadBalancer) |
| Namespace | Kaynakları mantıksal olarak ayırır |
| Ingress | HTTP/HTTPS routing, SSL terminasyonu |
| ConfigMap/Secret | Uygulama 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=80Docker 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.

