कुबेरनेट्स में सीआरडी क्या है?
CRD का अर्थ कस्टम रिसोर्स डेफिनिशन है जिसका उपयोग किसी अन्य API सर्वर को जोड़े बिना नए संसाधनों के लिए किया जाता है। सीआरडी के साथ काम करने के लिए, आपको एपीआई एग्रीगेशन को समझने की ज़रूरत नहीं है। यह कुबेरनेट्स 1.7 में पेश की गई एक बहुत ही शक्तिशाली विशेषता है जिसे विभिन्न अंतर्निर्मित संसाधनों और एपीआई वस्तुओं के साथ भेजा जा सकता है। यह आपको अपनी पसंद के स्कीमा और नाम के साथ कस्टम संसाधनों को परिभाषित करने की अनुमति देता है।
सीआरडी कस्टम संसाधन परिभाषाओं का उपयोग करके कुबेरनेट्स एपीआई क्षमताओं को डिफ़ॉल्ट स्थापना से अधिक बढ़ाते हैं। CRDs का उपयोग करके, आप कुबेरनेट्स को इस तरह से मार्गदर्शन कर सकते हैं जो केवल कंटेनरों से अधिक को संभाल सके। आप अपनी पसंद का एक कस्टम संसाधन बना सकते हैं और कस्टम नियंत्रकों का उपयोग करके इसे घोषणात्मक बना सकते हैं। अब, हम सीखते हैं कि कस्टम रिसोर्स डेफिनिशन कैसे बनाएं और फिर CRD को नियंत्रित करने के लिए एक कस्टम कंट्रोलर डिज़ाइन करें। और फिर कुबेरनेट्स पर इसके प्रभाव को देखने के लिए सीडीआर को कैसे हटाएं।
शर्त
इससे पहले कि हम सीआरडी बनाने और हटाने के कदमों पर आगे बढ़ें, हमें यह सुनिश्चित करना चाहिए कि हमारा सिस्टम पूर्वापेक्षाओं की सभी जरूरतों को पूरा करता है।
- उबंटू 20.04 या किसी अन्य नवीनतम संस्करण में काम करने के लिए लिनक्स / यूनिक्स वातावरण है।
- कुबेरनेट्स क्लस्टर।
- Kubectl CLI, kubectl कमांड, क्लस्टर संचार का उपयोग करने और विकास के वातावरण का प्रबंधन करने के लिए।
- मिनीक्यूब या कोई अन्य कुबेरनेट खेल का मैदान क्लस्टर बनाने के लिए
अगले अनुभाग पर जाने से पहले, इन उपकरणों को स्थापित करें, यदि आपने उन्हें अभी तक स्थापित नहीं किया है।
अब, हम कुबेरनेट्स में सीआरडी बनाने के तरीके के बारे में चरण-दर-चरण मार्गदर्शिका की ओर बढ़ेंगे।
चरण # 1: कुबेरनेट्स प्रारंभ करें
सीडीआर के साथ काम करने के लिए, आपके पास कम से कम दो कुबेरनेट्स नोड्स वाला एक क्लस्टर होना चाहिए जो कंट्रोल प्लेन होस्ट के रूप में काम नहीं कर रहे हैं। हम क्लस्टर बनाने और उपयोग करने के लिए मिनीक्यूब का उपयोग कर रहे हैं। तो, मिनीक्यूब शुरू करने के लिए नीचे दी गई कमांड का उपयोग करें:
> मिनिक्यूब शुरू करेंजब आप इस कमांड को निष्पादित करते हैं, तो आपको नीचे दिए गए समान आउटपुट मिलेगा:
चरण # 2: एक कॉन्फ़िगरेशन फ़ाइल खोलें या बनाएँ
अब जब हमारा मिनीक्यूब चालू हो गया है और चल रहा है, तो आइए कॉन्फ़िगरेशन फ़ाइल खोलें। कॉन्फ़िगरेशन फ़ाइलों को खोलने के लिए 'नैनो' कमांड का उपयोग किया जाता है। आपको बस इतना करना है कि फाइल एक्सटेंशन के बाद नैनो कमांड के आगे फाइल का नाम देना है और एंटर दबाना है। यहां, हमारे पास 'red.yaml' फ़ाइल है जिसमें CRD बनाने के लिए कॉन्फ़िगरेशन विवरण शामिल हैं। यहाँ पूर्ण नैनो कमांड है जिसका उपयोग आप अपनी इच्छित फ़ाइल खोलने के लिए कर सकते हैं:
> नैनो red.yamlजब आप इस आदेश को निष्पादित करते हैं, तो निम्न फ़ाइल आपके टर्मिनल में खुलेगी:
चरण # 3: एक समापन बिंदु संसाधन बनाएँ
कॉन्फ़िगरेशन संसाधनों को red.yaml में सहेजा गया है। हम इसका उपयोग नया नामस्थान RESTful API एंडपॉइंट बनाने के लिए करेंगे। Kubectl कॉन्फ़िगरेशन फ़ाइल से समापन बिंदु बनाने के लिए 'लागू करें' आदेश प्रदान करता है। यहां पूरा 'लागू करें' आदेश दिया गया है जिसका उपयोग नए नामस्थान RESTful API को बनाने के लिए किया जाता है:
> कुबेक्टल लागू करें -एफ red.yamlइस आदेश द्वारा बनाए गए एंडपॉइंट का उपयोग कस्टम ऑब्जेक्ट बनाने के लिए किया जाएगा जो सीआरडी को नियंत्रित करेगा। नामांकित संसाधन के लिए निम्न आउटपुट उत्पन्न होगा:
चरण # 4: सीआरडी को नियंत्रित करने के लिए कस्टम ऑब्जेक्ट बनाएं
सीआरडी को कस्टम ऑब्जेक्ट्स द्वारा नियंत्रित किया जाता है। कस्टम संसाधन परिभाषा बन जाने के बाद हम उन्हें बना सकते हैं। कस्टम ऑब्जेक्ट्स में स्वैच्छिक JSON के कस्टम फ़ील्ड होते हैं। कस्टम ऑब्जेक्ट बनाने के लिए, हमें फिर से एक YAML कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होती है। YAML कॉन्फ़िगरेशन फ़ाइल बनाने के लिए 'नैनो' कमांड का उपयोग करें:
> नैनो ct.yamlYAML फ़ाइल में विशिष्ट विवरण के साथ आवश्यक फ़ील्ड सहेजें। नमूना विन्यास विवरण नीचे दिए गए नमूने में दिखाया गया है:
अब, कस्टम ऑब्जेक्ट बनाने के लिए उसी YAML फ़ाइल का उपयोग करें। निर्दिष्ट YAML फ़ाइल से कस्टम ऑब्जेक्ट बनाने के लिए 'लागू करें' कमांड का उपयोग करें। नीचे दी गई पूरी कमांड देखें:
> कुबेक्टल लागू करें -एफ ct.yamlइस आदेश के सफल निष्पादन पर, आपको निम्न आउटपुट मिलेगा:
चरण # 5: CRD को कस्टम ऑब्जेक्ट के साथ प्रबंधित करें
सीआरडी को प्रबंधित करने के लिए कस्टम ऑब्जेक्ट्स का उपयोग किया जाता है। तो, आइए जानें कि हम पहले से बनाए गए सीआरडी को प्रबंधित करने के लिए हाल ही में बनाए गए कस्टम ऑब्जेक्ट का उपयोग कैसे कर सकते हैं। यहां, हम 'गेट' कमांड का उपयोग करके कस्टम ऑब्जेक्ट वाले विवरण की जांच करने जा रहे हैं। नीचे दिए गए कोड स्निपेट में दी गई कमांड देखें:
> कुबेक्टल क्रोंटैब प्राप्त करेंजब आप इस आदेश को मिनीक्यूब टर्मिनल में निष्पादित करते हैं, तो निम्न आउटपुट उत्पन्न होगा:
यदि आप YAML फ़ाइल में निहित कच्चे डेटा की जाँच करना चाहते हैं, तो आप इस कमांड का उपयोग कर सकते हैं:
> कुबेक्टल सीटी प्राप्त करें -इस यमलयह नीचे दिए गए नमूने की तरह YAML फ़ाइल में अपरिष्कृत डेटा दिखाएगा:
इस तरह से हम CRD को प्रबंधित और नियंत्रित करने के लिए CRD और एक कस्टम ऑब्जेक्ट बना सकते हैं। अब अगर आप बने हुए CRD को डिलीट करना चाहते हैं तो आप नीचे दिए गए प्रोसेस को फॉलो कर सकते हैं।
कुबेरनेट्स में बनाए गए सीआरडी को कैसे हटाएं?
Kubectl कमांड आपको Kubernetes में CRDs को हटाने की अनुमति देता है। जब आप कुबेरनेट्स में सीआरडी को हटाने का प्रयास करते हैं, तो इससे जुड़े कस्टम संसाधन भी हटा दिए जाएंगे। कुबेक्टल किसी भी संसाधन को हटाने के लिए 'डिलीट' कमांड प्रदान करता है। नीचे दिए गए आदेश का उपयोग सीआरडी को हटाने के लिए किया जाता है जिसे हमने उपरोक्त चरणों में बनाया है:
> कुबेक्टल हटाएं -एफ red.yamlइस आदेश के सफल निष्पादन पर, आपको निम्न परिणाम मिलेगा:
अब जबकि CRD और इससे जुड़े कस्टम ऑब्जेक्ट हटा दिए गए हैं, यदि आप इसे एक्सेस करने का प्रयास करते हैं तो आपको सर्वर से एक त्रुटि मिलेगी। नीचे दिए गए आदेश को देखें जहां हम नामांकित RESTful API तक पहुँचने का प्रयास कर रहे हैं:
> क्यूबेल्ट को क्रॉस्टैब्स मिलते हैंचूँकि 'crontabs' को हटा दिया गया है, सर्वर इस क्रिया के लिए त्रुटि को उठाएगा। नीचे दिए गए इस कमांड का आउटपुट देखें:
निष्कर्ष
यह लेख एक त्वरित अवलोकन था कि कस्टम संसाधन परिभाषा कैसे बनाई जाए, सीआरडी को नियंत्रित करने के लिए कस्टम ऑब्जेक्ट कैसे बनाया जाए और कुबेरनेट्स से सीआरडी को कैसे हटाया जाए। नमूना उदाहरणों की सहायता से, हमने प्रक्रिया को आसानी से और तेज़ी से समझने में आपकी सहायता के लिए प्रत्येक चरण का प्रदर्शन किया।