Kubernetes (उच्चारण "CUBE-A-NET-IS") एक ओपन-सोर्स प्लेटफॉर्म है जो डॉकटर जैसे कंटेनर एप्लिकेशन को प्रबंधित करने में मदद करता है। चाहे आप इन कंटेनरों को कई मेजबानों में स्वचालित या स्केल करना चाह रहे हों, कुबेरनेट्स तैनाती को गति दे सकता है। ऐसा करने के लिए यह कुबेरनेट्स एपीआई या कुबेरनेट्स पर चलने वाले तृतीय-पक्ष एक्सटेंशन जैसे आंतरिक घटकों का उपयोग कर सकता है।
यह लेख आपको कुबेरनेट्स की बुनियादी अवधारणाओं को समझने में मदद करेगा और यह सर्वर बाजार में इस तरह के भूकंपीय बदलाव का कारण क्यों बन रहा है, विक्रेताओं के साथ-साथ क्लाउड प्रदाता, जैसे कि एज़्योर और Google क्लाउड, कुबेरनेट्स सेवाएं प्रदान करते हैं।
कुबेरनेट्स:एक संक्षिप्त इतिहास
कुबेरनेट्स ओपन सोर्स समुदाय के लिए Google के उपहारों में से एक है। कंटेनर प्लेटफ़ॉर्म एक दशक से भी अधिक समय से एक आंतरिक Google प्रोजेक्ट बोर्ग का हिस्सा था। बोर्ग ने Google को समूहों में विभिन्न अनुप्रयोगों से सैकड़ों और यहां तक कि हजारों कार्यों (जिन्हें "बोर्गलेट्स" कहा जाता है) का प्रबंधन करने दिया। इसका उद्देश्य रन-टाइम सुविधाओं की उच्च उपलब्धता सुनिश्चित करते हुए मशीनों (और आभासी मशीनों) का कुशलतापूर्वक उपयोग करना था।
उच्च उपलब्धता सुनिश्चित करने के तरीकों की तलाश में अन्य कंपनियों के साथ वही वास्तुकला लोकप्रिय थी। कहीं 2015 में, जैसे ही Kubernetes 1.0 सामने आया, Google ने तकनीक पर नियंत्रण छोड़ दिया। Kubernetes अब क्लाउड नेटिव कंप्यूटिंग फाउंडेशन (CNCF) नामक एक फाउंडेशन के साथ है, जो स्वयं Linux Foundation का हिस्सा है।
कुबेरनेट्स कैसे काम करता है
बोर्ग प्रोजेक्ट के विचारों को उधार लेते हुए, "बोर्गलेट्स" ने "पॉड्स" को रास्ता दिया, जो कंटेनरों को रखने वाली अनुसूचक इकाइयाँ हैं। अनिवार्य रूप से, उनके पास अलग-अलग आईपी पते होते हैं जो चित्र में तब आते हैं जब किसी कंटेनर को सीपीयू, मेमोरी या स्टोरेज की आवश्यकता होती है।
पॉड्स राउंड-रॉबिन प्रारूप में ट्रैफ़िक को संतुलित करके उच्च उपलब्धता सुनिश्चित करते हैं। इसके अलावा, वे मशीनों (या वर्चुअल मशीन) के अंदर हैं जिन्हें "वर्कर नोड्स" कहा जाता है, जिन्हें "मिनियंस" भी कहा जाता है। इस बिंदु से एक "मास्टर नोड" कुबेरनेट्स एपीआई का उपयोग करके कंटेनरीकरण को व्यवस्थित करके पूरे क्लस्टर को नियंत्रित करता है। डॉकर प्रत्येक कार्यकर्ता नोड में चलने में सक्षम है जहां यह छवियों को डाउनलोड कर सकता है और कंटेनर शुरू कर सकता है।
Kubernetes क्लस्टर में API कनेक्शन प्राप्त करने के लिए, kubectl
नामक एक CLI सिंटैक्स प्रयोग किया जाता है। यह एक बहुत ही महत्वपूर्ण कमांड है क्योंकि यह अकेले ही उन सभी निर्देशों को चलाता है जो मास्टर नोड वर्कर नोड्स को प्रदान करता है। Kubectl में महारत हासिल करने के लिए कुछ सीखने की आवश्यकता होती है, लेकिन एक बार जब आप सीख लेते हैं, तो आप Kubernetes क्लस्टर का उपयोग शुरू कर सकते हैं। कुबेरनेट्स और डॉकर गो प्रोग्रामिंग भाषा में लिखे गए हैं।
अनुप्रयोग
कुबेरनेट्स मशीनों का उपयोग करने में अपनी उच्च दक्षता के कारण सर्वर और डेटा सेंटर की लागत को काफी कम कर सकता है। कुबेरनेट्स के कुछ सामान्य अनुप्रयोगों में शामिल हैं:
- एप्लिकेशन सर्वर प्रबंधित करना . अधिकांश एप्लिकेशन सर्वरों को सुरक्षा, कॉन्फ़िगरेशन प्रबंधन, अपडेट और बहुत कुछ की आवश्यकता होती है, जो कुबेरनेट्स का उपयोग करके चल सकते हैं।
- स्वचालित रोलआउट और रोलबैक . Kubernetes के साथ, आपको कई एंड नोड्स में उत्पाद रोलआउट या रोलबैक के बारे में चिंता करने की ज़रूरत नहीं है।
- स्टेटलेस ऐप्स परिनियोजित करना . वेब एप्लिकेशन अब दूरस्थ रूप से नियंत्रित किए जा सकते हैं। उदाहरण के लिए, Kubernetes स्टेटलेस एप्लिकेशन परिनियोजन का उपयोग करके Nginx सर्वर चलाने में आपकी मदद कर सकता है।
- स्टेटफुल ऐप्स परिनियोजित करना . Kubernetes एक MySQL डेटाबेस चला सकता है।
- एपीआई वस्तुओं को संग्रहित करना . विभिन्न भंडारण आवश्यकताओं के लिए, Kubernetes आदर्श भंडारण सुनिश्चित करता है क्योंकि यह कंटेनर सिद्धांतों का उपयोग करता है।
- आउट-ऑफ़-द-बॉक्स-तैयार . Kubernetes आउट-ऑफ़-द-बॉक्स एप्लिकेशन जैसे सर्विस डिस्कवरी, लॉगिंग और मॉनिटरिंग और ऑथेंटिकेशन में बहुत मददगार है।
- IoT एप्लिकेशन . कुबेरनेट्स अपनी विशाल स्केलिंग क्षमता के कारण IoT में अधिकाधिक उपयोग प्राप्त कर रहा है।
- कहीं भी दौड़ें . आप कुबेरनेट्स को सूटकेस के अंदर सहित कहीं भी चला सकते हैं।
सारांश में
Kubernetes का उद्देश्य कंप्यूटिंग संसाधनों का अधिकतम सीमा तक उपयोग करना है। चूंकि आप कई मेजबानों में कंटेनरों को व्यवस्थित कर सकते हैं, अंत नोड्स में कभी भी संसाधन समस्या या विफलता नहीं होगी। यह स्वचालित रूप से स्केल करने में मदद करता है क्योंकि आपको केवल एक बार मास्टर नोड से कमांड देना होता है, और आवेदनों को स्केल करना क्रांतिकारी से कम नहीं है।
Kubernetes के बारे में अधिक जानने के लिए, इसकी आधिकारिक वेबसाइट पर जाएँ जिसमें ट्यूटोरियल हैं।