
कुबेरनेट्स वास्तुकला के मुख्य घटक क्या हैं और प्रत्येक किसके लिए जिम्मेदार है?
कुबेरनेट्स क्लस्टर में एक कंट्रोल प्लेन प्लस वर्कर मशीनों का एक सेट होता है, जिन्हें नोड्स कहा जाता है, जो पॉड्स में कंटेनरीकृत एप्लिकेशन चलाते हैं। पॉड्स को चलाने के लिए प्रत्येक क्लस्टर को कम से कम एक वर्कर नोड की आवश्यकता होती है।
वैचारिक रूप से, कुबेरनेट्स घोषणात्मक है: आप वांछित स्थिति को एपीआई सर्वर (आदि में संग्रहीत) में सबमिट करते हैं, और नियंत्रक निरंतर सुलह लूप चलाते हैं जो मतभेदों पर नज़र रखते हैं और वास्तविक स्थिति को वांछित स्थिति की ओर ले जाने के लिए कार्य करते हैं।
विमान घटकों को नियंत्रित करें
नियंत्रण विमान क्लस्टर के बारे में वैश्विक निर्णय लेता है (जैसे शेड्यूलिंग) और क्लस्टर घटनाओं पर प्रतिक्रिया करता है। उत्पादन में यह आमतौर पर उच्च उपलब्धता के लिए कई मशीनों पर चलता है।
- क्यूब-एपिसर्वर - मुख्य घटक जो कुबेरनेट्स HTTP एपीआई को उजागर करता है। यह नियंत्रण विमान का फ्रंट एंड और संपर्क का एकल बिंदु है: सभी प्रमाणीकरण, प्राधिकरण, अनुरोध सत्यापन, और क्लस्टर राज्य के पढ़ने/लिखने का प्रवाह इसके माध्यम से होता है। यह क्षैतिज रूप से मापता है। सामान्य तैनाती में यह एकमात्र कुबेरनेट्स घटक है जो क्लस्टर स्थिति को सीधे आदि में पढ़ता और लिखता है; अन्य सभी घटक एपीआई सर्वर के माध्यम से राज्य के साथ इंटरैक्ट करते हैं।
- आदि - सभी क्लस्टर डेटा के लिए कुबेरनेट्स के बैकिंग स्टोर के रूप में उपयोग किया जाने वाला एक सुसंगत और अत्यधिक उपलब्ध कुंजी-मूल्य स्टोर: कॉन्फ़िगरेशन, स्थिति और मेटाडेटा। आदि अनिवार्य है और सत्य का एकल स्रोत है - इसे खोने का मतलब है सभी क्लस्टर स्थिति को खोना, इसलिए इसे कोरम (सदस्यों की एक विषम संख्या) के साथ चलना चाहिए और नियमित रूप से बैकअप लिया जाना चाहिए।
- क्यूब-शेड्यूलर - उन पॉड्स पर नज़र रखता है जो अभी तक एक नोड से बंधे नहीं हैं और संसाधनों, बाधाओं और नीतियों पर विचार करते हुए प्रत्येक पॉड को एक उपयुक्त नोड पर असाइन करता है।
- क्यूब-नियंत्रक-प्रबंधक - कुबेरनेट्स एपीआई व्यवहार को लागू करने वाले नियंत्रक चलाता है (उदाहरण के लिए, नोड नियंत्रक, जॉब नियंत्रक, एंडपॉइंटस्लाइस नियंत्रक)। प्रत्येक नियंत्रक वांछित स्थिति को देखता है और उसके प्रति वास्तविक स्थिति का समाधान करता है।
- क्लाउड-नियंत्रक-प्रबंधक (वैकल्पिक) - अंतर्निहित क्लाउड प्रदाता के साथ एकीकृत होता है, मुख्य कुबेरनेट्स घटकों से क्लाउड-विशिष्ट तर्क को अलग करता है।
नोड घटक
ये प्रत्येक नोड पर चलते हैं, पॉड्स को चालू रखते हैं और रनटाइम वातावरण प्रदान करते हैं।
- क्यूबलेट - वह एजेंट जो यह सुनिश्चित करता है कि पॉड्स चल रहे हैं, जिसमें उनके कंटेनर भी शामिल हैं। यह पॉड असाइनमेंट के लिए एपीआई सर्वर को देखता है, रनटाइम के माध्यम से कंटेनर शुरू करता है, वॉल्यूम माउंट करता है, जीवंतता/तत्परता जांच चलाता है, और नोड स्थिति की रिपोर्ट करता है।
- क्यूब-प्रॉक्सी - नोड्स पर आईपीटेबल्स या आईपीवीएस नियमों की प्रोग्रामिंग करके सेवा नेटवर्किंग लागू करता है ताकि किसी सेवा पर आने वाला ट्रैफ़िक सही पॉड आईपी पर भेजा जा सके। इसे वैकल्पिक के रूप में चिह्नित किया गया है क्योंकि कुछ सीएनआई प्लगइन्स (उदाहरण के लिए, ईबीपीएफ मोड में सिलियम) इसका काम संभालते हैं, लेकिन एक मानक क्लस्टर में इसकी आवश्यकता होती है।
- कंटेनर रनटाइम - सीआरआई इंटरफ़ेस के माध्यम से कंटेनर (कंटेनर, सीआरआई-ओ, आदि) चलाने के लिए जिम्मेदार सॉफ्टवेयर।
अतिरिक्त
ऐडऑन क्लस्टर कार्यक्षमता का विस्तार करते हैं: क्लस्टर डीएनएस (डिफ़ॉल्ट रूप से CoreDNS), डैशबोर्ड वेब यूआई, कंटेनर संसाधन निगरानी और क्लस्टर-स्तरीय लॉगिंग।
सामान्य अनुवर्ती: सभी संचार एपीआई सर्वर के माध्यम से प्रवाहित होते हैं - शेड्यूलर, नियंत्रक और क्यूबलेट बस इसे देखते हैं और प्रतिक्रिया करते हैं - जो एपीआई सर्वर को क्लस्टर का महत्वपूर्ण केंद्र बनाता है।
