डेवलपरों के लिए Docker और Kubernetes · पाठ

परसिस्टेंट वॉल्यूम और परसिस्टेंट वॉल्यूम क्लेम

समझें कि PV और PVC का उपयोग करके Kubernetes में स्टोरेज का गतिशील प्रावधान और उपयोग कैसे किया जाता है।

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

परसिस्टेंट वॉल्यूम और परसिस्टेंट वॉल्यूम क्लेम, CoddyKit पर डेवलपरों के लिए Docker और Kubernetes का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह डेवलपरों के लिए Docker और Kubernetes सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। डेवलपरों के लिए Docker और Kubernetes पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

अस्थायी Pods, स्थायी डेटा

Kubernetes में Pods को अस्थायी और बदले जा सकने योग्य बनाया गया है। यदि कोई Pod क्रैश हो जाए या उसे किसी अन्य स्थान पर निर्धारित किया जाए, तो उसमें सीधे संग्रहीत सभी डेटा खो जाते हैं।

यह अस्थायी प्रकृति बिना स्थिति वाले अनुप्रयोगों के लिए बहुत अच्छी है, लेकिन उन अनुप्रयोगों का क्या जो डेटाबेस या फ़ाइल सर्वर की तरह डेटा को स्थायी रूप से संग्रहीत करना चाहते हैं?

Persistent Volumes का परिचय

Persistent Volume (PV) क्लस्टर में उपलब्ध ऐसा संग्रहण है जिसे किसी प्रशासक ने या Kubernetes ने गतिशील रूप से उपलब्ध कराया है।

यह अंतर्निहित संग्रहण (जैसे क्लाउड डिस्क, NFS साझा संग्रहण या स्थानीय डिस्क) का एक अमूर्त रूप है, जिससे Pods के लिए इसका उपयोग संभव होता है और उन्हें संग्रहण के विशिष्ट विवरण जानने की आवश्यकता नहीं पड़ती।

PV की क्षमता और पहुँच मोड

प्रत्येक PV की कुछ विशिष्ट विशेषताएँ होती हैं:

  • क्षमता: संग्रहण का आकार, जैसे 10Gi।
  • पहुँच मोड: Pods द्वारा संग्रहण को किस प्रकार माउंट किया जा सकता है।
  • पुनःप्राप्ति नीति: Pod द्वारा वॉल्यूम का उपयोग पूरा करने के बाद उसके साथ क्या होता है।

ये गुण Kubernetes को संग्रहण अनुरोधों का उपलब्ध वॉल्यूम से मिलान करने में सहायता करते हैं।

Pods संग्रहण तक कैसे पहुँचते हैं

PV के पहुँच मोड यह निर्धारित करते हैं कि वॉल्यूम को किस प्रकार माउंट किया जा सकता है:

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

सभी संग्रहण प्रकार सभी मोड का समर्थन नहीं करते। उदाहरण के लिए, स्थानीय डिस्क आमतौर पर केवल RWO का समर्थन करती है।

जारी किए गए PV को संभालना

किसी PV की पुनःप्राप्ति नीति यह निर्धारित करती है कि PV के दावे से मुक्त होने पर अंतर्निहित संग्रहण के साथ क्या होगा:

  • Retain: मैन्युअल पुनःप्राप्ति। डेटा बना रहता है और प्रशासक को उसे मैन्युअल रूप से हटाना पड़ता है।
  • Delete: PV के साथ अंतर्निहित संग्रहण भी स्वचालित रूप से हटा दिया जाता है। गतिशील रूप से उपलब्ध कराए गए वॉल्यूम के लिए यह सामान्य है।
  • Recycle: (अब उपयोग में नहीं) वॉल्यूम का डेटा मिटाकर उसे फिर से उपलब्ध कराता है।

Retain ऐसे महत्वपूर्ण डेटा के लिए उपयोगी है जिसकी समीक्षा हटाने से पहले मैन्युअल रूप से करनी हो।

स्थायी संग्रहण का अनुरोध करना

Persistent Volume Claim (PVC) किसी उपयोगकर्ता या अनुप्रयोग द्वारा किया गया संग्रहण अनुरोध है।

इसे किसी विशेष प्रकार और आकार के संग्रहण के अनुरोध की तरह समझिए। Pods सीधे PVs के साथ काम करने के बजाय PVCs के माध्यम से संग्रहण का अनुरोध करते हैं।

PVCs अमूर्तन की एक परत प्रदान करते हैं, जिससे डेवलपर अंतर्निहित बुनियादी ढाँचे का विवरण जाने बिना संग्रहण का अनुरोध कर सकते हैं।

संग्रहण अनुरोधों का मिलान

जब कोई PVC बनाया जाता है, तो Kubernetes उसे बाँधने के लिए उपयुक्त PV खोजने का प्रयास करता है। इस प्रक्रिया को बाइंडिंग कहा जाता है।

यह उन PVs को खोजता है जो PVC की आवश्यकताओं को पूरा करते हों:

  • क्षमता (आकार)
  • पहुँच मोड
  • संग्रहण वर्ग (यदि निर्दिष्ट हो)

बँध जाने के बाद PV केवल उसी PVC के लिए आरक्षित रहता है।

एक मूल PV परिभाषित करना

इस प्रकार आप एक सरल hostPath Persistent Volume परिभाषित कर सकते हैं। यह प्रकार नोड के फ़ाइल सिस्टम में मौजूद निर्देशिका का उपयोग करता है और मुख्य रूप से एकल-नोड परीक्षण के लिए होता है।

इस उदाहरण को चलाकर देखें (kubectl apply -f pv.yaml):

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

PVC के साथ संग्रहण का अनुरोध करना

अब ऐसा Persistent Volume Claim बनाते हैं जो 1Gi संग्रहण और ReadWriteOnce पहुँच का अनुरोध करता है। उपलब्ध होने पर यह हमारे my-pv से बँध जाएगा।

इस उदाहरण को चलाकर देखें (kubectl apply -f pvc.yaml):

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

PVC को Pod से जोड़ना

अंत में देखते हैं कि कोई Pod हमारे PVC द्वारा उपलब्ध कराए गए संग्रहण का उपयोग कैसे कर सकता है। हम Pod के volumes अनुभाग में PVC का संदर्भ देते हैं और फिर उसे किसी कंटेनर में माउंट करते हैं।

इस उदाहरण को चलाकर देखें (kubectl apply -f pod.yaml):

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

PV और PVC की भूमिकाएँ

Kubernetes में संग्रहण प्रबंधित करने के लिए Persistent Volumes (PVs) और Persistent Volume Claims (PVCs) की अलग-अलग भूमिकाओं को समझना बहुत महत्वपूर्ण है।

कौन-सा कथन Persistent Volume (PV) की मुख्य भूमिका का सही वर्णन करता है?

पुनरावलोकन: स्थायी संग्रहण

बहुत अच्छा! आपने सीखा कि Kubernetes स्थायी संग्रहण का प्रबंधन कैसे करता है:

  • Persistent Volumes (PVs) भौतिक संग्रहण संसाधनों का अमूर्तन करते हैं।
  • Persistent Volume Claims (PVCs) उपयोगकर्ताओं द्वारा किए गए संग्रहण अनुरोध होते हैं।
  • PVs में क्षमता, पहुँच मोड (RWO, ROX, RWX) और पुनःप्राप्ति नीतियाँ (Retain, Delete) होती हैं।
  • PVCs उपलब्ध PVs से बँधते हैं और फिर Pods संग्रहण माउंट करने के लिए PVCs का उपयोग करते हैं।

यह प्रणाली अनुप्रयोगों को डेटा विश्वसनीय रूप से संग्रहीत करने देती है, भले ही Pods फिर से बनाए जाएँ या स्थानांतरित किए जाएँ।

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

एआई शिक्षक के साथ डेवलपरों के लिए Docker और Kubernetes सीखें — निःशुल्क

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

पाठ्यक्रम
12
पाठ
48

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

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

हाँ—“परसिस्टेंट वॉल्यूम और परसिस्टेंट वॉल्यूम क्लेम” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और डेवलपरों के लिए Docker और Kubernetes पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। डेवलपरों के लिए Docker और Kubernetes पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

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

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

क्या डेवलपरों के लिए Docker और Kubernetes शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

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

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

क्या मैं इस डेवलपरों के लिए Docker और Kubernetes पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. परसिस्टेंट वॉल्यूम और परसिस्टेंट वॉल्यूम क्लेम
  2. StatefulSets के साथ स्टेटफुल अनुप्रयोगों का प्रबंधन
  3. कॉन्फ़िगरेशन के लिए ConfigMaps और Secrets
  4. StorageClasses और गतिशील provisioning
← डेवलपरों के लिए Docker और Kubernetes पर वापस जाएँ