2016-02-04 16 views
8

के बिना डिस्क/सीपीयू मेट्रिक्स कैसे प्राप्त करें हेपस्टर का उपयोग किए बिना कुबेरनेट क्लस्टर के भीतर नोड के बारे में सीपीयू या डिस्क मेट्रिक्स जैसे एकत्र करने का कोई तरीका है?कुबर्नेट्स: एक नोड

हेपस्टर भी उन मीट्रिक को पहले स्थान पर कैसे एकत्र करता है?

उत्तर

15

कुबर्नेट्स निगरानी दस्तावेज here में विस्तृत है, लेकिन इसमें ज्यादातर हेपस्टर का उपयोग करके उपकरण शामिल होते हैं।

नोड-विशिष्ट जानकारी सीएडवाइसर यूआई के माध्यम से उजागर की जाती है जिसे पोर्ट 41 9 4 पर एक्सेस किया जा सकता है (प्रॉक्सी एपीआई के माध्यम से इसे एक्सेस करने के लिए नीचे दिए गए आदेश देखें)।

हेपस्टर <kubelet address>:10255/stats/ पर दिए गए आंकड़ों के लिए क्यूबलेट से पूछताछ करता है (अन्य अंतराल here कोड में पाया जा सकता है)।

इस प्रयास करें:

$ kubectl proxy & 
Starting to serve on 127.0.0.1:8001 
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}") 
$ curl -X "POST" -d '{"containerName":"/","subcontainers":true,"num_stats":1}' localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/container 
... 

ध्यान दें कि इन अंतिम बिंदुओं के रूप में वे आंतरिक उपयोग (और डिबगिंग) के लिए हैं दर्ज नहीं किया जाता है, और भविष्य में बदल सकता है (हम अंत में एक अधिक स्थिर संस्करणीकृत endpoint प्रदान करना चाहते हैं)।

अद्यतन:

Kubernetes संस्करण 1.2 के रूप में, Kubelet एक "सारांश" एपीआई कि सभी फली से आँकड़े एकत्रित करता है जिसकी निर्यात करता है:

$ kubectl proxy & 
Starting to serve on 127.0.0.1:8001 
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}") 
$ curl localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/summary 
... 
+0

अरे टिम, मैं स्पष्ट नहीं अपने वास्तव में ऐसा करने की कोशिश कर क्या कर रहा हूँ (के बाद से सामान्य रूप में मैं अभी भी Kubernetes के लिए नया हूँ) – adrian

+0

तुम्हारा मतलब उदाहरण क्या आज्ञा देता है मैं क्या कर रहे हैं तैनात है? यह नोड के '/ आँकड़े/कंटेनर 'एंडपॉइंट पर एक POST अनुरोध भेजता है, और परिणाम प्रिंट करता है (STDOUT तक)। आदेश 'kubectl नोड्स -o = jsonpath = "{। आइटम [0] .metadata.name}"' यादृच्छिक नोड के नाम को पकड़ने का एक शानदार तरीका है। –

+0

क्या नोड्स में कोई वाक्यविन्यास त्रुटि है? ऐसा लगता है कि जब मैं इसे अपने मास्टर सर्वर पर चला रहा हूं तो यह असफल रहा है। – adrian

2

मैं मेट्रिक्स इकट्ठा करने के लिए heapster का उपयोग कर की सिफारिश करेंगे। यह बहुत सीधे आगे है। हालांकि, उन मीट्रिक तक पहुंचने के लिए, आपको hepaster.yml फ़ाइल में "टाइप: नोडपोर्ट" जोड़ने की आवश्यकता है। मैंने मूल हेपस्टर फ़ाइलों को संशोधित किया और आप उन्हें here पा सकते हैं। मेट्रिक्स तक पहुंचने के लिए मेरी रीडमी फ़ाइल देखें। अधिक मीट्रिक here उपलब्ध हैं।

http://heapster-pod-ip:heapster-service-port/api/v1/model/metrics/cpu/usage_rate तक पहुंचकर मेट्रिक्स को वेब ब्राउज़र के माध्यम से एक्सेस किया जा सकता है। निम्न आदेश निष्पादित करके वही परिणाम देखा जा सकता है।

$ curl -L http://heapster-pod-ip:heapster-service-port/api/v1/model/metrics/cpu/usage_rate 
संबंधित मुद्दे