2015-09-23 11 views
10

से मैं दोनों डोकर और कौंसुल के लिए नया हूँ, और कैसे कंटेनरीकृत क्षुधा दोनों सेवा रजिस्ट्री और केवी जोड़ी config प्रबंधन ("विन्यास") के लिए कौंसुल इस्तेमाल कर सकते हैं का एहसास दिलाने की कोशिश कर रहा हूँ।डोकर, Registrator और कौंसुल उदाहरण

मेरे समझने था कि मैं कर सकता:

  • this की तरह एक छवि कौंसुल सर्वर चलाता है, तो कुछ बनाएं; तो
  • myvm01.example.com (एक उबंटू वीएम) पर इन डॉकर-कंसुल कंटेनर (इस प्रकार क्लस्टर/कोरम बनाने) में से तीन को स्पिन करें; तो
  • कंसुल का उपयोग करने के लिए मेरे ऐप को दोबारा दोहराएं और स्टार्टअप पर 3-नोड कोरम में शामिल होने के लिए कॉन्फ़िगर किए गए एजेंट के साथ एक ऐप और कंसुल एजेंट चलाते हुए एक डॉकर छवि बनाएं। स्टार्टअप पर, मेरा ऐप केवी जोड़े के रूप में संग्रहीत सभी कॉन्फ़िगरेशन को खींचने के लिए स्थानीय कंसुल एजेंट का उपयोग करता है। यह पंजीकृत/स्वस्थ सेवाओं में भी खींचता है, और सेवाओं को संतुलित करने के लिए स्थानीय लोड संतुलन उपकरण का उपयोग करता है।
  • myvm02.example.com (एक अन्य उबंटू वीएम) पर मेरे ऐप के कंटेनर चलाएं।

तो इससे शुरू होने के लिए, अगर ऐसा लगता है कि मैं डॉकर और कंसुल (सैन्स रजिस्ट्रार) के सामान्य/उचित उपयोगों को गलत समझ रहा हूं, तो कृपया मुझे सही करके शुरू करें!

मान लीजिए कि मैं कम या ज्यादा सही हूं, मैंने हाल ही में Registrator पर ठोकर खाई और अब और भी उलझन में हूं। रजिस्ट्रार आपके ऐप कंटेनर और आपके कंसुल (या जो भी रजिस्ट्री आप उपयोग करते हैं) सर्वर के बीच कुछ मध्यस्थ प्रतीत होता है।

उनके त्वरित प्रारंभ ट्यूटोरियल पढ़ने के बाद, यह लगता आप क्या करना चाहिए रहे हैं की तरह है:

  • से पहले
  • के बजाय "Dockerizing" की तरह myvm01.example.com करने के लिए अपने दूत क्लस्टर/कोरम कंटेनर तैनात मेरी ऐप सीधे कंसुल का उपयोग करने के लिए, मैं बस इसे रजिस्ट्रेटर
  • के साथ एकीकृत करता हूं, फिर मैं एक रजिस्ट्रेटर कंटेनर को कहीं भी तैनात करता हूं, और इसे कंसुल
  • के साथ एकीकृत करने के लिए कॉन्फ़िगर करता हूं, फिर मैं अपने ऐप सह को तैनात करता हूं ntainers। वे रजिस्ट्रार के साथ एकीकृत करते हैं, और बदले में रजिस्ट्रार कंसुल के साथ एकीकृत करता है।

मेरे चिंताओं:

  • मेरी समझ यहाँ सही तरीका बंद आधार है या नहीं? यदि हां, तो कैसे?
  • वास्तव में रजिस्ट्रार के अतिरिक्त द्वारा प्राप्त किया जाता है। यह ऐप और सेवा रजिस्ट्री के बीच संकेत की एक परत से अधिक कुछ भी नहीं (कम से कम अनियंत्रित आंखों के लिए) प्रतीत नहीं होता है।
  • क्या मैं अभी भी रजिस्ट्रेटर के माध्यम से कंसुल की केवी कॉन्फ़िगरेशन सेवा का लाभ उठाने में सक्षम हूं?

उत्तर

9

क्या मेरी समझ यहां सही या आधार से दूर है? यदि हां, तो कैसे?

ऐसा लगता है कि यह एक अच्छा समाधान नहीं है, सभी क्लस्टर/कोरम सदस्य एक ही वीएम के अंदर चल रहे हैं।यदि आप इसे विकास या टेटिंग या कुछ के लिए उपयोग करते हैं, तो यह इतना बुरा नहीं है, जहां आप विश्वसनीयता के बारे में ज्यादा परवाह नहीं करते हैं, लेकिन उत्पादन के लिए नहीं।

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

बाकी के लिए, मैं इसे आपके जैसा ही देखता हूं।

वास्तव में रजिस्ट्रार के अतिरिक्त द्वारा प्राप्त किया जाता है।

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

क्या मैं अभी भी रजिस्ट्रेटर के माध्यम से कंसुल की केवी कॉन्फ़िगरेशन सेवा का लाभ उठाने में सक्षम हूं?

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

अद्यतन: "Automatic Docker Service Announcement with Registrator" और "Automatic container registration with Consul and Registrator", मैं उपयोगी पाया सेवा खोज की प्रक्रिया में Registrator भूमिका को समझने की: इसके अलावा, यहां 2 लेख है।

संबंधित मुद्दे