
👀 एक Kubernetes क्लस्टर संसाधन सैनिटाइज़र
Popeye एक उपयोगिता है जो लाइव कुबरनेटीज क्लस्टरों को स्कैन करती है और तैनात संसाधनों एवं कॉन्फ़िगरेशन के साथ संभावित समस्याओं की रिपोर्ट करती है। जैसे-जैसे कुबरनेटीज का परिदृश्य बढ़ता है, मनुष्य के लिए उन मेनिफेस्ट और नीतियों की भीड़ को ट्रैक करना चुनौतीपूर्ण होता जा रहा है जो क्लस्टर का संचालन करते हैं। Popeye आपके क्लस्टर को इस आधार पर स्कैन करता है कि क्या तैनात किया गया है, न कि डिस्क पर क्या है। आपके क्लस्टर को लिंट करके, यह गलत कॉन्फ़िगरेशन, पुराने संसाधनों का पता लगाता है और यह सुनिश्चित करने में आपकी सहायता करता है कि सर्वोत्तम प्रथाएँ लागू हों, जिससे भविष्य की समस्याओं को रोका जा सके। इसका उद्देश्य उस संज्ञानात्मक अतिभार को कम करना है जो किसी को वास्तविक दुनिया में कुबरनेटीज क्लस्टर संचालित करते समय सामना करना पड़ता है। इसके अलावा, यदि आपका क्लस्टर मीट्रिक-सर्वर का उपयोग करता है, तो यह संभावित संसाधन अधिक/कम आवंटन की रिपोर्ट करता है और यदि आपके क्लस्टर की क्षमता समाप्त हो जाती है तो आपको चेतावनी देने का प्रयास करता है।
Popeye एक केवल-पढ़ने योग्य उपकरण है, यह किसी भी तरह से आपके कुबरनेटीज संसाधनों में कोई बदलाव नहीं करता है!
आप स्कैन रिपोर्ट को HTML में डंप कर सकते हैं।
Popeye Prometheus मीट्रिक प्रकाशित करता है। हमने इस रिपॉजिटरी में आपको शुरू करने के लिए एक नमूना Popeye डैशबोर्ड प्रदान किया है।
Popeye Linux, OSX और Windows प्लेटफार्मों पर उपलब्ध है।
Linux, Windows और Mac के लिए बाइनरी release पेज पर tarballs के रूप में उपलब्ध हैं।
For OSX/Unit using Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye
go install का उपयोग करके
go install github.com/derailed/popeye@latest
स्रोत से निर्माण Popeye को go 1.21+ का उपयोग करके बनाया गया है। Popeye को स्रोत से बनाने के लिए आपको यह करना होगा:
रिपॉजिटरी क्लोन करें
अपनी go.mod फ़ाइल में निम्नलिखित कमांड जोड़ें
replace (
github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
)
निष्पादन योग्य बनाएं और चलाएं
go run main.go
अधीर लोगों के लिए त्वरित नुस्खा: ```shell
git clone https://github.com/derailed/popeye cd popeye
make build
popeye
Popeye 256 रंगों वाले टर्मिनल मोड का उपयोग करता है। `Nix सिस्टम पर सुनिश्चित करें कि TERM तदनुसार सेट हो।
export TERM=xterm-256color
आप Popeye का उपयोग पूरी तरह से खुले रूप में या अपने लिंटर्स को ट्यून करने के लिए spinach yaml कॉन्फ़िग का उपयोग करके कर सकते हैं। Popeye कॉन्फ़िगरेशन फ़ाइल के बारे में विवरण नीचे दिए गए हैं।```shell
popeye version
popeye
fred namespacepopeye -n fred
popeye -A
popeye -f spinach.yaml
popeye --context olive
popeye -n ns1 -s pod,svc --logs none
popeye -n ns1 --logs /tmp/fred.log -v4
popeye help
---
## लिंटर्स
Popeye आपके क्लस्टर को सर्वोत्तम प्रथाओं और संभावित समस्याओं के लिए स्कैन करता है।
वर्तमान में, Popeye केवल कुछ निर्धारित क्यूरेटेड Kubernetes संसाधनों की जाँच करता है।
जल्द ही और भी आएंगे!
हमें उम्मीद है कि Kubernetes के मित्र Popeye को और बेहतर बनाने के लिए इसमें योगदान देंगे।
लिंटर्स का उद्देश्य गलत कॉन्फ़िगरेशन को पकड़ना है, जैसे कि पोर्ट बेमेल, मृत या अप्रयुक्त संसाधन, मीट्रिक उपयोग, प्रोब्स, कंटेनर इमेज, RBAC नियम, नग्न संसाधन आदि।
Popeye कोई अन्य स्थैतिक विश्लेषण उपकरण नहीं है। यह लाइव क्लस्टर पर Kubernetes संसाधनों को चलाता और निरीक्षण करता है तथा संसाधनों की जाँच उनके वास्तविक रूप में करता है!
यहाँ कुछ उपलब्ध लिंटर्स की सूची दी गई है: