PostgreSQL একটি ওপেন-सোর্স RDBMS যা জটিল ডেটাসেট হ্যান্ডেল করার জন্য পরিচিত। Kubernetes কন্টেইনারাইজড অ্যাপ্লিকেশনের ডিপ্লয়মেন্ট, স্কেলিং, এবং ম্যানেজমেন্ট অটোমেট করে। Kubernetes-এ PostgreSQL ডিপ্লয় করলে অটোমেটেড স্কেলিং, রোলিং আপডেট, এবং রেপ্লিকা ও ফেইলওভারের মাধ্যমে উন্নত নির্ভরযোগ্যতা मिलে।
ডিপ্লয়মেন্ট ধাপগুলো
Cluster Image Manifest Deploy Monitor
ধাপ ১: Kubernetes ক্লাস্টার সেটআপ করুন
একটি ক্লাউড প্রোভাইডার ব্যবহার করুন (AWS EKS, GCP GKE, Azure AKS) বা Minikube দিয়ে লোকালি সেটআপ করুন। kubectl ইনস্টল করুন এবং ঐচ্ছিকভাবে Helm।
ধাপ ২: ডিপ্লয়মেন্ট ম্যানিফেস্ট তৈরি করুন
PostgreSQL ডিপ্লয়মেন্ট একটি YAML ফাইলে ডিফাইন করুন এনভায়রনমেন্ট ভেরিয়েবল, ভলিউম, এবং পোর্টের সাথে:
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:16
ports:
- containerPort: 5432
env:
- name: POSTGRES_USER
value: "admin"
- name: POSTGRES_PASSWORD
value: "secretpass"
- name: POSTGRES_DB
value: "mydb"
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgres-storage
volumes:
- name: postgres-storage
persistentVolumeClaim:
claimName: postgres-pvc
---
apiVersion: v1
kind: Service
metadata:
name: postgres-svc
spec:
selector:
app: postgres
ports:
- port: 5432
targetPort: 5432
type: ClusterIP
ধাপ ৩: ডিপ্লয় এবং মনিটর করুন
# Deploy kubectl apply -f postgres-manifest.yaml # Check pod status kubectl get pods # View logs kubectl logs# Monitor resources kubectl top pods
ধাপ ৪: স্কেল এবং ব্যাকআপ
# Scale replicas kubectl scale deployment postgres --replicas=3 # Backup using pg_dump kubectl exec-- pg_dump -U admin mydb > backup.sql
উপসংহার
Kubernetes-এ PostgreSQL ডিপ্লয় করা রবাস্ট ডেটাবেস ম্যানেজমেন্টকে কন্টেইনার অর্কেস্ট্রেশনের সুবিধাগুলোর সাথে কম্বাইন করে: অটোমেটেড স্কেলিং, রোলিং আপডেট, পার্সিস্টেন্ট স্টোরেজ, এবং ফেইলওভার। আপনার ডিপ্লয়মেন্ট YAML ম্যানিফেস্টে ডিফাইন করুন, kubectl apply দিয়ে ডিপ্লয় করুন, এবং স্ট্যান্ডার্ড Kubernetes কমান্ড দিয়ে মনিটর করুন।