Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> आभासी मशीन

वैग्रंट वर्चुअलाइजेशन - परिचय मार्गदर्शिका

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

विचार इस प्रकार है:आप छोटे-मोटे आदेशों को छिपाते हैं और एक एकीकृत इंटरफ़ेस प्रस्तुत करते हैं, और फिर कुछ buzzwords जैसे क्लाउड और व्हाट्सनॉट में बाँधते हैं, और यह एक नई नई तकनीक बन जाती है जिसके बारे में हर कोई बात करता है। बहुत हद तक OpenStack, OpenShift, OpenCloud और अन्य फैंसी नामों की तरह। वास्तव में, यदि आप PostgreSQL, Jenkins और Node.js जैसे अधिक नाम ड्रॉपर में टॉस करने का प्रबंधन करते हैं, तो आप आधुनिक और हिप और कूल होने के लिए अतिरिक्त अंक जीतते हैं। लेकिन सभी व्यंग्य एक तरफ, आइए देखें कि यह उपकरण क्या कर सकता है, और यदि यह किसी काम, मूल्य और मज़ेदार है।

शब्द बहुत आवश्यक हैं

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

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

सेटिंग

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

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

आवारा ऊपर

हालाँकि, यदि आपने काम के माहौल को तैयार और आरंभ नहीं किया है, तो आपको कुछ बदसूरत त्रुटियाँ मिलेंगी:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe ऊपर
इसे चलाने के लिए एक आवारा वातावरण या लक्ष्य मशीन की आवश्यकता होती है
आज्ञा। एक नया आवारा वातावरण बनाने के लिए `vagrant init` चलाएँ। या, इस आदेश को चलाने के लिए `vagrant global-status` से लक्ष्य मशीन की एक आईडी प्राप्त करें। एक अंतिम विकल्प Vagrantfile के साथ एक निर्देशिका में बदलना और पुनः प्रयास करना है।

पर्यावरण को आरंभ करने के बाद, आप ईमानदारी से काम करना शुरू कर सकते हैं।

लेकिन फिर से, हमें कुछ बदसूरत त्रुटियों से जूझना चाहिए:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe ऊपर
'वर्चुअलबॉक्स' प्रदाता के साथ मशीन को 'डिफ़ॉल्ट' ऊपर लाना ...
==> डिफ़ॉल्ट:बॉक्स 'बेस' नहीं मिला। खोजने और स्थापित करने का प्रयास कर रहा है...
डिफ़ॉल्ट:बॉक्स प्रदाता:वर्चुअलबॉक्स
डिफ़ॉल्ट:बॉक्स संस्करण:>=0
==> डिफ़ॉल्ट:प्रदाता के लिए बॉक्स 'आधार' (v0) जोड़ना:वर्चुअलबॉक्स
डिफ़ॉल्ट:डाउनलोड हो रहा है:base
चूक:
दूरस्थ फ़ाइल डाउनलोड करते समय एक त्रुटि हुई. त्रुटि
संदेश, यदि कोई हो, नीचे पुन:प्रस्तुत किया गया है। कृपया इस त्रुटि को ठीक करें और पुनः प्रयास करें।

फ़ाइल नहीं खोल सका /HashiCorp/Vagrant/bin/base
पुनश्च सी:\HashiCorp\Vagrant\bin>

डिफ़ॉल्ट रूप से, Vagrant का Windows संस्करण आधार छवि से वर्चुअल मशीन प्रारंभ करने का प्रयास करेगा। वह छवि उपलब्ध नहीं होगी, यही वजह है कि जब आप बिना किसी तैयारी के इसे चलाते हैं तो अप कमांड विफल होने वाला है।

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

आवारा बॉक्स हैशकॉर्प/बेस

जोड़ें

यदि आप एक गैर-मौजूद छवि निर्दिष्ट करते हैं, तो आपको अधिक त्रुटियाँ प्राप्त होंगी:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe बॉक्स हैशिकॉर्प/बेस जोड़ें
बॉक्स 'हैशिकॉर्प/बेस' नहीं मिला या रिमोट कैटलॉग में एक्सेस नहीं किया जा सका। यदि यह हाशीकॉर्प के एटलस पर एक निजी बॉक्स है, तो कृपया सत्यापित करें कि आप 'आवारा लॉगिन' के माध्यम से लॉग इन हैं। साथ ही, कृपया नाम की दोबारा जांच करें. विस्तारित
यूआरएल और त्रुटि संदेश नीचे दिखाया गया है:

यूआरएल:["https://atlas.hashicorp.com/hashicorp/base"]
त्रुटि:अनुरोधित URL लौटा त्रुटि:404 नहीं मिला

लेकिन आप बेस इमेज की उम्मीद करते हैं। यह समस्या क्यों होती है, इसके विभिन्न ऑनलाइन संदर्भ हैं, और यह कॉन्फ़िगरेशन फ़ाइल में डिफ़ॉल्ट घोषणा के लिए नीचे आता है। यदि आप इसे उपलब्ध छवियों में से एक में बदलते हैं और इसे डाउनलोड करते हैं, तो आप समस्या का समाधान कर लेंगे। दरअसल, Vagrantfile में, आपको डिफ़ॉल्ट प्रविष्टि को संपादित करना होगा। जब आप Vagrant शुरू करते हैं तो स्ट्रिंग बेस को डिफ़ॉल्ट छवि के रूप में उपयोग करने के लिए जो कुछ भी आप उपयोग करना चाहते हैं उसे बदलें। यह Ubuntu, Fedora, CoreOS, या उस प्रकार का कुछ भी हो सकता है।

# हर वैग्रंट विकास के माहौल में एक बॉक्स की आवश्यकता होती है। आप https://atlas.hashicorp.com/search पर बॉक्स खोज सकते हैं।
config.vm.box ="आधार"

हमारे अभ्यास के लिए, और इसके लिए एक बहुत अच्छा भविष्य कारण है, हम CoreOS छवि (yungsang/coreos) के कुछ कम स्पष्ट विकल्प का परीक्षण करेंगे। छवि को पकड़ो।

सत्यापित करें कि यह वास्तव में कैटलॉग में जोड़ा गया है:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe बॉक्स सूची
उबंटू/ट्रस्टी64 (वर्चुअलबॉक्स, 20150506.0.0)
युंगसांग/कोरोस (वर्चुअलबॉक्स, 1.3.8)

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

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe ऊपर
'वर्चुअलबॉक्स' प्रदाता के साथ मशीन को 'डिफ़ॉल्ट' ऊपर लाना ...
==> डिफ़ॉल्ट:बेस बॉक्स 'yungsang/coreos' आयात कर रहा है...
==> डिफ़ॉल्ट:NAT नेटवर्किंग के लिए मैचिंग MAC एड्रेस...
==> डिफ़ॉल्ट:जाँच की जा रही है कि क्या बॉक्स 'yungsang/coreos' अप टू डेट है...
==> डिफ़ॉल्ट:VM का नाम सेट करना:bin_default_1431611566870_38538
==> डिफ़ॉल्ट:पहले से सेट किए गए किसी भी नेटवर्क इंटरफेस को साफ़ करना ...
==> डिफ़ॉल्ट:कॉन्फ़िगरेशन के आधार पर नेटवर्क इंटरफेस तैयार करना ...
डिफ़ॉल्ट:एडेप्टर 1:nat
==> डिफ़ॉल्ट:बंदरगाहों को अग्रेषित करना ...
डिफ़ॉल्ट:22 => 2222 (एडाप्टर 1)
==> डिफ़ॉल्ट:'प्री-बूट' VM अनुकूलन चला रहा है...
==> डिफ़ॉल्ट:VM बूट कर रहा है...
==> डिफ़ॉल्ट:मशीन के बूट होने की प्रतीक्षा कर रहा है। इसमें कुछ मिनट लग सकते हैं...
डिफ़ॉल्ट:SSH पता:127.0.0.1:2222
डिफ़ॉल्ट:SSH उपयोगकर्ता नाम:core
डिफ़ॉल्ट:SSH प्रमाणीकरण विधि:निजी कुंजी
डिफ़ॉल्ट:चेतावनी:कनेक्शन टाइमआउट। पुनः प्रयास कर रहा है...
==> डिफ़ॉल्ट:मशीन बूट और तैयार!

वर्चुअल मशीन से कनेक्ट करें

हमारी वर्चुअल मशीन चल रही है। महान। आप आवारा स्थिति के साथ जांच कर सकते हैं:

चल रहे वर्चुअल मशीन में कदम रखने के लिए आप vagrant ssh या vagrant rdp wrapper कमांड का उपयोग कर सकते हैं। ऐसा करने के अन्य, अधिक उन्नत तरीके हैं, लेकिन हम अनुवर्ती ट्यूटोरियल में चर्चा करेंगे, जो नेटवर्किंग और क्लस्टर पर केंद्रित है।

Windows क्लाइंट के लिए, आप RDP का उपयोग कर सकते हैं, लेकिन यह हमारे मामले में काम नहीं करेगा, क्योंकि RDP CoreOS के अंदर उपलब्ध नहीं है। मुझे यकीन नहीं है कि वीएनसी एक विकल्प है, लेकिन यह एक ऐसी चीज है जिसका मुझे अभी परीक्षण करना है। इसी तरह, SSH एक समस्या उत्पन्न करता है, क्योंकि Windows डिफ़ॉल्ट SSH एजेंट के साथ शिप नहीं करता है, और यदि आपके पास PuTTY स्थापित है, तो यह पथ में नहीं हो सकता है।

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe rdp डिफ़ॉल्ट
==> डिफ़ॉल्ट:RDP जानकारी का पता लगा रहा है...
इस मशीन के लिए RDP कनेक्शन की जानकारी नहीं हो सकी
पता चला। यह आम तौर पर तब होता है जब हम आईपी नहीं ढूंढ पाते हैं
या पोर्ट आरडीपी के लिए कनेक्ट करने के लिए। कृपया सत्यापित करें कि आप अग्रेषित कर रहे हैं
एक RDP पोर्ट और यह कि आपकी मशीन तक पहुँचा जा सकता है।

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe ssh डिफ़ॉल्ट -- -A
`ssh` निष्पादन योग्य %PATH% चर में किसी भी निर्देशिका में नहीं मिला। क्या एक एसएसएच क्लाइंट स्थापित है? Cygwin, MinGW या Git को स्थापित करने का प्रयास करें, जिनमें से सभी में एक SSH क्लाइंट है। या नीचे दिखाई गई प्रमाणीकरण जानकारी के साथ अपने पसंदीदा SSH क्लाइंट का उपयोग करें:

होस्ट:127.0.0.1
पोर्ट:2222
उपयोगकर्ता नाम:कोर
निजी कुंजी:C:/Users//.vagrant.d/insecure_private_key

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

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

और पढ़ना

क्या आपको थोड़ा सा पाठ पसंद करना चाहिए:

पेश है वैग्रांट, एक लिनक्स जर्नल लेख

वैग्रांट पर क्रैश कोर्स

डॉकर नेटवर्किंग चीज

निष्कर्ष

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

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

प्रोत्साहित करना।

  1. XenServer + XenCenter समीक्षा

    मुझे लगता है कि आपको यह लेख बेहद असामान्य और फिर भी मजेदार लगेगा। सबसे पहले, मैंने अतीत में Citrix XenServer के बारे में लिखा था, अर्थात् इसे कैसे स्थापित और कॉन्फ़िगर किया जाए। कुल मिलाकर, ऑपरेशन बिना दिमाग के था, खासकर जब से XenServer मुफ्त XCP के लिए एक आधार है, जो समान क्षमताओं के साथ आता है। हा

  1. वर्चुअलबॉक्स 4 - नया क्या है?

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

  1. MojoPac - डेस्कटॉप वर्चुअलाइजेशन सॉफ्टवेयर

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