2016-04-02 4 views
8

स्थिति: बहुत से भारी डॉकर कंटेनर जो थोड़ी देर के लिए समय-समय पर हिट करते हैं, फिर लंबे समय तक अप्रयुक्त रहें।ऑन-डिमांड डॉकर कंटेनर स्टार्ट-अप लागू करें

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

विकल्प:

  • Kubernetes संसाधन नियंत्रकों जो प्रतिकृतियां पैमाने पर कर सकते हैं। मुझे लगता है कि प्रतिलिपि की संख्या 0 पर रखना संभव होगा और आवश्यकता होने पर इसे 1 पर सेट करना संभव होगा, लेकिन कोई इसे कैसे प्राप्त कर सकता है? user guide का कहना है कि ऑटो स्केलिंग नियंत्रण एजेंट नामक कुछ है लेकिन मुझे इस पर कोई और जानकारी नहीं दिखाई दे रही है। क्या कोई प्लग करने योग्य, प्रोग्राम करने योग्य एजेंट उपयोगकर्ता द्वारा परिभाषित तर्क के आधार पर अनुरोधों और पैमाने को ट्रैक करने के लिए उपयोग कर सकता है?
  • मुझे डॉकर स्वार में कोई समाधान नहीं दिख रहा है, अगर मैं गलत हूं तो मुझे सही करें।
  • चुनी गई भाषा में लिखे गए एक कस्टम http सर्वर का उपयोग करें जिसमें डॉकर डिमन तक पहुंच होगी। जगह को सही करने के लिए मार्ग से पहले यह कंटेनर के अस्तित्व की जांच करेगा और यह सुनिश्चित करेगा कि यह चल रहा है। डाउनसाइड - एक सामान्य समाधान नहीं, एक कंटेनर हो या डेमॉन तक पहुंच हो।
  • वर्णित here के रूप में systemd का उपयोग करें। उपरोक्त के रूप में वही डाउनसाइड्स, यानी सामान्य नहीं है और किसी को नेटवर्किंग कार्यों को स्वयं संभालना पड़ता है (जैसे स्पॉन्डेड कंटेनर का आईपी ढूंढना और इसे सर्वर/प्रॉक्सी की कॉन्फ़िगरेशन में खिलाना)।

किसी भी विचार की सराहना की!

+0

कस्टम HTTP सर्वर के संबंध में। डॉकरयूआई कंटेनर के पास डेमॉन तक पहुंच है। आप सिर्फ डॉकर सॉकेट को कंटेनर में वॉल्यूम में माउंट करते हैं और सभी अनुरोध –

+0

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

उत्तर

2

आप क्यूबर्नेट्स के अंतर्निर्मित Horizonal Pod Autoscaling (HPA) का उपयोग प्रत्येक कंटेनर के 1 उदाहरण से स्केल करने के लिए कर सकते हैं ताकि लोड को संभालने के लिए बहुत से लोगों की आवश्यकता हो, लेकिन अनुरोध प्राप्त करने पर 0-से-1 स्केलिंग के लिए कोई अंतर्निहित कार्यक्षमता नहीं है , और मुझे किसी भी व्यापक रूप से इस्तेमाल किए गए समाधान के बारे में पता नहीं है।

+0

आपके उत्तर के लिए धन्यवाद। क्या आप इस स्थिति को असामान्य मानते हैं? मैंने सोचा कि ऑन-डिमांड स्टार्टअप के कार्यान्वयन को ढूंढना आसान होगा, लेकिन ऐसा लगता है कि कोई भी इस पर काम नहीं कर रहा है। – xificurC

+2

यदि आप रुचि रखते हैं तो https://github.com/kubernetes/kubernetes/issues/484 में संबंधित चर्चाएं हैं। –

0
  1. आप अपने डॉकर कंटेनर को प्रबंधित करने के लिए systemd का उपयोग कर सकते हैं। देखें https://developer.atlassian.com/blog/2015/03/docker-systemd-socket-activation/

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

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

  3. मुझे लगता है कि डाइमन की तरह कुछ जिसे पैंथन लागू किया गया था, को सीधे डॉकर डेमन के बजाय कुबेरनेट्स को कमांड भेजने के लिए इस्तेमाल किया जा सकता था। शायद गतिशील रूप से शुरू करने वाले contaners के लिए एक व्यवस्थित आधारित दृष्टिकोण भी आवश्यकतानुसार Kubernetes के साथ संवाद कर सकता है। इनमें से कोई भी आपको केवल कंटेनर न केवल फली को आग लगाने की अनुमति दे सकता है।

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