टीएल; डीआर आप साझा वॉल्यूम (एनएफएस, ग्लस्टर, इत्यादि ...) के लिए एक ही प्रोजेक्ट/नेमस्पेस के भीतर पीवी और पीवीसी साझा कर सकते हैं, आप कई परियोजनाओं/नामस्थानों से अपनी साझा मात्रा तक पहुंच सकते हैं लेकिन इसकी आवश्यकता होगी प्रोजेक्ट समर्पित पीवी और पीवीसी, एक पीवी के रूप में एक परियोजना/नामस्थान के लिए बाध्य है और पीवीसी प्रोजेक्ट/नेमस्पेस स्कॉप्ड है।
नीचे मैंने वर्तमान व्यवहार को स्पष्ट करने की कोशिश की है और कैसे पीवी और पीवीसी ओपनशफ्ट के भीतर स्कॉप्ड किए गए हैं। एनएफएस का उपयोग लगातार स्टोरेज परत के रूप में ये सरल उदाहरण हैं।
इस बिंदु पर एक्सेस मोड केवल लेबल हैं, उनके पास पीवी तक पहुंच नियंत्रित करने के संदर्भ में कोई वास्तविक कार्यक्षमता नहीं है। नीचे दिए गए कुछ उदाहरण नीचे दिए गए हैं
पीवी इस अर्थ में वैश्विक है कि इसे किसी भी प्रोजेक्ट/नेमस्पेस द्वारा देखा/एक्सेस किया जा सकता है, फिर भी जब यह किसी प्रोजेक्ट से जुड़ा होता है, तो इसे केवल कंटेनर द्वारा एक्सेस किया जा सकता है एक ही प्रोजेक्ट/नेमस्पेस
पीवीसी प्रोजेक्ट/नेमस्पेस विशिष्ट है (इसलिए यदि आपके पास बहु परियोजनाएं हैं तो आपको साझा एनएफएस वॉल्यूम से कनेक्ट करने के लिए प्रत्येक प्रोजेक्ट के लिए एक नया पीवी और पीवीसी होना होगा - पहले से पीवी का पुन: उपयोग नहीं कर सकता परियोजना)
उदाहरण 1:
मैं 2 अलग फली में "डिफ़ॉल्ट" परियोजना/namespa चल रहा है सीई, दोनों एक ही पीवी और एनएफएस निर्यातित शेयर तक पहुंच रहे हैं। दोनों माउंट और रन ठीक है।
[[email protected] nfs_error]# oc get pv
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE
pv-nfs <none> 1Gi RWO Bound default/nfs-claim 3m
[[email protected] nfs_error]# oc get pods <--- running from DEFAULT project, no issues connecting to PV
NAME READY STATUS RESTARTS AGE
nfs-bb-pod2-pvc 1/1 Running 0 11m
nfs-bb-pod3-pvc 1/1 Running 0 10m
उदाहरण 2:
मैं में "डिफ़ॉल्ट" परियोजना/नाम स्थान चल रहा है और एक ही पीवी का उपयोग कर एक और फली बनाने का प्रयास लेकिन testproject
नामक एक नई परियोजना से एक ही एनएफएस निर्यात का उपयोग करने के 2 अलग फली है । नए testproject
से तीसरा पॉड पीवी से जुड़ने में सक्षम नहीं होगा क्योंकि यह पहले से ही default
प्रोजेक्ट से जुड़ा हुआ है।
[[email protected] nfs_error]# oc get pv
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE
pv-nfs <none> 1Gi RWO Bound default/nfs-claim 3m
[[email protected] nfs_error]# oc get pods <--- running from DEFAULT project, no issues connecting to PV
NAME READY STATUS RESTARTS AGE
nfs-bb-pod2-pvc 1/1 Running 0 11m
nfs-bb-pod3-pvc 1/1 Running 0 10m
** एक अन्य परियोजना (testproject) और पीवीसी से मौजूदा पीवी के खिलाफ एक नया दावा असफल हो जायेगी
[[email protected] nfs_error]# oc get pvc
NAME LABELS STATUS VOLUME CAPACITY ACCESSMODES AGE
nfs-claim <none> Pending 2s
** NFS दावा PV-NFS पीवी क्योंकि करने के लिए बाध्य नहीं होगा बनाएं यह इसे नहीं देख सकते से यह चालू परियोजना गुंजाइश है
उदाहरण 3:
2 अलग फली "डिफ़ॉल्ट में चल रहा है "प्रोजेक्ट और फिर testproject
से एक और पीवी और पीवीसी और पॉड बनाएं। दोनों परियोजनाएं एक ही एनएफएस निर्यातित शेयर तक पहुंच पाएंगी, लेकिन मुझे प्रत्येक परियोजना में पीवी और पीवीसी की आवश्यकता है।
[[email protected] nfs_error]# oc get pv
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE
pv-nfs <none> 1Gi RWX Bound default/nfs-claim 14m
pv-nfs2 <none> 1Gi RWX Bound testproject/nfs-claim2 9m
[[email protected] nfs_error]# oc get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default nfs-bb-pod2-pvc 1/1 Running 0 11m
default nfs-bb-pod3-pvc 1/1 Running 0 11m
testproject nfs-bb-pod4-pvc 1/1 Running 0 15s
** नोटिस, मैं अब तीन फली दो परियोजनाओं में एक ही एनएफएस साझा मात्रा करने के लिए चल रहा है, लेकिन मैं जरूरत दो पीवी के रूप में वे एक भी परियोजना के लिए बाध्य कर रहे हैं, और 2 पीवीसी के, एक-एक परियोजना के लिए और एनएफएस पीवी मैं का उपयोग करने की कोशिश कर रहा हूँ
उदाहरण 4:
मैं बाई-पास पीवी और पीवीसी, मैं साझा एनएफएस संस्करणों के लिए सीधे सीधे प्लगइन
NFS का उपयोग कर किसी भी परियोजना से कनेक्ट कर सकते हैं
volumes:
- name: nfsvol
nfs:
path: /opt/data5
server: nfs1.rhs
अब, वॉल्यूम सुरक्षा पूरक समूह (साझा स्टोरेज, यानी एनएफएस, ग्लस्टर, आदि ...) के उपयोग से, इसके ऊपर एक और परत है, व्यवस्थापक और देवताओं को साझा करने के लिए और प्रबंधित करने में सक्षम होना चाहिए एनएफएस प्रणाली।
आशा है कि
धन्यवाद यह आवंटित करने में मदद करता है। –
@DonovanMuller: मैं एकाधिक फली के लिए एक ही पीवी का उपयोग करने की कोशिश भी कर रहा हूं, यह ठीक काम करता है, लेकिन मुझे लगता है कि डेटा इस मामले में फली के बीच भी साझा किया जाता है। यहां मेरी मुख्य चिंता यह है कि यदि पीवी में 2 जीबी डेटा कहता है, तो क्या यह डेटा उन पीडों के लिए उपलब्ध होगा जो इस पीवी का उपयोग कर रहे हैं, जिसे हम सही नहीं चाहते हैं। पॉड के पास केवल इसका डेटा होना चाहिए, न कि दूसरों के। मैंने यहां इस सवाल से भी पूछा http://stackoverflow.com/questions/36624034/openshift-persistent- volumes, लेकिन कोई प्रतिक्रिया नहीं। यदि आप इसे साफ़ कर सकते हैं तो बहुत उपयोगी होगा। अग्रिम में धन्यवाद! – priyank
@ स्क्रीनलाइन: मेरी उपरोक्त क्वेरी के लिए भी आपके विचारों की सराहना करेगा। अनेक अनेक धन्यवाद ! – priyank