प्रक्रिया
यह लेख कुबेरनेट्स के लिए परिनियोजन बनाने की विधि का व्यावहारिक प्रदर्शन दिखाएगा। कुबेरनेट्स के साथ काम करने के लिए, हमें पहले यह सुनिश्चित करना होगा कि हमारे पास एक मंच है जहां हम कुबेरनेट्स चला सकते हैं। इन प्लेटफार्मों में शामिल हैं: Google क्लाउड प्लेटफॉर्म, लिनक्स/उबंटू, एडब्ल्यूएस, और आदि। कुबेरनेट्स को सफलतापूर्वक चलाने के लिए हम किसी भी उल्लेखित प्लेटफॉर्म का उपयोग कर सकते हैं।
उदाहरण # 01
यह उदाहरण दिखाएगा कि हम कुबेरनेट्स में परिनियोजन कैसे बना सकते हैं। कुबेरनेट्स परिनियोजन के साथ आरंभ करने से पहले, हमें पहले एक क्लस्टर बनाना होगा क्योंकि कुबेरनेट्स एक ओपन-सोर्स प्लेटफॉर्म है जिसका उपयोग कई कंप्यूटर क्लस्टरों में कंटेनरों के अनुप्रयोगों के निष्पादन को प्रबंधित और ऑर्केस्ट्रेट करने के लिए किया जाता है। कुबेरनेट्स के क्लस्टर में दो अलग-अलग प्रकार के संसाधन हैं। क्लस्टर में प्रत्येक संसाधन का अपना कार्य होता है और ये 'कंट्रोल प्लेन' और 'नोड्स' होते हैं। क्लस्टर में कंट्रोल प्लेन कुबेरनेट्स क्लस्टर के प्रबंधक के रूप में काम करता है।
यह एप्लिकेशन के शेड्यूलिंग, एप्लिकेशन की वांछित स्थिति को बनाए रखने या उसके बारे में, नए अपडेट को नियंत्रित करने और एप्लिकेशन को कुशलतापूर्वक स्केल करने के लिए क्लस्टर में हर संभव गतिविधि का समन्वय और प्रबंधन करता है।
कुबेरनेट्स क्लस्टर में दो नोड होते हैं। क्लस्टर में नोड या तो एक आभासी मशीन या नंगे धातु के रूप में कंप्यूटर (भौतिक) हो सकता है और इसकी कार्यक्षमता काम करना है क्योंकि मशीन क्लस्टर के लिए काम करती है। प्रत्येक नोड का अपना क्यूबलेट होता है और यह कुबेरनेट्स क्लस्टर के नियंत्रण विमान के साथ संचार करता है और नोड का प्रबंधन भी करता है। इसलिए, क्लस्टर का कार्य, जब भी हम कुबेरनेट्स पर एक एप्लिकेशन को तैनात करते हैं, तो हम अप्रत्यक्ष रूप से कुबेरनेट्स क्लस्टर में कंट्रोल प्लेन को कंटेनर शुरू करने के लिए कहते हैं। फिर, नियंत्रण विमान कंटेनरों को कुबेरनेट क्लस्टर के नोड्स पर चलाता है।
ये नोड तब कुबेरनेट्स के एपीआई के माध्यम से नियंत्रण विमान के साथ समन्वय करते हैं जो नियंत्रण कक्ष द्वारा उजागर किया जाता है। और इनका उपयोग अंतिम उपयोगकर्ता द्वारा कुबेरनेट्स क्लस्टर के साथ बातचीत के लिए भी किया जा सकता है।
हम कुबेरनेट क्लस्टर को भौतिक कंप्यूटर या वर्चुअल मशीन पर तैनात कर सकते हैं। कुबेरनेट्स के साथ शुरू करने के लिए, हम कुबेरनेट्स कार्यान्वयन प्लेटफॉर्म 'मिनीक्यूब' का उपयोग कर सकते हैं जो हमारे स्थानीय सिस्टम पर वर्चुअल मशीन के काम को सक्षम बनाता है और विंडोज, मैक और लिनक्स जैसे किसी भी ऑपरेटिंग सिस्टम के लिए उपलब्ध है। यह बूटस्ट्रैपिंग ऑपरेशन जैसे स्टार्ट, स्टेटस, डिलीट और स्टॉप भी प्रदान करता है। अब, इस क्लस्टर को बनाते हैं और उस पर पहली कुबेरनेट परिनियोजन बनाते हैं।
परिनियोजन के लिए, हम मिनिक्यूब का उपयोग करेंगे, हमने सिस्टम में मिनीक्यूब को पहले से इंस्टॉल किया है। अब, इसके साथ काम करना शुरू करने के लिए, हम पहले जांच करेंगे कि मिनीक्यूब काम कर रहा है और ठीक से स्थापित है और ऐसा करने के लिए टर्मिनल विंडो में निम्न कमांड टाइप करें:
$ मिनिक्यूब संस्करणआदेश का परिणाम होगा:
अब, हम आगे बढ़ेंगे और मिनीक्यूब को बिना कमांड के शुरू करने की कोशिश करेंगे
$ मिनिक्यूब शुरू करें
उपरोक्त आदेश के बाद, मिनिक्यूब ने अब एक अलग वर्चुअल मशीन शुरू की है और उस वर्चुअल मशीन में, एक कुबेरनेट्स क्लस्टर अब चल रहा है। तो, अब हमारे पास टर्मिनल में कुबेरनेट क्लस्टर चल रहा है। क्लस्टर जानकारी खोजने या जानने के लिए, हम 'कुबेक्टल' कमांड इंटरफ़ेस का उपयोग करेंगे। उसके लिए, हम 'kubectl version' कमांड टाइप करके जांच करेंगे कि kubectl इंस्टॉल है या नहीं।
$ क्यूबेक्ट्ल संस्करण
कुबेक्टल स्थापित और कॉन्फ़िगर किया गया है। यह क्लाइंट और सर्वर के बारे में भी जानकारी देता है। अब, हम कुबेरनेट्स क्लस्टर चला रहे हैं ताकि हम कुबेक्टल कमांड को 'कुबेक्टल क्लस्टर-इन्फो' के रूप में उपयोग करके इसके विवरण के बारे में जान सकें।
$ kubectl क्लस्टर-info
आइए अब कुबेरनेट्स क्लस्टर के नोड्स की जांच करने के लिए कमांड 'कुबेक्टल गेट नोड्स' का उपयोग करें।
$ kubectl को नोड मिलते हैं
क्लस्टर में केवल एक नोड है और इसकी स्थिति तैयार है जिसका अर्थ है कि यह नोड अब आवेदनों को स्वीकार करने के लिए तैयार है।
अब हम kubectl कमांड लाइन इंटरफ़ेस का उपयोग करके एक परिनियोजन बनाएंगे जो Kubernetes API से संबंधित है और Kubernetes क्लस्टर के साथ इंटरैक्ट करता है। जब हम एक नई परिनियोजन बनाते हैं, तो हमें एप्लिकेशन की छवि और एप्लिकेशन की प्रतियों की संख्या निर्दिष्ट करनी होती है, और एक बार परिनियोजन बनाने के बाद इसे कॉल और अपडेट किया जा सकता है। कुबेरनेट्स पर चलने के लिए नई तैनाती बनाने के लिए, 'कुबेरनेट्स परिनियोजन बनाएँ' कमांड का उपयोग करें। और इसके लिए, परिनियोजन के लिए नाम और एप्लिकेशन के लिए छवि स्थान भी निर्दिष्ट करें।
अब, हमने एक नया एप्लिकेशन तैनात किया है और उपरोक्त कमांड ने उस नोड की तलाश की है जिस पर एप्लिकेशन चल सकता है जो इस मामले में केवल एक था। अब, 'kubectl गेट डिप्लॉयमेंट' कमांड का उपयोग करके डिप्लॉयमेंट की सूची प्राप्त करें और हमारे पास निम्न आउटपुट होगा:
$ kubectl को तैनाती मिलती है
हम होस्ट और कुबेरनेट्स क्लस्टर के बीच संबंध विकसित करने के लिए प्रॉक्सी होस्ट पर एप्लिकेशन देखेंगे।
प्रॉक्सी दूसरे टर्मिनल में चल रहा है जहां टर्मिनल 1 में दिए गए आदेश निष्पादित किए जाते हैं और उनका परिणाम सर्वर पर टर्मिनल 2 में दिखाया जाता है: 8001।
कुबेरनेट्स एप्लिकेशन के लिए पॉड निष्पादन की इकाई है। तो यहाँ, हम पॉड नाम निर्दिष्ट करेंगे और इसे एपीआई के माध्यम से एक्सेस करेंगे।
निष्कर्ष
यह मार्गदर्शिका कुबेरनेट्स में परिनियोजन बनाने के तरीकों पर चर्चा करती है। हमने मिनिक्यूब कुबेरनेट्स कार्यान्वयन पर परिनियोजन चलाया है। हमने पहले कुबेरनेट्स क्लस्टर बनाना सीखा और फिर इस क्लस्टर का उपयोग करके हमने कुबेरनेट्स पर विशिष्ट एप्लिकेशन चलाने के लिए एक परिनियोजन बनाया।