2015-01-12 35 views
5

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

तो, क्या इसके लिए कोई सर्वोत्तम प्रथाएं हैं? यदि यह मदद करता है, तो कुछ तकनीकों जिन्हें हम कंटेनर के रूप में तैनात करने की तलाश में हैं, वे लोचदार खोज, ActiveMQ, और MongoDB हैं। अन्य हो सकते हैं।

उत्तर

2

हालांकि, एक मुद्दा यह है कि हमने वास्तव में कोई जवाब नहीं देखा है कि क्लस्टर सेवाओं को एक दूसरे से सही तरीके से कनेक्ट करने की अनुमति कैसे दी जाती है।

मुझे लगता है कि आप यहां HA/replicated/sharded ऐप्स के बारे में बात कर रहे हैं।

फिलहाल, कुबर्नेट्स में, आप सेवा के सभी "अंत बिंदु" को सूचीबद्ध करने के लिए एपीआई कॉल करके इसे पूरा कर सकते हैं; जो आपको बताएगा कि आपके साथियों कहाँ चल रहे हैं।

हम अंततः उपयोग के मामले का समर्थन करना चाहते हैं जो आप पहले श्रेणी के तरीके में वर्णित करते हैं।

मैंने https://github.com/GoogleCloudPlatform/kubernetes/issues/3419 दायर किया ताकि शायद यहां कुछ और मानकीकृत शुरू हो सके।

+0

बिल्कुल। मैंने मशीनों के समूह के रूप में चलाने के बाद से "क्लस्टर" का उपयोग किया। हमने वास्तव में कुछ ऐसा ही किया, लेकिन ऐसा लगता है कि हैकिश की तरह। इसके अलावा, नेतृत्व के बारे में चिंता है, अगर नोड्स को जोड़ा/निकाला जाता है, तो उम्मीद है कि आपका विचार मदद करता है। – blockcipher

0

कुबर्नेट्स के लिए, currently को kube-controllers-manager की आवश्यकता होती है ताकि --machines तर्क से मिनियन आईपी या होस्टनाम की सूची दी जा सके।

+0

शायद इसे या तो आदि या एमडीएनएस समर्थित खोज तंत्र के साथ प्रतिस्थापित करना मुश्किल नहीं होगा और निश्चित रूप से रखरखाव इस तरह के संवर्द्धन का स्वागत करेंगे। – errordeveloper

+0

कुबर्नेट्स के लिए ऐसा कुछ पहले से मौजूद है, हालांकि कंटेनर शुरू होने के बाद भी ऐसा कुछ है। फिर भी, सेवाओं को स्वयं खोज के उन विशेष रूपों का समर्थन करना होगा, जो परियोजना के आधार पर हो सकता है या नहीं भी हो सकता है। – blockcipher

+0

मुझे नहीं लगता कि हम एक ही चीज़ के बारे में बात कर रहे हैं ... आपका प्रश्न कुबर्नेट्स क्लस्टर स्वयं बनाने के बारे में था, जो वर्तमान में आपको सभी भाग लेने वाली मशीनों के आईपी/होस्टनाम प्रदान करने की आवश्यकता है। मैं समझता हूं कि आप उन ऐप्स के बारे में पूछ रहे हैं जो कुबर्नेट्स पर चलते हैं, है ना? – errordeveloper

0

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

मैं इस परिदृश्य के लिए मेसोस/मैराथन का उपयोग करना पसंद करूंगा । आपको मेसोस के लिए कस्टम फ्रेमवर्क लागू करना चाहिए। लोचदार खोज के लिए पहले से ही फ्रेमवर्क तैयार है: http://mesos.apache.org/documentation/latest/mesos-frameworks/

1

मैं मेसोस/मैराथन का उपयोग करके एक लोचदार खोज क्लस्टर भी सेट करना चाहता था। चूंकि मौजूदा "समाधान" या तो केवल अनियंत्रित थे, या काम नहीं कर रहे थे, मैंने अपना स्वयं का कंटेनर स्थापित किया था।

यदि आप चाहें, तो एक ElasticSearch क्लस्टर की स्थापना के लिए कुछ मिनट के एक मामले होना चाहिए, https://github.com/tobilg/docker-elasticsearch-marathon

आप एक चल मैराथन स्थापना (मैं v0.8.1 का उपयोग करें) है, तो पर एक नजर है।

अद्यतन:

कंटेनर अब Elasticsearch v1.5.2 का उपयोग करता है और नवीनतम मैराथन v0.8.2 पर चलाने के लिए सक्षम है।

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