Kubernetes बनाम CloudFoundry [बंद]


109

क्लाउडफाउंड्री / डिएगो का अगला संस्करण डॉकटर कंटेनरों के लिए देशी समर्थन की पेशकश करेगा जो कि मल्टीस्टेबल होस्ट्स [ लिंक ] पर ऑर्केस्ट्रेटेड होगा । यह कुबेरनेट्स के समान लगता है।

बेशक, कुबेरनेट्स जिस समस्या को हल करने की कोशिश कर रहे हैं, वह अधिक सामान्य है, जहां ऐप के विकास पर क्लाउडफाउंड्री अधिक केंद्रित है। हालांकि, मेरे लिए यह लगता है कि दोनों एक समान दिशा में जा रहे हैं और CloudFoundry सादे ऑर्केस्ट्रेशन के शीर्ष पर बहुत अधिक विशेषताएं जोड़ रहा है।

इसलिए मैं उपयोग-मामलों के बारे में सोच रहा हूं जहां कुबेरनेट क्लाउडफ़ाउंड्री की तुलना में अधिक मूल्य जोड़ेंगे?

जवाबों:


198

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

PaaS की तरह

मुझे CloudFoundry को "Application Paa" और Kubernetes को "कंटेनर PaS" कहना पसंद है, लेकिन यह अंतर काफी सूक्ष्म और तरल है, यह देखते हुए कि दोनों परियोजनाएं समान बाजारों में प्रतिस्पर्धा करने के लिए समय के साथ बदलती हैं।

दोनों के बीच अंतर यह है कि सीएफ में एक मचान परत होती है जो एक (12-कारक) उपयोगकर्ता ऐप (जैसे जार या मणि) और एक हेरोकू-शैली बिल्डपैक (जैसे जावा + टॉमकैट या रूबी) लेती है और एक छोटी बूंद पैदा करती है (एक के अनुरूप) डॉकर छवि)। CF उपयोगकर्ता के लिए कंटेनरीकरण इंटरफ़ेस को उजागर नहीं करता है, लेकिन कुबेरनेट करता है।

दर्शक

CloudFoundry के प्राथमिक ऑडियंस एंटरप्राइज़ एप्लिकेशन देव हैं जो 12-कारक स्टेटलेस ऐप्स को Heroku- स्टाइल बिल्डपैक का उपयोग करके तैनात करना चाहते हैं।

कुबेरनेट्स के दर्शक थोड़े व्यापक हैं, जिसमें स्टेटलेस एप्लिकेशन और स्टेटफुल सर्विस डेवलपर्स दोनों शामिल हैं जो अपने कंटेनर प्रदान करते हैं।

यह भेद भविष्य में बदल सकता है:

सुविधा तुलना

जैसे-जैसे दोनों परियोजनाएँ परिपक्व होती हैं और प्रतिस्पर्धा होती है, उनकी समानताएं और अंतर बदल जाएंगे। तो नमक के एक दाने के साथ निम्नलिखित सुविधा की तुलना करें।

CF और K8 दोनों कई समान विशेषताओं को साझा करते हैं, जैसे कंटेनरीकरण, नाम स्थान, प्रमाणीकरण,

Kubernetes प्रतिस्पर्धात्मक लाभ:

  • कंटेनरों का समूह और स्केल पॉड्स जो एक नेटवर्क स्टैक को साझा करते हैं, बजाय स्वतंत्र रूप से स्केलिंग के
  • अपने खुद के कंटेनर ले आओ
  • स्टेटफुल कंसिस्टेंस लेयर
  • बड़ा, अधिक सक्रिय ओएसएस समुदाय
  • बदली घटकों और 3 पार्टी प्लगइन्स के साथ अधिक एक्स्टेंसिबल आर्किटेक्चर
  • मुफ्त वेब जीयूआई

CloudFoundry प्रतिस्पर्धी लाभ:

  • परिपक्व प्रमाणीकरण, उपयोगकर्ता समूहन और बहु-किरायेदारी समर्थन [x]
  • अपना खुद का ऐप लाओ
  • शामिल लोड बैलेंसर
  • तैनात, बढ़े हुए और BOSH [x] द्वारा जीवित रखा गया
  • मजबूत लॉगिंग और मैट्रिक्स एकत्रीकरण [x]
  • एंटरप्राइज़ वेब GUI [x]

[x] ये विशेषताएं डिएगो का हिस्सा नहीं हैं या जाली में शामिल हैं।

तैनाती

CloudFoundry के प्रतिस्पर्धी लाभों में से एक यह है कि इसमें एक परिपक्व तैनाती इंजन, BOSH है, जो मुख्य CF घटकों के स्केलिंग, पुनरुत्थान और निगरानी जैसी सुविधाओं को सक्षम करता है। बीओएसएच कई आईएएएस परतों का समर्थन करता है, जो एक प्लग करने योग्य क्लाउड प्रदाता अमूर्तता के साथ है। दुर्भाग्य से, बीओएसएच के सीखने की अवस्था और तैनाती विन्यास प्रबंधन बुरे सपने हैं। (एक बॉस कमिटेटर के रूप में, मुझे लगता है कि मैं इसे सटीकता के साथ कह सकता हूं।)

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

ऐतिहासिक संदर्भ

डिएगो सीएफ के ड्रिपलेट एक्जेकशन एजेंट का पुनर्लेखन है। कुबेरनेट्स की घोषणा होने से पहले इसे मूल रूप से विकसित किया गया था और प्रतिस्पर्धी परिदृश्य के विकसित होने के साथ-साथ इसे और अधिक फीचर दायरे में ले लिया गया है। इसका मूल लक्ष्य बूंदों को उत्पन्न करना (उपयोगकर्ता अनुप्रयोग + सीएफ बिल्डपैक) था और उन्हें वार्डन (बदला हुआ उद्यान जब गो में फिर से लिखा गया था) में चलाना था। इसकी स्थापना के बाद से इसे लैटिस के रूप में भी रद्द कर दिया गया है , जो कुछ हद तक CloudFoundry-lite है (हालांकि उस नाम को एक मौजूदा परियोजना द्वारा लिया गया था)। उस कारण से, लैटिस कुछ खिलौना-जैसा है, इसमें उसने जानबूझकर उपयोगकर्ता के दर्शकों और गुंजाइश को कम कर दिया है, स्पष्ट रूप से लापता विशेषताएं जो इसे "उद्यम-तैयार" कर देंगी। सीएफ पहले से ही प्रदान करता है कि सुविधाएँ। यह आंशिक रूप से है क्योंकि जाली का उपयोग मुख्य घटकों का परीक्षण करने के लिए किया जाता है, अधिक जटिल सीएफ से कुछ ओवरहेड के बिना, लेकिन आप आंतरिक उच्च विश्वास वाले वातावरण में जाली का उपयोग भी कर सकते हैं जहां सुरक्षा और बहु-किरायेदारी एक चिंता का विषय नहीं है। ।

यह भी उल्‍लेखनीय है कि CloudFoundry और Warden (इसका कंटेनर इंजन) Docker के साथ-साथ एक-दो साल से पहले का है।

दूसरी ओर कुबेरनेट्स, एक अपेक्षाकृत नई परियोजना है जिसे BORG और ओमेगा के साथ कंटेनर के उपयोग के वर्षों के आधार पर Google द्वारा विकसित किया गया था। कुबेरनेट्स को Google पर तीसरी पीढ़ी के कंटेनर ऑर्केस्ट्रेशन के रूप में सोचा जा सकता है, उसी तरह डिएगो Pivotal / VMware में v1 पीढ़ी का कंटेनर ऑर्केस्ट्रेशन है (VMware में V2 लिखा है; V2 के साथ VMware एट Pivotal Labs मदद; v3 के बाद Pivotal इस परियोजना को संभालने के बाद) ।


नमस्ते! क्या आप "अपने स्वयं के लोड बैलेंसर सहित" और "मजबूत लॉगिंग और मैट्रिक्स एकत्रीकरण" के बारे में अधिक कह सकते हैं? कुबेरनेट दोनों प्रदान करता है।
एरॉनचिक

1
कुबेरनेट्स में वास्तव में लोड बैलेंसर कार्यान्वयन शामिल नहीं है, फिर भी उस दिशा में कार्य प्रगति पर है। यह आपके क्लाउड-प्रदाता को लोड बैलेंसर प्रदान करने के लिए कहने का एक तरीका प्रदान करता है, लेकिन केवल कुछ क्लाउड-प्रदाता वास्तव में आपको एक देते हैं (GCE & AWS, मुझे लगता है)। सीएफ आपको डिफ़ॉल्ट रूप से स्वचालित रूप से एक लोड बैलेंसर देता है।
कर्लक्फी

2
कुबेरनेट्स 1.1 के रूप में, कुबेरनेट्स अब ऑटोसालिंग और एचटीटीपी पथ बेस लोड बैलेंसिंग का समर्थन करता है ( blog.kubernetes.io/2015/11/… )
ब्रेंडन बर्न्स

2
मुझे लगता है कि आपके "एंटरप्राइज वेब जीयूआई" बुलेट पॉइंट के साथ कई सूक्ष्म लाभ हैं। उदाहरण के लिए, GUI का एक बाज़ार स्थान है जहाँ आप कह सकते हैं, "मुझे एक डेटाबेस चाहिए" या "मुझे एक बटन के क्लिक पर एक सतत कतार चाहिए"। इसका जवाब है, "ठीक है, यहाँ आपका कनेक्शन स्ट्रिंग है"। K8s का उपयोग करने की मेरी धारणा यह है कि आप इन चीज़ों के लिए अपने दम पर हैं: कहीं एक डॉकटर कंटेनर ढूंढें और अपने आप को एक परिनियोजित स्क्रिप्ट लिखें ताकि आपका पर्यावरण इसका उपयोग कर सके। CF इस सब के लिए एक CLI भी प्रदान करता है।
डैनियल कपलान

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

11

क्लाउड फाउंड्री एक महान उपकरण है जो यह मानता है कि आप हमेशा प्रस्ताव की बाधाओं के भीतर काम करने के इच्छुक हैं क्योंकि यह बहुत ही राय / निर्धारित है। वेब UI पहले दिन देखने के लिए अच्छा है, लेकिन क्लाइंट के साथ काम करने और अपने CI / CD पाइपलाइन को कॉन्फ़िगर करने के बाद शायद ही कभी उपयोग किया जाता है। मैंने पाया है कि जब तक क्लाउड फाउंड्री के भीतर पूरी तरह से आसानी से समर्थित नहीं होते हैं, तब तक क्लाउड फाउंड्री महान है। इन उपयोग मामलों को वितरित करने से परियोजनाओं में देरी हो सकती है क्योंकि आप उन समस्याओं को हल करने का प्रयास करते हैं, जिसके परिणामस्वरूप आप उन घटकों के दृश्यता को खो देते हैं और उन घटकों के समर्थन लाभ जो तब क्लाउड फाउंड्री के बाहर चल रहे होते हैं (कई डेटाबेस, कफ़्का, हडूप, कैफ़ेन्द्रा लगता है) , आदि) मुझे समय के साथ संदेह है, डॉकर के आसपास की गति और क्लाउड फाउंड्री की अनम्यता, उपयोगकर्ताओं को कुबेरेटीस को चलाएगी, मेसोस या डॉकर झुंड / डाटासेंटर। यह संभव है कि क्लाउड फाउंड्री इन तीनों को पकड़ सके, लेकिन इन ओपन सोर्स प्रोजेक्ट्स की लोकप्रियता के कारण यह असंभव प्रतीत होगा।


3
मैं एक क्लाउड फाउंड्री शुरुआती हूं। क्या आप ऐसे उपयोग मामलों के कुछ उदाहरण दे सकते हैं जो क्लाउड फाउंड्री में आसानी से समर्थित सुविधाओं की मांग नहीं करते हैं?
सोमू

9

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

दी, मैं इसे कुबेरनेट्स डेवलपर के रूप में कहता हूं - कोई भी कुबेरनेट्स बनाम मेसोस, अमेज़ॅन ईसीएस बनाम कुबेरनेट्स, या डॉकर झुंड बनाम कुबेरनेट्स के सवाल पूछ सकता है।

मुझे उम्मीद है कि समय के साथ, हम सभी एक ही दिशा में ट्रेंड कर रहे हैं और अधिक सहयोग कर सकते हैं और कम समय बिता सकते हैं ताकि एक-दूसरे के काम को फिर से किया जा सके।

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


10
हालांकि कुबेरनेट्स के बारे में भी यही कहा जा सकता है; CF v1 2011 में लॉन्च किया गया था, v2 को 2013 के मध्य में कंटेनरों के साथ बनाया गया था और उस समय के आसपास लॉन्च किया गया था जब डॉकर को पहली बार खुला खट्टा किया गया था, और डिएगो (गो में कंटेनर इंजन को फिर से लिखना) 2014 के शुरू में शुरू हुआ, क्यूब से लगभग 6 महीने पहले। यहां तक ​​कि घोषणा की। हो सकता है कि लोगों ने सोचा कि सीएफ को चीजें गलत लगीं, आदि, लेकिन बहुत सारे प्रोजेक्ट निश्चित रूप से इसे फिर से बनाते हैं। हम इसे Swarm बनाम K8S, या घुमंतू, या मैराथन, आदि के साथ भी देखते हैं। उन्होंने कहा कि, खुले स्रोत के साथ सहयोग और प्रतिस्पर्धा दोनों है, उम्मीद है कि जहां यह समझ में आएगा, वहां यह समझ में आएगा
स्टुअर्ट चार्लटन

3

एक महत्वपूर्ण अंतर, मेरी राय में, दृष्टिकोण वे ले रहे हैं:

सीएफ स्वचालित रूप से 3 घटकों से रनटाइम बनाता है: उपयोगकर्ता ने एप्लिकेशन बाइनरी प्रदान किया, ऐप को चलाने के लिए मिडलवेयर युक्त बिल्डपैक और एक ओएस छवि (एक स्टेमसेल)। सीएफ उपयोगकर्ता (एक डेवलपर) को केवल आवेदन बाइनरी प्रदान करना है (उदाहरण के लिए एक निष्पादन योग्य जार फ़ाइल)। सीएफ बाकी के बारे में ध्यान रखता है, वह ऐप को पैकेजिंग और चला रहा है।

कुबेरनेट्स एक डेवलपर डॉकरों की छवियों से उम्मीद करते हैं जिनमें मिडलवेयर और ओएस शामिल हैं जो पहले से ही निर्मित हैं और चलाने के लिए तैयार हैं। उसके लिए, कुबेरनेट्स "परिनियोजन प्रकट" (जैसे एक हेल्म चार्ट) न केवल एक ऐप या सेवा का वर्णन करता है, बल्कि सभी [माइक्रो] सेवाएं जो आपके समाधान को रनटाइम पर समाहित करता है। आप अपने रनटाइम का एक एकल घोषणात्मक विवरण प्रस्तुत करते हैं और कुबेरनेट्स आपके दिए गए विवरण से मेल खाने वाले वास्तविक रनटाइम स्टेट के बारे में ध्यान रखता है।

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


2

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

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

किसी भी kubernetes परिनियोजन के लिए कम से कम दो संसाधनों की आवश्यकता होती है:

1) परिनियोजन। श्यामल: यह संसाधन परिभाषित करता है कि आपके कंटेनर रजिस्टरी, रेप्लिकासेट्स (पॉड प्रतिकृतियां), रोलआउट रणनीति, स्केलिंग और जांच इत्यादि से किस संस्करण को छवि की आवश्यकता है।

2) service.yaml: इसका एक इंटरफ़ेस आपके आंतरिक पॉड्स और बाहरी दुनिया के बीच है, सभी बाहरी ट्रैफ़िक इस संसाधन में परिभाषित पोर्ट को सुनेंगे जहां से यह आंतरिक पॉड्स को लोड वितरित करता है।

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

कुबेरनेट पर अधिक आप नीचे पा सकते हैं: https://kubernetes.io/docs/


1

[pcf बनाम kubernetes] [1] pcf और kubernetes में अंतर

                                PCF

(आवेदन स्तर पर मंच अमूर्त) • पिवट क्लाउड फाउंड्री क्लाउड-मूल अनुप्रयोग विकास का एक उच्च-स्तरीय अमूर्त है।

• हमारे पास एप्लिकेशन स्तर पर मंच अमूर्त है, एक पूरी तरह से कॉन्फ़िगर किए गए एप्लिकेशन का निर्माण और तैनाती

• PCF एक "एप्लिकेशन" PaaS (जिसे क्लाउड फाउंड्री एप्लिकेशन रनटाइम भी कहा जाता है) का एक उदाहरण है

• डेवलपर भविष्य में आवेदन को बनाए रखता है

• नए अनुप्रयोगों, क्लाउड-देशी एप्लिकेशन के लिए आदर्श। कम जीवन चक्र और लगातार रिलीज के साथ काम करने वाली टीमों के लिए, पीसीएफ एक उत्कृष्ट उत्पाद प्रदान करता है।

                       Kubernetes 

(कंटेनर लेवल पर प्लेटफॉर्म एब्स्ट्रक्शन) • कुबेरनेट्स एक कंटेनर शेड्यूलर या ऑर्केस्ट्रेटर है।

• हमारे पास एक पूर्ण अनुप्रयोग के एक भाग के रूप में कंटेनर स्तर पर कंटेनर एब्स्ट्रक्शन है, कंटेनर का निर्माण और तैनाती।

• कुबेरनेट्स एक "कंटेनर" पासा है (जिसे कभी-कभी सीएएएस भी कहा जाता है)।

• कंटेनर ऑर्केस्ट्रेशन टूल के साथ, डेवलपर भविष्य में कंटेनर का निर्माण और रखरखाव करता है।

• नए आवेदन के लिए, आपकी इंजीनियरिंग टीमों के लिए अधिक काम और उत्पादकता में कमी


1
हाय हेमवती तमिलनाडु, क्या आपका उत्तर एक लिंक गुम है?
पैंग

@ पंग सही है! एक लिंक आपके स्पष्टीकरण का पूरक होगा।
तस्लीम ओसेनी

1

4 साल बाद रुझान इस तरह दिखते हैं:

यहां छवि विवरण दर्ज करें

कुबेरनेट्स क्लस्टर इन दिनों वास्तव में सस्ते हो रहे हैं और कुबेरनेट्स के लिए टूलींग वातावरण बेहतर है।

अन्य पोस्टरों द्वारा सूचीबद्ध अधिकांश प्रतिस्पर्धात्मक विशेषताएँ भी इन दिनों कुबेरनेट्स के अंदर दोहराने में आसान हैं।

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