शुरुआती लोगों के लिए Kubernetes ट्यूटोरियल

⚡ स्मार्ट सारांश

कुबेरनेट्स गूगल द्वारा विकसित एक ओपन-सोर्स कंटेनर प्रबंधन प्रणाली है जो भौतिक, आभासी और क्लाउड सर्वरों के क्लस्टर में कंटेनरीकृत अनुप्रयोगों को तैनात करने, स्केल करने और संचालित करने को स्वचालित करती है, और विश्वसनीय एप्लिकेशन डिलीवरी के लिए स्व-उपचार, स्वचालित रोलआउट, लोड संतुलन और सुसंगत वातावरण प्रदान करती है।

  • कुबेरनेट्स की परिभाषा: क्लस्टर अनुप्रयोगों के लिए गूगल द्वारा विकसित एक ओपन-सोर्स कंटेनर प्रबंधन प्रणाली।
  • 📦 कंटेनर क्यों: कंटेनर ऐप की सभी जरूरतों को पूरा करते हैं, जिससे बिना किसी रुकावट के अपडेट और रखरखाव संभव हो पाता है।
  • ⚙️ मुख्य विशेषताएं: स्वचालित शेड्यूलिंग, सेल्फ-हीलिंग, रोलआउट/रोलबैक, हॉरिजॉन्टल स्केलिंग और लोड बैलेंसिंग।
  • 🧱 प्रमुख घटक: Clusterइसमें मास्टर नोड (एपीआई सर्वर, शेड्यूलर, etcd), वर्कर नोड और पॉड शामिल हैं।
  • 🆚 डॉकर स्वार्म बनाम: Kubernetes ऑटो-स्केलिंग और बिल्ट-इन मॉनिटरिंग की सुविधा देता है; Swarm को इंस्टॉल करना सरल और तेज़ है।
  • लाभ और हानियाँ: यह किसी भी ऐसे क्लाउड पर चलता है जिसमें एक बड़ा समुदाय हो, लेकिन इसका डैशबोर्ड और सेटअप जटिल है।

शुरुआती लोगों के लिए Kubernetes ट्यूटोरियल

इस Kubernetes ट्यूटोरियल को शुरू करने से पहले, आइए जानें:

कुबेरनेट्स क्या है?

Kubernetes Kubernetes एक कंटेनर प्रबंधन प्रणाली है जिसे Google प्लेटफॉर्म पर विकसित किया गया है। Kubernetes विभिन्न प्रकार के भौतिक, आभासी और क्लाउड वातावरणों में कंटेनरीकृत अनुप्रयोगों को प्रबंधित करने में मदद करता है। Google Kubernetes एक अत्यंत लचीला कंटेनर टूल है जो सैकड़ों से लेकर हजारों व्यक्तिगत सर्वरों के क्लस्टर पर चलने वाले जटिल अनुप्रयोगों को लगातार डिलीवर करने में सक्षम है।

आपको कंटेनरों की आवश्यकता क्यों है?

आज के इंटरनेट उपयोगकर्ता कभी भी डाउनटाइम स्वीकार नहीं करते हैं। इसलिए डेवलपर्स को अपनी सेवाओं को बाधित किए बिना रखरखाव और अपडेट करने का तरीका खोजना होगा।

इसलिए, कंटेनर एक अलग वातावरण है। इसमें एप्लिकेशन को चलाने के लिए आवश्यक सभी चीजें शामिल हैं। यह डेवलपर के लिए ऐप्स को संपादित करना और तैनात करना आसान बनाता है। इसके अलावा, कंटेनरीकरण वेब ऐप्स की पैकेजिंग, तैनाती और अपडेट के लिए एक पसंदीदा तरीका बन गया है।

Kubernetes द्वारा कौन सा कार्य किया जाता है?

Kubernetes, Linux कर्नेल है जिसका उपयोग वितरित प्रणालियों के लिए किया जाता है। यह आपको पूर्ण रूप से सक्षम बनाता है।tracयह नोड्स (सर्वरों) के अंतर्निहित हार्डवेयर पर निर्भर करता है और संसाधनों के साझा पूल का उपयोग करने वाले अनुप्रयोगों के लिए एक सुसंगत इंटरफ़ेस प्रदान करता है।

कुबेरनेट्स का उपयोग क्यों करें?

Kubernetes आपको क्लाउड एप्लिकेशन और माइक्रोसर्विस के लिए संसाधन आवंटन और ट्रैफ़िक प्रबंधन को नियंत्रित करने में मदद करता है। यह सेवा-उन्मुख बुनियादी ढांचे के विभिन्न पहलुओं को सरल बनाने में भी मदद करता है। Kubernetes आपको यह सुनिश्चित करने की अनुमति देता है कि कंटेनरीकृत एप्लिकेशन कहाँ और कब चलते हैं और आपको उन संसाधनों और उपकरणों को खोजने में मदद करता है जिनके साथ आप काम करना चाहते हैं।

कुबेरनेट्स की विशेषताएं

यहां आवश्यक Kubernetes विशेषताएं दी गई हैं:

  • स्वचालित शेड्यूलिंग
  • स्व-उपचार क्षमताएँ
  • स्वचालित रोलआउट और रोलबैक
  • क्षैतिज स्केलिंग और लोड संतुलन
  • विकास, परीक्षण और उत्पादन के लिए पर्यावरण स्थिरता प्रदान करता है
  • बुनियादी ढांचा शिथिल रूप से जुड़ा हुआ है, प्रत्येक घटक एक अलग इकाई के रूप में कार्य कर सकता है
  • संसाधन उपयोग का उच्च घनत्व प्रदान करता है
  • उद्यम-तैयार सुविधाएँ प्रदान करता है
  • अनुप्रयोग-केंद्रित प्रबंधन
  • ऑटो-स्केलेबल बुनियादी ढांचा
  • आप पूर्वानुमानित बुनियादी ढांचे का निर्माण कर सकते हैं

कुबेरनेट्स मूल बातें

अब इस Kubernetes ट्यूटोरियल में, हम Kubernetes की कुछ महत्वपूर्ण मूल बातें सीखेंगे:

Cluster

यह होस्ट (सर्वर) का एक संग्रह है जो आपको उनके उपलब्ध संसाधनों को एकत्रित करने में मदद करता है। इसमें रैम, सीपीयू, रैम, डिस्क और उनके डिवाइस को एक उपयोगी पूल में शामिल किया जाता है।

स्वामी

मास्टर घटकों का एक संग्रह है जो कुबेरनेट्स के नियंत्रण कक्ष का निर्माण करता है। इन घटकों का उपयोग सभी क्लस्टर निर्णयों के लिए किया जाता है। इसमें शेड्यूलिंग और क्लस्टर ईवेंट पर प्रतिक्रिया देना दोनों शामिल हैं।

आसंधि

यह एक एकल होस्ट है जो भौतिक या पर चलने में सक्षम है आभासी मशीनएक नोड को क्यूब-प्रॉक्सी, मिनीक्यूब और क्यूबलेट दोनों को चलाना चाहिए जिन्हें क्लस्टर का एक हिस्सा माना जाता है।

नाम स्थान

यह एक तार्किक समूह या वातावरण है। यह व्यापक रूप से उपयोग की जाने वाली विधि है जिसका उपयोग स्कोरिंग के लिए किया जाता है।ping किसी क्लस्टर तक पहुंचना या उसे विभाजित करना।

Kubernetes Archiटेक्चर

नीचे विस्तृत कुबेरनेट्स आर्किटेक्चर आरेख दिया गया है:

Kubernetes Archiटेक्चर आरेख
Kubernetes Archiटेक्चर आरेख

मास्टर नोड

मास्टर नोड पहला और सबसे महत्वपूर्ण घटक है जो कुबेरनेट्स क्लस्टर के प्रबंधन के लिए जिम्मेदार है। यह सभी प्रकार के प्रशासनिक कार्यों के लिए प्रवेश बिंदु है। दोष सहिष्णुता की जांच करने के लिए क्लस्टर में एक से अधिक मास्टर नोड हो सकते हैं।

मास्टर नोड में API सर्वर, कंट्रोलर मैनेजर, शेड्यूलर और ETCD जैसे कई घटक होते हैं। आइए इन सभी को देखें।

एपीआई सर्वर: API सर्वर क्लस्टर को नियंत्रित करने के लिए प्रयुक्त सभी REST कमांडों के लिए प्रवेश बिंदु के रूप में कार्य करता है।

समयबद्धक

शेड्यूलर स्लेव नोड के लिए कार्यों को शेड्यूल करता है। यह प्रत्येक स्लेव नोड के लिए संसाधन उपयोग की जानकारी संग्रहीत करता है। यह कार्यभार वितरित करने के लिए जिम्मेदार है।

यह आपको इसमें भी मदद करता है tracयह जानने में मदद करता है कि क्लस्टर नोड्स पर कार्यभार का उपयोग कैसे किया जाता है। इससे आपको कार्यभार को उन संसाधनों पर रखने में मदद मिलती है जो उपलब्ध हैं और कार्यभार को स्वीकार करते हैं।

इत्यादि

etcd घटक कॉन्फ़िगरेशन विवरण और राइट मान संग्रहीत करते हैं। यह कमांड प्राप्त करने और काम करने के लिए सबसे अधिक घटक के साथ संचार करता है। यह नेटवर्क नियमों और पोर्ट फ़ॉरवर्डिंग गतिविधि का प्रबंधन भी करता है।

कार्यकर्ता/दास नोड्स

वर्कर नोड्स एक अन्य आवश्यक घटक है जिसमें कंटेनरों के बीच नेटवर्किंग का प्रबंधन करने, मास्टर नोड के साथ संचार करने के लिए सभी आवश्यक सेवाएं शामिल होती हैं, जो आपको अनुसूचित कंटेनरों को संसाधन आवंटित करने की अनुमति देता है।

  • क्यूबलेट: API सर्वर से पॉड का कॉन्फ़िगरेशन प्राप्त करता है और यह सुनिश्चित करता है कि वर्णित कंटेनर चालू हैं।
  • डॉकर कंटेनर: डाक में काम करनेवाला मज़दूर कंटेनर प्रत्येक वर्कर नोड पर चलता है, जो कॉन्फ़िगर किए गए पॉड को चलाता है
  • Kube-प्रॉक्सी: Kube-प्रॉक्सी एकल कार्यकर्ता नोड पर सेवा निष्पादित करने के लिए लोड बैलेंसर और नेटवर्क प्रॉक्सी के रूप में कार्य करता है
  • पॉड्स: पॉड एकल या एकाधिक कंटेनरों का संयोजन है जो तार्किक रूप से नोड्स पर एक साथ चलते हैं

अन्य प्रमुख शब्दावलियाँ

प्रतिकृति नियंत्रक

प्रतिकृति नियंत्रक एक ऑब्जेक्ट है जो पॉड टेम्पलेट को परिभाषित करता है। यह चल रही प्रतियों की संख्या को बढ़ाकर या घटाकर पॉड की समान प्रतिकृतियों को क्षैतिज रूप से स्केल करने के लिए मापदंडों को भी नियंत्रित करता है।

प्रतिकृति सेट

प्रतिकृति सेट प्रतिकृति नियंत्रक डिज़ाइन पर एक इंटरैक्शन है जिसमें नियंत्रक द्वारा प्रबंधित किए जाने वाले पॉड्स को पहचानने के तरीके में लचीलापन होता है। यह प्रतिकृति नियंत्रकों की जगह लेता है क्योंकि उनकी प्रतिकृति चयन क्षमता अधिक होती है।

तैनाती

परिनियोजन एक सामान्य कार्यभार है जिसे सीधे बनाया और प्रबंधित किया जा सकता है। परिनियोजन प्रतिकृति सेट को बिल्डिंग ब्लॉक के रूप में उपयोग करता है जो जीवन चक्र प्रबंधन की सुविधा जोड़ता है।

स्टेटफुल सेट

यह एक विशेष पॉड नियंत्रण है जो ऑर्डरिंग और विशिष्टता प्रदान करता है। इसका उपयोग मुख्य रूप से बारीक नियंत्रण के लिए किया जाता है, जिसकी आपको तैनाती क्रम, स्थिर नेटवर्किंग और लगातार डेटा के संबंध में विशेष आवश्यकता होती है।

डेमन सेट

डेमन सेट पॉड कंट्रोलर का एक और विशेषीकृत रूप है जो क्लस्टर में प्रत्येक नोड पर पॉड की एक प्रति चलाता है। इस प्रकार का पॉड कंट्रोलर पॉड्स को तैनात करने का एक प्रभावी तरीका है जो आपको रखरखाव करने की अनुमति देता है और नोड्स के लिए स्वयं सेवाएँ प्रदान करता है।

कुबेरनेट्स बनाम डॉकर स्वार्म

यहाँ इनके बीच महत्वपूर्ण अंतर दिए गए हैं कुबेरनेट्स बनाम डॉकर.

प्राचल डोकर झुंड Kubernetes
स्केलिंग कोई ऑटोस्केलिंग नहीं ऑटो स्केलिंग
भार संतुलन क्या स्वचालित लोड संतुलन होता है? अपनी लोड बैलेंसिंग सेटिंग मैन्युअल रूप से कॉन्फ़िगर करें
संग्रहण वॉल्यूम साझाकरण किसी अन्य कंटेनर के साथ भंडारण मात्रा साझा करता है एक ही पॉड के अंदर कई कंटेनरों के बीच स्टोरेज वॉल्यूम साझा करता है
लॉगिन और निगरानी उपकरण का उपयोग 3 का उपयोग करेंrd ELK जैसा पार्टी टूल लॉगिंग और निगरानी के लिए एक अंतर्निहित उपकरण प्रदान करें।
स्थापना आसान और तेज़ जटिल एवं समय लेने वाला
जीयूआई GUI उपलब्ध नहीं है GUI उपलब्ध है
अनुमापकता स्केलिंग अप K8S की तुलना में तेज़ है, लेकिन क्लस्टर शक्ति उतनी मजबूत नहीं है स्वार्म की तुलना में स्केलिंग धीमी है, लेकिन मजबूत क्लस्टर स्थिति की गारंटी देता है लोड बैलेंसिंग के लिए मैन्युअल सेवा कॉन्फ़िगरेशन की आवश्यकता होती है
भार संतुलन एक अंतर्निहित लोड संतुलन तकनीक प्रदान करता है अद्यतन करते समय सेवाओं को बनाए रखने के लिए प्रक्रिया शेड्यूलिंग
अपडेट और रोलबैक डेटा वॉल्यूम लॉगिंग और मॉनिटरिंग प्रगतिशील अद्यतन और सेवा स्वास्थ्य निगरानी। केवल एक ही पॉड में कंटेनरों के साथ साझा किया गया इनबिल्ट लॉगिंग और मॉनिटरिंग टूल।

कुबेरनेट्स के लाभ

  • पॉड्स के साथ सेवा का आसान संगठन
  • इसे गूगल द्वारा विकसित किया गया है, जिनके पास उद्योग का वर्षों का बहुमूल्य अनुभव है।
  • कंटेनर ऑर्केस्ट्रेशन टूल्स के बीच सबसे बड़ा समुदाय
  • ऑन-प्रिमाइसेस, SAN और पब्लिक क्लाउड सहित विभिन्न प्रकार के स्टोरेज विकल्प प्रदान करता है
  • अपरिवर्तनीय बुनियादी ढांचे के सिद्धांतों का पालन करता है
  • Kubernetes ऑन-प्रिमाइसेस बेयर मेटल, ओपनस्टैक, पब्लिक क्लाउड चला सकता है गूगल, Azure, एडब्ल्यूएस, आदि
  • यह आपको वेंडर लॉक की समस्याओं से बचने में मदद करता है क्योंकि यह किसी भी वेंडर-विशिष्ट API या सेवाओं का उपयोग कर सकता है, सिवाय उन मामलों के जहां Kubernetes पूर्ण नियंत्रण प्रदान करता है।tracउदाहरण के लिए, लोड बैलेंसर और स्टोरेज।
  • कुबेरनेट्स का उपयोग करके कंटेनरीकरण पैकेज सॉफ़्टवेयर को इन लक्ष्यों को पूरा करने की अनुमति देता है। यह उन अनुप्रयोगों को सक्षम करेगा जिन्हें बिना किसी डाउनटाइम के रिलीज़ और अपडेट करने की आवश्यकता है।
  • कुबेरनेट्स आपको यह सुनिश्चित करने की अनुमति देता है कि कंटेनरीकृत अनुप्रयोग जहां और जब आप चाहें, चलें और आपको उन संसाधनों और उपकरणों को खोजने में मदद करता है जिन पर आप काम करना चाहते हैं।

कुबेरनेट्स के नुकसान

  • Kubenetes डैशबोर्ड उतना उपयोगी नहीं है जितना होना चाहिए
  • ऐसे वातावरण में जहां सारा विकास स्थानीय स्तर पर किया जाता है, कुबेरनेट्स थोड़ा जटिल और अनावश्यक है।
  • सुरक्षा बहुत प्रभावी नहीं है.

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

पॉड, कुबेरनेट्स में तैनात की जा सकने वाली सबसे छोटी इकाई है। इसमें एक या अधिक कंटेनर समूहित होते हैं जो स्टोरेज, नेटवर्क और चलने के तरीके के विनिर्देश साझा करते हैं, और उन्हें एक नोड पर एक साथ शेड्यूल किया जाता है।

डॉकर एक कंटेनर रनटाइम है जो कंटेनर बनाता और चलाता है, जबकि कुबेरनेट्स एक ऑर्केस्ट्रेशन सिस्टम है जो क्लस्टर में कंटेनरों को प्रबंधित, स्केल और शेड्यूल करता है। इनका अक्सर एक साथ उपयोग किया जाता है।

जी हां। Kubernetes ओपन-सोर्स है और Apache 2.0 लाइसेंस के तहत मुफ्त उपलब्ध है। हालांकि, GKE, EKS या AKS जैसी प्रबंधित क्लाउड सेवाओं पर इसे चलाने में बुनियादी ढांचे और सेवा संबंधी लागतें लग सकती हैं।

एआई संसाधनों की आवश्यकता का अनुमान लगाकर, वर्कलोड को स्वचालित रूप से स्केल करके, विसंगतियों का पता लगाकर और शेड्यूलिंग को अनुकूलित करके कुबेरनेट्स की सहायता करता है। एआईऑप्स उपकरण विश्वसनीयता बढ़ाने और मैन्युअल कार्यों को कम करने के लिए क्लस्टर मेट्रिक्स और लॉग का विश्लेषण करते हैं।

जी हां। एआई सहायक YAML मैनिफेस्ट तैयार कर सकते हैं, विफल पॉड्स का निवारण कर सकते हैं, उचित आकार निर्धारण की अनुशंसा कर सकते हैं और क्लस्टर घटनाओं की व्याख्या कर सकते हैं।ping टीमें कम मैन्युअल प्रयास के साथ Kubernetes को अधिक कुशलता से संचालित करती हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: