सवाल वाग्रेंट, डॉकर, शेफ और ओपनस्टैक (या इसी तरह के उत्पादों) के बीच संबंध?


मैं एक वेब डेवलपर हूं, लेकिन मुझे कुछ प्रशासनिक कार्यों में भी रूचि है। इसलिए, शुद्ध प्रशासन से देव-ओप्स तक नया कदम मेरे लिए आसान है।

वैसे भी, मुझे कुछ चीजों को रिश्ते में रखने में कुछ समस्याएं हैं। शायद कोई नहीं है, इसलिए मैं स्पष्टीकरण में मदद मांगा चाहता था।

असल में, जो मैं संबंध में रखना चाहता हूं वह चार प्रकार के सॉफ़्टवेयर (मेरी समझ से) है। सटीक उत्पाद कोई फर्क नहीं पड़ता, आप किसी भी समान सॉफ़्टवेयर को वैकल्पिक के रूप में रख सकते हैं:

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

प्रश्न # 1: क्या मेरी व्याख्या सही है, या क्या मैं इन खपत के कुछ (या सभी) के साथ गलत हूं?

प्रश्न # 2: मैं उन सभी उपकरणों को कैसे मिला सकता हूं? क्या इससे कोई मतलब होगा?

मेरी कल्पना में और समझने के मेरे बिंदु से, आप जा सकते हैं और

  • अपना खुद का क्लाउड बनाने के लिए ओपनस्टैक का उपयोग करें,
  • क्लाउड में चल रहे वीएम को प्रबंधित करने के लिए वग्रेंट का उपयोग करें,
  • इन वीएम को स्थापित करने के लिए शेफ का उपयोग करें
  • और अंततः वीएम के अंदर प्रक्रियाओं को चलाने के लिए डॉकर का उपयोग करें।

क्या ये सही है? और यदि हां, तो क्या आप मुझे यह सलाह दे सकते हैं कि यह सब कैसे शुरू करना है (यह एक ही समय में काफी है, और मुझे अभी तक पता नहीं है कि कहां से शुरू करना है)?


55
2017-09-12 17:15


मूल


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


जवाब:


आइए इन सभी परियोजनाओं के बारे में जानने के लिए अपने संबंधित वेब पेजों का उपयोग करें। मैं जिस क्रम में सूचीबद्ध हूं उसे बदल दूंगा, यद्यपि:

  • महाराज: शेफ एक स्वचालन मंच है जो आधारभूत संरचना को कोड में बदल देता है।

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

  • आवारा: हल्के, पुनरुत्पादित, और पोर्टेबल विकास वातावरण को बनाएं और कॉन्फ़िगर करें।

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

  • डाक में काम करनेवाला मज़दूर: लाइटवेट कंटेनर के रूप में किसी भी एप्लिकेशन को पैक, शिप और चलाने के लिए एक ओपन सोर्स प्रोजेक्ट

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

  • खुला ढेर: निजी और सार्वजनिक बादलों के निर्माण के लिए ओपन सोर्स सॉफ्टवेयर।

    हालांकि यह सच है कि ओपनस्टैक एक मशीन पर तैनात किया जा सकता है, इस तरह की तैनाती पूरी तरह से प्रमाण-अवधारणा के लिए है, शायद संसाधन बाधाओं के कारण बहुत कार्यात्मक नहीं है।

    ओपनस्टैक इंस्टॉलेशन के लिए प्राथमिक लक्ष्य नंगे धातु बहु-नोड वातावरण हैं, जहां विभिन्न घटक बेहतर परिणाम प्राप्त करने के लिए समर्पित हार्डवेयर में इस्तेमाल किया जा सकता है।

    ओपनस्टैक की एक प्रमुख कार्यक्षमता पूर्ण वर्चुअलाइजेशन (वर्चुअलबॉक्स, वीएमवेयर) से पैरावार्च्यूलाइज्ड (केवीएम / क्यूमु) और कंटेनर (एलएक्ससी) और यहां तक ​​कि कई वर्चुअलाइजेशन तकनीकों के लिए इसका समर्थन है उपयोगकर्ता मोड लिनक्स (यूएमएल)

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

आपको अपनी सभी कार्यक्षमताओं को अपनी परियोजना के दायरे में परिभाषित किया जाना चाहिए।

यह भी ध्यान रखें कि मैंने ज्यादातर तकनीकी स्पष्टीकरणों को अधिक सरल बना दिया है। कृपया विस्तृत जानकारी के लिए संदर्भित लिंक का उपयोग करें।


52
2017-09-12 20:16



कर रहे हैं महाराज तथा कठपुतली वही उपकरण? मेरा मतलब है कि वे बराबर हैं? यदि आप इसे विंडोज 10 होस्ट पर चलाने के लिए चाहते हैं, तो आप किस टूल्स का उपयोग करेंगे? - ReynierPM
कठपुतली शेफ के लिए एक समान उपकरण है। विंडोज़ पर बेहतर है या नहीं, इसके बारे में सुनिश्चित करें .. - a deer


मुझे लगता है कि एक डेवलपर पृष्ठभूमि से आने से वास्तव में एक और 'मुश्किल' बन जाएगा, आपका प्रश्न लगभग 3 साल पुराना है, इसलिए यह सुनना दिलचस्प होगा कि आप यात्रा कैसे ढूंढ रहे हैं, मैं इस दृष्टिकोण से उत्तर दूंगा आपके द्वारा ऊपर वर्णित अनुप्रयोगों के बारे में sys व्यवस्थापक और उम्मीद है कि यह कुछ प्रकाश डालेगा, या एक गैर तकनीकी परिप्रेक्ष्य देगा जो यह समझाने का कोई तरीका होगा कि एक व्यक्ति (व्यवस्थापक या देव) आपके द्वारा पूछे गए प्रश्नों पर विचार करना शुरू क्यों करेगा devops परिप्रेक्ष्य से एक्स, वाई, जेड के बीच संबंध क्या हैं इन उपकरणों से अधिक उनके भागों का योग?

मुझे वास्तव में लगता है कि sys admins के ऊपरी हाथ यहाँ हैं, आपके प्रश्न में आपके द्वारा उल्लिखित अधिकांश एप्लिकेशन व्यवस्थापक 'समस्याओं' को हल करते हैं और ऐसा करने में अधिक सार डेटा केंद्र वातावरण प्रदान करते हैं, और यह बदले में डेवलपर्स और नए ' devops 'रणनीति (रणनीति / टीम पढ़ें, devops एक व्यक्ति नहीं है)। तो आपके द्वारा उल्लेख किए गए ऐप्स के साथ संबंध क्या है? यह आईटी सेवा के लिए समग्र दृष्टिकोण कैसे प्रदान करता है?

ओपनस्टैक: एक उपकरण जो आपको अपना निजी क्लाउड बनाने की अनुमति देता है,   इसलिए एडब्ल्यूएस जैसे कुछ के लिए तुलनीय

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

डॉकर: कुछ "लिनक्स वीएम", कुछ लिनक्स कर्नेल अवधारणाओं के आधार पर,   जिसका उपयोग अलगाव में प्रक्रियाओं को चलाने के लिए किया जा सकता है, उदा। एक साझा वेब में   होस्टिंग पर्यावरण।

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

महाराज: एक ऑपरेटिंग सिस्टम को सेटअप और कॉन्फ़िगर करने के लिए एक उपकरण, उदा। ए के अंदर   वी एम।

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

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

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

क्या आप मुझे यह सलाह दे सकते हैं कि यह सब कैसे शुरू करना है (यह काफी है   बहुत समय में, और मुझे अभी तक पता नहीं है कि कहां से शुरू करना है)?

यही कारण है कि मुझे लगता है कि व्यवस्थापक के पास ऊपरी हाथ है, हमें इसे मैन्युअल रूप से करना है और पता है कि क्या गलत हो सकता है, कठपुतली प्रकट होती है, क्लाउड कंप्यूटिंग और डॉकर ऑर्केस्ट्रेशन हमारे लिए आसान हो जाएगा, डेवलपर्स खुद को कई स्पर्श लेते हैं, इसलिए मेरा किसी भी संभावित devops के लिए सलाह पहले एक व्यवस्थापक होना है।


3
2018-05-18 13:14





मैंने अभी एक ओपनस्टैक परिनियोजन प्रोजेक्ट समाप्त किया है जो एक वाग्रेंट इंस्टेंस के अंदर शेफ सर्वर का उपयोग करता है: https://github.com/bluechiptek/bluechipstack/blob/master/README.md

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


0
2017-09-18 22:10





मेरे अंत में, मैं केवल वग्रेंट और डॉकर के संयोजन का उपयोग कर रहा हूं।

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

मैं जिस प्रावधान स्क्रिप्ट का उपयोग करता हूं वह एक सुरक्षित स्थान पर इंगित करता है जिसमें सीए प्रमाणपत्र और कुंजी शामिल हैं जो सीएसआर पर हस्ताक्षर करने के लिए उपयोग की जाती हैं docker swarm join टोकन। इसके अलावा मैं डॉकर इंजन स्थापित करता हूं और इसे झुंड में शामिल होने के लिए कॉन्फ़िगर करता हूं (अगर कोई नहीं है तो प्रारंभ करें)।

एक बार यह तय हो जाने के बाद, मैं बस एक करता हूं docker stack deploy मेरी स्थानीय मशीन या बिल्ड बॉक्स से मुझे जो भी चाहिए, उसके साथ ढेर को तैनात करने के लिए।

मेरे मामले में मैंने अभी गिरा दिया महाराज सरल पोस्ट स्थापना स्क्रिप्ट का उपयोग करने के पक्ष में जो करते हैं yum या apt-get मेरी प्रावधान स्क्रिप्ट के रूप में।

मैं भी इसका उपयोग करता हूं आवारा-ट्रिगर्स नष्ट करने से पहले अतिरिक्त स्क्रिप्टिंग जोड़ने के लिए प्लगइन (मेरे मामले में झुंड छोड़ने के लिए)।

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


0
2018-03-13 19:54