DevOps बूटकैंप · पाठ

स्थायी वॉल्यूम और दावे

Persistent Volumes और Persistent Volume Claims का उपयोग करके पॉड्स को स्थायी स्टोरेज उपलब्ध कराना समझिए।

पाठ 3, कुल 4 में से12 चरण

स्थायी वॉल्यूम और दावे, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

पॉड और अस्थायी डेटा

पॉड बनते और समाप्त होते रहते हैं, लेकिन आपके ऐप्लिकेशन का डेटा अक्सर बना रहना चाहिए। डेटाबेस या उपयोगकर्ता द्वारा अपलोड की गई फ़ाइलों के बारे में सोचिए।

  • जब कोई पॉड फिर से शुरू होता है या उसे किसी दूसरे स्थान पर निर्धारित किया जाता है, तो उसके कंटेनर फ़ाइल सिस्टम में सीधे संग्रहीत कोई भी डेटा खो जाता है।
  • यह अस्थायी प्रकृति बिना स्थिति वाले ऐप्लिकेशन के लिए ठीक है, लेकिन महत्वपूर्ण डेटा के लिए टिकाऊ समाधान आवश्यक है।
  • Kubernetes स्थायी स्टोरेज को प्रबंधित करने के लिए एक शक्तिशाली प्रणाली उपलब्ध कराता है, जो पॉड के जीवनचक्र के बाद भी बनी रहती है।

PersistentVolume: क्लस्टर स्टोरेज

PersistentVolume (PV) आपके Kubernetes क्लस्टर में मौजूद स्टोरेज का एक भाग होता है।

  • यह क्लस्टर-स्कोप वाला संसाधन है, अर्थात यह किसी विशेष नेमस्पेस से संबंधित नहीं होता।
  • PVs किसी प्रशासक द्वारा या StorageClass के माध्यम से गतिशील रूप से उपलब्ध कराए जाते हैं।
  • ये अंतर्निहित स्टोरेज तकनीक, जैसे Google Persistent Disk, AWS EBS या NFS शेयर, का विवरण छिपा देते हैं।

PersistentVolume परिभाषित करना

PVs को क्षमता, एक्सेस मोड और स्टोरेज प्रकार जैसे विवरणों के साथ परिभाषित किया जाता है। यह YAML स्थानीय परीक्षण के लिए hostPath का उपयोग करके 5 गीगाबाइट स्टोरेज वाला PV बताता है।

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-local-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: "/mnt/data"

ध्यान दें: hostPath आम तौर पर एकल-नोड विकास के लिए होता है और उत्पादन में इसकी अनुशंसा नहीं की जाती।

PersistentVolumeClaim: पॉड का अनुरोध

PersistentVolumeClaim (PVC) किसी उपयोगकर्ता या ऐप्लिकेशन द्वारा किसी विशेष नेमस्पेस के भीतर किया गया स्टोरेज अनुरोध होता है।

  • पॉड सीधे PV का उपयोग नहीं करते; वे PVC के माध्यम से स्टोरेज का अनुरोध करते हैं।
  • PVC नेमस्पेस-स्कोप वाले होते हैं, इसलिए वे किसी विशेष प्रोजेक्ट या टीम के क्षेत्र में रहते हैं।
  • वे वांछित आकार, एक्सेस मोड और वैकल्पिक रूप से स्टोरेज क्लास निर्दिष्ट करते हैं।

PV और PVC: मेल कराने वाले

Kubernetes बाइंडिंग नामक प्रक्रिया के माध्यम से PVC को उपलब्ध PV से अपने-आप मिलाता है।

  • जब कोई PVC बनाया जाता है, तो Kubernetes ऐसे PV को खोजता है जो PVC की आवश्यकताओं, जैसे आकार, एक्सेस मोड और स्टोरेज क्लास, को पूरा करता हो।
  • उपयुक्त PV मिलने पर दोनों एक-से-एक संबंध में एक-दूसरे से "बाउंड" हो जाते हैं।
  • यह बाइंडिंग सुनिश्चित करती है कि PVC को वही विशिष्ट स्टोरेज मिले जिसका उसने अनुरोध किया था।

PVs/PVCs के एक्सेस मोड

एक्सेस मोड यह निर्धारित करते हैं कि स्टोरेज को पॉड द्वारा कैसे माउंट और उपयोग किया जा सकता है। इन मोड का अनुरोध PVC करते हैं और PV इनका समर्थन करते हैं:

  • ReadWriteOnce (RWO): वॉल्यूम को एकल नोड द्वारा पढ़ने-लिखने के रूप में माउंट किया जा सकता है।
  • ReadOnlyMany (ROX): वॉल्यूम को कई नोड द्वारा केवल-पढ़ने के लिए माउंट किया जा सकता है।
  • ReadWriteMany (RWX): वॉल्यूम को कई नोड द्वारा पढ़ने-लिखने के रूप में माउंट किया जा सकता है।

इन मोड की उपलब्धता विशिष्ट स्टोरेज प्रदाता पर निर्भर करती है।

स्वचालन के लिए Storage Classes

Storage Classes प्रशासकों को स्टोरेज की "कक्षाओं" का विवरण देने का तरीका प्रदान करते हैं, जैसे "fast-ssd" और "slow-hdd"।

  • PV को मैन्युअल रूप से बनाने के बजाय, जब कोई PVC अनुरोध करता है तब StorageClass गतिशील रूप से PV उपलब्ध करा सकता है।
  • यह पहले से तय टेम्पलेट के आधार पर PV बनाने की प्रक्रिया को स्वचालित करता है।
  • यह स्टोरेज उपलब्ध कराने की प्रक्रिया को उसके उपयोग से अलग करता है, जिससे उपयोगकर्ताओं के लिए काम आसान हो जाता है।

PVC बनाने का उदाहरण

आइए ऐसा PVC बनाएँ जो ReadWriteOnce एक्सेस के साथ 1 गीगाबाइट स्टोरेज का अनुरोध करता हो। यह PVC किसी मौजूदा PV को खोजेगा या StorageClass के माध्यम से गतिशील प्रावधान शुरू करेगा।

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-app-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: standard # Optional: if you have a 'standard' StorageClass

इसे pvc.yaml के रूप में सहेजें और kubectl apply -f pvc.yaml के साथ लागू करें।

पॉड में PVC का उपयोग करना

PVC के बाउंड हो जाने के बाद, पॉड अपने वॉल्यूम कॉन्फ़िगरेशन में PVC के नाम का संदर्भ देकर उसका उपयोग कर सकता है। पॉड को अंतर्निहित PV के बारे में जानने की आवश्यकता नहीं होती, केवल PVC के बारे में जानना पर्याप्त है।

apiVersion: v1
kind: Pod
metadata:
  name: my-data-pod
spec:
  containers:
    - name: data-container
      image: busybox
      command: ["/bin/sh", "-c", "echo 'Hello from CoddyKit!' > /mnt/data/hello.txt && sleep 3600"]
      volumeMounts:
        - name: persistent-storage
          mountPath: /mnt/data
  volumes:
    - name: persistent-storage
      persistentVolumeClaim:
        claimName: my-app-pvc

यह पॉड माउंट किए गए स्थायी वॉल्यूम में एक फ़ाइल लिखेगा।

PVs और PVCs की निगरानी

आप kubectl का उपयोग करके अपने स्थायी स्टोरेज संसाधनों की स्थिति की निगरानी कर सकते हैं:

  • सभी PV देखने के लिए: kubectl get pv
  • अपने नेमस्पेस में सभी PVC देखने के लिए: kubectl get pvc
  • स्थिति और घटनाओं सहित विस्तृत जानकारी पाने के लिए:
    • kubectl describe pv <pv-name>
    • kubectl describe pvc <pvc-name>

सुनिश्चित करें कि आपके PVs Bound हैं और PVCs सही PV से Bound हैं।

PV और PVC को समझना

एक उपयोगकर्ता ऐसा डेटाबेस परिनियोजित करना चाहता है जिसे 50GB स्थायी स्टोरेज की आवश्यकता है। उपयोगकर्ता के ऐप्लिकेशन से इस स्टोरेज के अनुरोध को सीधे कौन-सा Kubernetes संसाधन दर्शाता है?

स्थायी स्टोरेज का सारांश

हमने देखा कि Kubernetes आपके ऐप्लिकेशन के लिए टिकाऊ स्टोरेज का प्रबंधन कैसे करता है:

  • PersistentVolumes (PVs) क्लस्टर संसाधन हैं, जो वास्तविक स्टोरेज का प्रतिनिधित्व करते हैं।
  • PersistentVolumeClaims (PVCs) उपयोगकर्ताओं के स्टोरेज अनुरोध होते हैं।
  • Kubernetes आवश्यकताओं के आधार पर PVCs को उपयुक्त PVs से बाइंड करता है।
  • एक्सेस मोड यह निर्धारित करते हैं कि स्टोरेज का उपयोग कैसे किया जा सकता है (RWO, ROX, RWX)।
  • Storage Classes PVs के गतिशील प्रावधान को सक्षम करते हैं और सेटअप को स्वचालित बनाते हैं।

यह प्रणाली सुनिश्चित करती है कि पॉड आते-जाते रहें तब भी आपके ऐप्लिकेशन का डेटा बना रहे और स्थिति वाले ऐप्लिकेशन को विश्वसनीयता मिले।

शुरुआत निःशुल्क

एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
142
पाठ
568

अक्सर पूछे जाने वाले प्रश्न

क्या “स्थायी वॉल्यूम और दावे” पाठ निःशुल्क है?

हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “स्थायी वॉल्यूम और दावे” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“स्थायी वॉल्यूम और दावे” में मैं क्या सीखूँगा?

Persistent Volumes और Persistent Volume Claims का उपयोग करके पॉड्स को स्थायी स्टोरेज उपलब्ध कराना समझिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“स्थायी वॉल्यूम और दावे” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. कॉन्फ़िगरेशन के लिए ConfigMaps
  2. संवेदनशील डेटा के लिए सीक्रेट्स
  3. स्थायी वॉल्यूम और दावे
  4. StorageClasses और गतिशील प्रावधान
← DevOps बूटकैंप पर वापस जाएँ