2015-11-27 4 views
16

मैं https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker-multinodeहाइपरक्यूब क्या है?

पर एडब्ल्यूएस में सेटअप Kubernetes कोशिश कर रहा हूँ और गाइड निम्नलिखित मैं समझता हूँ कि क्या hyperkube मतलब है सके। क्या कोई मुझे बता सकता है कि यह क्या है और यह कैसे काम करता है?

और एक और सवाल मेरे पास है आदेश

sudo docker run \ 
    --volume=/:/rootfs:ro \ 
    --volume=/sys:/sys:ro \ 
    --volume=/dev:/dev \ 
    --volume=/var/lib/docker/:/var/lib/docker:rw \ 
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \ 
    --volume=/var/run:/var/run:rw \ 
    --net=host \ 
    --privileged=true \ 
    --pid=host \ 
    -d \ 
    gcr.io/google_containers/hyperkube:v${K8S_VERSION} \ 
    /hyperkube kubelet \ 
     --api-servers=http://localhost:8080 \ 
     --v=2 --address=0.0.0.0 --enable-server \ 
     --hostname-override=127.0.0.1 \ 
     --config=/etc/kubernetes/manifests-multi \ 
     --cluster-dns=10.0.0.10 \ 
     --cluster-domain=cluster.local 

यह डिफ़ॉल्ट रूप से एक फली शुरू कर रहा है चलाते समय है। कमांड प्रलेखन से ऐसा लगता है कि यह --config=/etc/kubernetes/manifests-multi विशेषता से पॉड मैनिफेस्ट प्राप्त कर रहा है। लेकिन यह निर्देशिका मेरे मेजबान में मौजूद नहीं है। क्या कोई मुझे बता सकता है कि यह कहां से यह पॉड मैनिफेस्ट प्राप्त कर रहा है?

उत्तर

2

मैं अपनी कुबर्नेट यात्रा शुरू कर रहा हूं, हालांकि यदि आप जिथब पर स्रोत को देखते हैं तो आप देखेंगे कि हाइपरक्यूब कहां से आ रहा है। यह कुबेरनेट के मूल में बनाया गया है - https://github.com/kubernetes/kubernetes/blob/master/cmd/hyperkube/hyperkube.go

कुबर्नेट्स को कंटेनर को एक नए स्तर पर लेने और उन्हें Google कॉल फोड में लपेटने के लिए डिज़ाइन किया गया है। हाइपरक्यूब - और अगर मैं गलत हूं तो कृपया मुझे सही करें, कंटेनर के शेड्यूलिंग, सृजन और प्रबंधन की आर्क/क्रुक्स/रीढ़ की हड्डी है जो फली बनाती है और अनिवार्य रूप से शो चलाती है इसलिए नाम "हाइपरक्यूब" है। इसके अलावा हाइपरक्यूब घटनाओं को जल्दी से प्रतिक्रिया देता है और आपकी सेवा/ढेर/कंटेनर/मेजबान स्वास्थ्य के संबंध में फ्लाई पर निर्णय लेने में सक्षम है।

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

मुझे उम्मीद है कि यह कुछ प्रश्नों का उत्तर देगा और आपको सही दिशा में भी ले जाएगा।

यह निर्णय निर्माता और कुबेरेट्स क्लस्टर में जीवन देने वाला है।

+0

उत्तर के लिए धन्यवाद। लेकिन क्या आप कृपया बता सकते हैं कि डिफ़ॉल्ट पॉड परिभाषा कहां से लोड हो जाती है और कैसे हाइपरक्यूब पॉड लॉन्च कर रहा है? –

2

यदि आप प्रत्येक घटक को हाथ से लाने के अनुभव के माध्यम से एडब्ल्यूएस में क्लस्टर चलाने के बारे में अधिक परवाह करते हैं (जिसे आप सीखने के लिए इसे तब तक परेशान नहीं करना चाहिए), मैं documented here के रूप में एक एडब्लूएस क्लस्टर बनाने के लिए टर्न-की स्क्रिप्ट का उपयोग करने की दृढ़ता से अनुशंसा करें।

किसी और के लिए इस प्रश्न/उत्तर को देखने के लिए, page in the docs on how to choose a cluster creation method that fits your needs है।

हाइपरक्यूब के बारे में आपके प्रश्न के लिए, कॉन्फ़िगरेशन फ़ाइल हाइपरक्यूब डॉकर छवि में बनाई गई है, क्योंकि आप its Dockerfile से उत्सुक हैं यदि आप उत्सुक हैं।

57

Kubernetes डेमॉन/बाइनरी का एक सेट है:

  • kube-apiproxy (उर्फ गुरु),
  • kubelet (। शुरू/बंद कंटेनर, सिंक conf),
  • kube-scheduler (संसाधन प्रबंधक)
  • kube-controller-manager (मॉनिटर आरसी, और वांछित स्थिति बनाए रखें)
  • kube-proxy (प्रत्येक नोड पर सेवाओं का पर्दाफाश करें)

hyperkube बाइनरी सभी बाइनरी में एक है (एक तरह से busybox के समान), सभी पूर्व अलग बाइनरी संयोजन।

निम्न आदेश:

hyperkube kubelet \ 
    --api-servers=http://localhost:8080 \ 
    --v=2 \ 
    --address=0.0.0.0 \ 
    --enable-server \ 
    --hostname-override=127.0.0.1 \ 
    --config=/etc/kubernetes/manifests-multi \ 
    --cluster-dns=10.0.0.10 \ 
    --cluster-domain=cluster.local 

डेमॉन kubelet चलाता है।

+0

यह स्वीकार्य उत्तर हो सकता है। बिंदु के लिए लघु, प्रासंगिक,। – akauppi

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