Stateful Application Deploy করা এবং Persistent Storage ব্যবস্থাপনা OpenShift এবং Kubernetes-এ গুরুত্বপূর্ণ একটি প্রক্রিয়া, যেখানে অ্যাপ্লিকেশনটির অবস্থা সংরক্ষণ করা হয়। এই ধরনের অ্যাপ্লিকেশন সাধারণত ডেটাবেস, ওয়েবসার্ভিস বা অন্য কোনও সিস্টেম যা ডেটা স্থায়িত্বের প্রয়োজন।
নিচে Stateful Application Deploy করার প্রক্রিয়া এবং Persistent Storage ব্যবস্থাপনার পদক্ষেপ আলোচনা করা হলো।
Stateful Application Deploy করা
উদাহরণ: MongoDB ডেপ্লয়মেন্ট
Persistent Volume এবং Persistent Volume Claim তৈরি করুন
Stateful Application-এর জন্য প্রথমে Persistent Volume (PV) এবং Persistent Volume Claim (PVC) তৈরি করতে হবে। এটি নিশ্চিত করে যে আপনার ডেটা Pods বন্ধ হলে হারাবে না।
Persistent Volume (PV) কনফিগারেশন:
Persistent Volume Claim (PVC) কনফিগারেশন:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongodb-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/mongodb # Local storage path
StatefulSet তৈরি করুন
StatefulSet হল Kubernetes-এর একটি উপাদান যা Stateful Applications পরিচালনার জন্য ব্যবহৃত হয়। এটি Pods-এর জীবনচক্র পরিচালনা করে এবং তাদের অবস্থান বজায় রাখে।
StatefulSet কনফিগারেশন:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongodb
spec:
serviceName: "mongodb"
replicas: 1
selector:
matchLabels:
app: mongodb
template:
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: mongo:latest
ports:
- containerPort: 27017
volumeMounts:
- name: mongodb-storage
mountPath: /data/db
volumeClaimTemplates:
- metadata:
name: mongodb-storage
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
Service তৈরি করুন
Stateful Application-এর জন্য Service তৈরি করা হয় যাতে Pods-এর মধ্যে যোগাযোগ হয়।
Service কনফিগারেশন:
apiVersion: v1
kind: Service
metadata:
name: mongodb
spec:
ports:
- port: 27017
clusterIP: None # StatefulSet-এর জন্য Headless service
selector:
app: mongodb
Persistent Storage ব্যবস্থাপনা
Stateful Applications-এর জন্য Persistent Storage ব্যবস্থাপনা নিশ্চিত করে যে ডেটা Pods বন্ধ হলে হারাবে না। এটি পরিচালনার জন্য কিছু পদক্ষেপ গ্রহণ করতে হবে:
Storage Class তৈরি করুন (যদি NFS বা Cloud Storage ব্যবহার করতে হয়):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: my-storage-class
provisioner: kubernetes.io/no-provisioner # For static provisioning
volumeBindingMode: WaitForFirstConsumer
Persistent Volume (PV) এবং Persistent Volume Claim (PVC) তৈরি করুন: পূর্বের নির্দেশনাগুলি অনুসরণ করুন।
Monitoring: Persistent Volume-এর অবস্থার উপর নজর রাখতে, OpenShift Monitoring বা Prometheus ব্যবহার করুন। এটি ডেটা সুরক্ষা এবং ব্যাকআপ নিশ্চিত করতে সহায়তা করে।
সারসংক্ষেপ
Stateful Application Deploy করা এবং Persistent Storage ব্যবস্থাপনা OpenShift এবং Kubernetes-এ একটি গুরুত্বপূর্ণ প্রক্রিয়া। StatefulSet ব্যবহার করে আপনি Stateful Applications সহজে পরিচালনা করতে পারেন, যেখানে Persistent Volume এবং PVC ব্যবহার করে ডেটার স্থায়িত্ব নিশ্চিত করা হয়। এই পদক্ষেপগুলি অনুসরণ করে, আপনি একটি সুরক্ষিত এবং কার্যকরী Stateful Application তৈরি করতে সক্ষম হবেন।
Read more