डॉकर-झुंड, कुबेरनेट्स, मेसोस और कोर-ओएस फ्लीट


153

मैं इन सभी के लिए अपेक्षाकृत नया हूं, लेकिन मुझे सूचीबद्ध प्रौद्योगिकियों के बीच स्पष्ट चित्र बनाने में परेशानी हो रही है।

हालाँकि, ये सभी अलग-अलग समस्याओं को हल करने की कोशिश करते हैं, लेकिन इनमें कुछ चीजें समान भी होती हैं। मैं समझना चाहूंगा कि कौन सी चीजें सामान्य हैं और कौन सी अलग हैं। यह संभावना है कि कुछ का संयोजन बहुत फिट होगा, यदि ऐसा है तो वे क्या हैं?

मैं उनमें से कुछ सवालों के साथ सूचीबद्ध कर रहा हूं, लेकिन यह बहुत अच्छा होगा यदि कोई उन सभी को विस्तार से सूचीबद्ध करता है और प्रश्नों का उत्तर देता है।

  1. कुबेरनेट्स बनाम मेसोस:

    यह लिंक

    अपाचे के मेसो और Google के कुबेरनेट्स के बीच क्या अंतर है

    मतभेदों में एक अच्छी अंतर्दृष्टि प्रदान करता है, लेकिन मैं यह समझने में असमर्थ हूं कि कुबेरनेट्स को मेसोस के शीर्ष पर क्यों चलना चाहिए। क्या यह दो ओपनसोर्स समाधानों के एक साथ आने से अधिक है?

  2. कुबेरनेट्स बनाम कोर-ओएस बेड़े:

    यदि मैं कुबेरनेट का उपयोग करता हूं, तो क्या बेड़े की आवश्यकता है?

  3. डोकर-झुंड कैसे उपरोक्त सभी में फिट बैठता है?



1
मैं गीथब पर ऑर्केस्ट्रेशन टूल की एक सूची बनाए रखता हूं: datacenteroperatingsystem.io योगदान करने के लिए स्वतंत्र महसूस करें।
CMCDragonkai

जवाबों:


152

प्रकटीकरण: मैं कुबेरनेट्स पर एक प्रमुख अभियंता हूं

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

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

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

फ्लीट एक निम्न-स्तरीय कार्य वितरक है। यह क्लस्टर सिस्टम को बूटस्ट्रैप करने के लिए उपयोगी है, उदाहरण के लिए कोरोस ने कुबेरनेट्स एजेंटों और बायनेरिज़ को एक क्लस्टर में टर्न-अप करने के लिए एक क्लस्टर में मशीनों को वितरित करने के लिए इसका उपयोग करता है। यह वास्तव में समान वितरित अनुप्रयोग विकास समस्याओं को हल करने के लिए अभिप्रेत नहीं है, इसे अपने क्लस्टर के लिए systemd / init.d / upstart की तरह अधिक सोचें। यह आवश्यक नहीं है यदि आप कुबेरनेट चलाते हैं, तो आप एक ही बाइनरी वितरण को पूरा करने के लिए अन्य उपकरण (जैसे नमक, कठपुतली, Ansible, बावर्ची, ...) का उपयोग कर सकते हैं।

झुंड डॉकटर द्वारा मौजूदा डॉकटर एपीआई का विस्तार करने के लिए एक एकल डॉकर एपीआई की तरह मशीनों का एक समूह बनाने के लिए एक प्रयास है। मौलिक रूप से, Google और अन्य जगहों पर हमारा अनुभव बताता है कि क्लस्टर API के लिए नोड API अपर्याप्त है। आप इस पर चर्चा का एक गुच्छा यहाँ देख सकते हैं: https://github.com/docker/docker/pull/8854 और यहाँ था: https://github.com/docker/docker/issues/8781

उम्मीद है की वो मदद करदे! यदि आप अधिक बात करना चाहते हैं, तो हमें IRC @ # google- कंटेनर में शामिल हों।


धन्यवाद, यह बहुत उपयोगी है, आप कुबेरनेट पर अपने स्वयं के अनुसूचक को चलाने में सक्षम होने का उल्लेख नहीं करते हैं .. क्या यह संभव होगा?
user2851943

33

मुझे लगता है कि सबसे सरल उत्तर यह है कि कोई सरल उत्तर नहीं है। कंटेनरों की शक्ति में तेजी से वृद्धि, और विशेष रूप से डॉकर ने "कंटेनर शेड्यूलिंग और ऑर्केस्ट्रेशन" के लिए एक पावर वैक्यूम छोड़ दिया है, जो भी इसका मतलब हो सकता है। वास्तव में, इसका मतलब है कि आपके पास कई प्रौद्योगिकियां हैं जो कुछ स्तरों पर सामंजस्य स्थापित कर सकती हैं, लेकिन प्रतिस्पर्धा में कुछ पहलुओं के साथ। उदाहरण के लिए, कुबेरनेट्स का उपयोग एक संगणक समूह पर कंटेनरों की तैनाती और प्रबंधन के लिए एक स्टॉप शॉप के रूप में किया जा सकता है (जैसा कि Google ने मूल रूप से इसे डिज़ाइन किया था), लेकिन साथ ही फ्लीट भी बैठ सकता है, जो लचीलेपन का उपयोग करते हुए टियर का उपयोग करता है जो कि CoreOS प्रदान करता है।

जैसा कि यह Google बताता है कुबेरनेट्स बॉक्स कंटेनर स्केलिंग समाधान के लिए पूरी तरह से बाहर नहीं है, लेकिन इससे शुरू करने के लिए एक अच्छा बयान है। उसी तरह, आप कुछ चरण में उम्मीद करेंगे कि अपाचे मेसो कुबेरनेट्स के साथ काम करने में सक्षम हो, लेकिन मैराथन के साथ नहीं, जितना मैराथन कुबेरनेट्स के रूप में एक ही भूमिका को पूरा करने के लिए प्रकट होता है। कहीं न कहीं मुझे लगता है कि मैंने पढ़ा है कि वे उसी प्रयास का हिस्सा बन सकते हैं, लेकिन मैं इसके बारे में गलत हो सकता हूं - यह वास्तव में मेसोस्फीयर की रणनीतिक दिशा और कुबेरनेट के सिद्धांतों को अपनाने के बारे में है।

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

आशा है कि यह मदद करता है - यह एक बहुत बड़ा पद हो सकता है। मुझे लगता है कि कुंजी यह है कि ये युवा, विकासशील सेवाएं हैं जो संभावित रूप से विलय हो जाएंगे और इंटरऑपरेबल हो जाएंगे, लेकिन हमें अगले 12 महीनों में यह देखने की जरूरत है कि यह कैसे खेलता है। समस्या पर कुछ बहुत चालाक लोग हैं, इसलिए भविष्य बहुत उज्ज्वल दिखता है।


21

जहां तक ​​मैं इसे समझता हूं:

मेसोस, कुबेरनेट्स और फ्लीट सभी एक समान समस्या को हल करने की कोशिश कर रहे हैं। विचार यह है कि आप अपने सभी हार्डवेयर को डेवलपर्स से अलग कर देते हैं और 'क्लस्टर मैनेजमेंट टूल' आपके लिए यह सब छांट देता है। फिर आपको बस इतना करना है कि क्लस्टर को एक कंटेनर देना है, इसे कुछ जानकारी दें (इसे स्थायी रूप से चालू रखें, यदि एक्स होता है तो स्केल अप करें) और क्लस्टर मैनेजर इसे बना देगा।

मेसोस के साथ, यह आपके लिए सभी क्लस्टर प्रबंधन करता है, लेकिन इसमें अनुसूचक शामिल नहीं है। शेड्यूलर बिट है जो कहता है, ठीक है इस प्रक्रिया को 2 प्रोक्स और 512 एमबी रैम की आवश्यकता है, और मेरे पास वहां पर मुफ्त में एक मशीन है, इसलिए मैं इसे उस मशीन पर चलाऊंगा। मेसोस: मैराथन और क्रोनोस के लिए कुछ प्लगइन शेड्यूल उपलब्ध हैं और आप अपना खुद का लिख ​​सकते हैं। इससे आपको संसाधन वितरण और क्लस्टर स्केलिंग आदि की बहुत शक्ति मिलती है।

फ्लीट और कुबेरनेट्स विवरण के उन प्रकारों को दूर करने लगते हैं (इसलिए आपको मूल रूप से अपने खुद के अनुसूचक को लिखना नहीं पड़ता है)। इसका मतलब है कि आपको अपने कार्यों को परिभाषित करना होगा और उन्हें फ्लीट या कुबेरनेट्स द्वारा परिभाषित प्रारूप / तरीके में जमा करना होगा और फिर वे आपके लिए कार्यों (कंटेनरों) को संभालेंगे और शेड्यूल करेंगे।

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

मुझे लगता है कि मेसोस के शीर्ष पर कुबेरनेट्स चलाने का विचार यह है कि कुबेरनेटेस मेसोस के लिए अनुसूचक के रूप में कार्य करता है। व्यक्तिगत रूप से मुझे यकीन नहीं है कि यह एक या दूसरे को अपने दम पर चलाने से क्या लाभ होता है (उम्मीद है कि कोई व्यक्ति इसमें कूद जाएगा और समझाएगा!)

जैसा कि माइकबी ने कहा .. यह शुरुआती दिनों की बात है, और यह सब ग्रैब के लिए है (अमेज़ॅन के ईसीएस पर भी नज़र रखें) इसलिए कई प्रतिस्पर्धा मानक और बहुत सारे ओवरलैप हैं!

-edit- मैंने डॉकर झुंड का उल्लेख नहीं किया क्योंकि मेरे पास वास्तव में इसके साथ बहुत अनुभव नहीं है।


5

2017 के बाद बेड़े में आने वाले किसी भी व्यक्ति के लिए पदावनत किया जाता है। अब इसका उपयोग न करें।

फ्लीट डॉक्स का कहना है कि "बेड़ा अब सक्रिय रूप से विकसित नहीं हुआ है या कोरओएस द्वारा बनाए रखा गया है" और कंटेनर ऑर्केस्ट्रेशन के लिए लिंक : बेड़े से कुबेरनेट्स की ओर बढ़ रहा है । कंटेनर लिनक्स ( पहले कोरओएस लिनक्स के रूप में जाना जाता है ) से बेड़े को हटा दिया गया था और कुबेरनेट्स क्यूबलेट (एजेंट) के साथ बदल दिया गया था। यह टेक्टोनिक (कुबेरनेट्स डिस्ट्रो) को उनके प्राथमिक उत्पाद के रूप में पेश करने के लिए एक कॉरपोरेट धुरी के साथ मेल खाता था ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.