Kubernetes persistent volume controller
अवलोकन
- Kubernetes के PersistentVolume (PV) और PersistentVolumeClaim (PVC) को सिंक्रोनाइज़ करने वाला controller
- PVC और PV के बीच द्विदिश "pointer" को मैनेज करके data loss को रोकता है
- high availability mode में काम करता है, और ऐसे cases को support करता है जहाँ PVC किसी विशेष PV का अनुरोध करता है या PV किसी विशेष PVC के लिए reserve किया गया हो
मुख्य विशेषताएँ
- PVC और PV की स्थिति को समय-समय पर सिंक्रोनाइज़ करना
- अगर PVC किसी विशेष PV का अनुरोध नहीं करता, तो सबसे उपयुक्त PV खोजकर bind करना
- अगर PVC किसी विशेष PV का अनुरोध करता है, तो यह जाँचना कि वह PV मौजूद है और शर्तें पूरी करता है, फिर bind करना
- अगर PVC पहले से bind है, तो उसकी स्थिति जाँचना और ज़रूरत पड़ने पर उसे ठीक करना
काम करने का तरीका
- जब PVC बनाया या अपडेट किया जाता है, तब
syncClaim method कॉल होती है
- अगर PVC bind नहीं है, तो
syncUnboundClaim method कॉल होती है
- अगर PVC bind है, तो
syncBoundClaim method कॉल होती है
- जब PV बनाया या अपडेट किया जाता है, तब
syncVolume method कॉल होती है
मुख्य methods
syncClaim
- PVC की स्थिति के अनुसार
syncUnboundClaim या syncBoundClaim को कॉल करता है
syncUnboundClaim
- अगर PVC किसी विशेष PV का अनुरोध नहीं करता, तो सबसे उपयुक्त PV खोजकर bind करने की कोशिश करता है
- अगर PVC किसी विशेष PV का अनुरोध करता है, तो यह जाँचकर bind करता है कि वह PV मौजूद है और शर्तें पूरी करता है
syncBoundClaim
- अगर PVC पहले से bind है, तो उसकी स्थिति जाँचता है और ज़रूरत पड़ने पर उसे ठीक करता है
syncVolume
- PV की स्थिति के अनुसार उपयुक्त कार्रवाई करता है
- अगर PV उपयोग में नहीं है, तो उसकी स्थिति को "Available" में अपडेट करता है
- अगर PV किसी विशेष PVC से bind है, तो उस PVC की स्थिति जाँचता है और ज़रूरत पड़ने पर उसे ठीक करता है
GN⁺ का सार
- यह दस्तावेज़ Kubernetes के persistent volume controller का विस्तृत विवरण देता है
- यह PersistentVolume और PersistentVolumeClaim के बीच binding logic को समझने में मदद करता है
- इसमें high availability mode में काम करने के तरीके और विभिन्न exception cases की handling शामिल है
- Kubernetes storage management में रुचि रखने वाले developers के लिए यह उपयोगी सामग्री है
- इसी तरह की functionality देने वाले अन्य projects में OpenEBS, Rook आदि शामिल हैं
1 टिप्पणियां
Hacker News राय
Space Shuttle सॉफ़्टवेयर बहुत स्थिर है, और इसमें लगभग कोई bug नहीं है
कोड सामान्य है, और Go भाषा में लिखा गया है, इसलिए थोड़ा verbose है
नई कंपनी का codebase अच्छी तरह व्यवस्थित है, इसलिए उसे explore करना सुखद है
Space Shuttle का safety record अच्छा नहीं था, इसलिए अब इसका संचालन नहीं होता
structural pattern matching का उपयोग करने से
if/elseblocks को सरल किया जा सकता हैकोड खराब नहीं है, और एक ही rule का पालन कर रहा है
2018 की discussion का link दिया गया है
Kubernetes CSI driver लिखना आनंददायक था
हर
ifstatement के साथelsestatement होना एक safety practice माना जाता हैGitHub file link करते समय किसी विशेष line range को link करने का तरीका दिया गया है