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 دارد ولی ارزشش رو داره.