"kubectl logs" मुझे एक कुबेरनेट कंटेनर का stderr/stdout दिखाता है। मैं फली के एक सेट के समेकित stderr/stdout कैसे प्राप्त कर सकता हूं, अधिमानतः उन लोगों को एक निश्चित प्रतिकृति नियंत्रक द्वारा बनाया गया है?मैं कुबेरनेट प्रतिकृति नियंत्रक के सभी फोड से लॉग कैसे प्राप्त करूं?
उत्तर
आप लेबल
kubectl logs -l app=elasticsearch
अच्छा समाधान और मूल प्रश्न का उत्तर देने के लिए पर्याप्त संभावना है लेकिन यह पूंछ नहीं होगा: "त्रुटि: केवल अनुसरण करने में से एक (- एफ) या चयनकर्ता (-एल) की अनुमति है "। –
इसके अलावा, कोई '- सभी नामस्थान' नहीं। –
एक विकल्प Fluentd/ElasticSearch के माध्यम से क्लस्टर लॉगिंग सेट करना है जैसा कि https://kubernetes.io/docs/user-guide/logging/elasticsearch/ पर वर्णित है। एक बार लॉग में ES हो जाने पर, कुछ कंटेनरों से लॉग देखने के लिए किबाना में फ़िल्टर लागू करना आसान होता है।
मैं एक तैनाती की फली से एक लॉग प्राप्त करने के लिए इस सरल स्क्रिप्ट का उपयोग:
#!/usr/bin/env bash
DEPLOYMENT=$1
for p in $(kubectl get pods | grep ^${DEPLOYMENT}- | cut -f 1 -d ' '); do
echo ---------------------------
echo $p
echo ---------------------------
kubectl logs $p
done
उपयोग: log_deployment.sh "तैनाती-नाम"।
स्क्रिप्ट तब उन सभी फोडों का लॉग दिखाएगी जो "तैनाती-नाम" से शुरू होती हैं।
उपयोग कर सकते हैं फली सार्थक एक साधारण सादा पुराना बैश इस्तेमाल कर सकते हैं नामित कर रहे हैं: "NodeJS" युक्त नाम के साथ फली चल के माध्यम से लूप:
keyword=nodejs
command="cat <("
for line in $(kubectl get pods | \
grep $keyword | grep Running | awk '{print $1}'); do
command="$command (kubectl logs --tail=2 -f $line &) && "
done
command="$command echo)"
eval $command
स्पष्टीकरण। उनमें से प्रत्येक के लिए समानांतर (सिंगल एम्पर्सेंड पृष्ठभूमि में चलता है) में लॉग इन करें ताकि यह सुनिश्चित किया जा सके कि यदि कोई भी फोड विफल हो जाता है तो पूरा आदेश बाहर निकलता है (डबल एम्पर्सेंड)। प्रत्येक पूंछ के आदेशों से धाराओं को एक अद्वितीय धारा में रखें। इस गतिशील रूप से निर्मित कमांड को चलाने के लिए इवल की आवश्यकता है।
- 1. मैं एसवीएन सर्वर लॉग कैसे प्राप्त करूं?
- 2. मैं एक्सबॉक्स 360 नियंत्रक से इनपुट कैसे प्राप्त करूं?
- 3. मैं बेस नियंत्रक से कार्रवाई का नाम कैसे प्राप्त करूं?
- 4. कोकोपोड्स: मैं प्रत्येक फोड के बाइनरी आकार को कैसे प्राप्त करूं?
- 5. जावा - मैं जेएलिस्ट से सभी चयनित मूल्य कैसे प्राप्त करूं?
- 6. कुबेरनेट के दस्तावेज़ों का पीडीएफ/प्रिंट संस्करण कैसे प्राप्त करें?
- 7. मैं Symfony2 नियंत्रक में उपयोगकर्ता आईपी पता कैसे प्राप्त करूं?
- 8. मैं नियंत्रक में requestmapping मान कैसे प्राप्त करूं?
- 9. टीएसक्यूएल: मैं लेनदेन लॉग का आकार कैसे प्राप्त करूं?
- 10. मैं Winston के माध्यम से Socket.io कैसे लॉग करूं?
- 11. मैं शब्दकोश से कैसे प्राप्त करूं?
- 12. मैं UIImagePickerControllerReferenceURL से डेटा कैसे प्राप्त करूं?
- 13. मैं XDocument से नेमटेबल कैसे प्राप्त करूं?
- 14. मैं एनएसएसटींग से कक्षा कैसे प्राप्त करूं?
- 15. मैं वीबीए से SQLite कैसे प्राप्त करूं?
- 16. मैं JQuery से नियंत्रक विधि कैसे कॉल करूं?
- 17. मैं ActionExecutingContext से MethodInfo कैसे प्राप्त करूं?
- 18. मैं कैस्परजेएस से आईफ्रेम कैसे प्राप्त करूं?
- 19. मैं सभी स्थापित निश्चित-चौड़ाई फ़ॉन्ट कैसे प्राप्त करूं?
- 20. मैं वेबकिट में सभी समर्थित सीएसएस गुण कैसे प्राप्त करूं?
- 21. मैं पर्ल के डीबीआई से स्कीमा कैसे प्राप्त करूं?
- 22. मैं सभी उपलब्ध खोल कमांडों की सूची कैसे प्राप्त करूं
- 23. मैं .NET में Windows सेवा से वर्तमान में लॉग इन उपयोगकर्ता नाम कैसे प्राप्त करूं?
- 24. रैक :: अनुरोध - मैं सभी शीर्षलेख कैसे प्राप्त करूं?
- 25. यूरेका: मैं सहकर्मी प्रतिकृति को अक्षम/कॉन्फ़िगर कैसे करूं?
- 26. मैं नियंत्रक से Twig पथ() फ़ंक्शन कैसे एक्सेस करूं?
- 27. मैं उल्का में कुछ कैसे लॉग करूं?
- 28. मैं स्टार्टअप पर लॉग 4j को लॉग कैसे साफ़ करूं?
- 29. मैं शैल स्क्रिप्ट के अंदर लॉग वर्बोजिटी कैसे प्रबंधित करूं?
- 30. ऐप के सभी संस्करणों से लॉग के लिए एपेंगिन लॉग एपीआई से कैसे पूछें?
मैं यह भी जानना चाहूंगा कि यह संभव है या नहीं। डॉकर-कंपोज़ में यह सुविधा है और यह बहुत उपयोगी है। – hamx0r