Kubernetes (K8s) استاندارد صنعتی برای Container Orchestration. اگه چندین Container دارید و باید مدیریت کنید، K8s جواب هست.

K8s چیه؟

یه پلتفرم برای Deploy، Scale و Manage اپلیکیشن‌های Container. از Google.

مفاهیم

Pod: کوچک‌ترین واحد
Deployment: مدیریت Pod
Service: شبکه
Ingress: HTTP routing
ConfigMap: تنظیمات
Secret: امن

مزایا

Self-healing: خودکار Restart
Load Balancing: توزیع بار
Rolling Update: بدون Downtime
Scaling: خودکار

Managed K8s

AWS EKS
Google GKE
Azure AKS
DigitalOcean K8s

Self-hosted

kubeadm، kops، Rancher.

YAML Config

Deployment YAML:
apiVersion: apps/v1
kind: Deployment
spec:
  replicas: 3

kubectl

ابزار Command line:
kubectl get pods
kubectl apply -f deploy.yaml
kubectl scale deployment web --replicas=5

Namespace

جدا کردن پروژه‌ها.

Helm

Package Manager K8s. مثل apt.

Persistent Volume

Storage پایدار.

Cluster Sizing

حداقل 3 Node برای High Availability.

Cost

Managed پول لازم. Small projects نیاز نیست.

K3s

K8s سبک برای Edge و کوچک.

K8s vs Docker Compose

Compose ساده، Docker تک server. K8s بزرگ، چند server.

سباهاست

VPS و Dedicated سباهاست برای K8s Self-hosted.

جمع‌بندی

K8s برای پروژه‌های بزرگ ضروریه. Learning curve دارد ولی ارزشش رو داره.