Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
chaoskube — समय-समय पर यादृच्छिक Kubernetes pods को समाप्त करता है ताकि यह परीक्षण किया जा सके कि सिस्टम अनियमित pod विफलताओं के तहत कैसे व्यवहार करते हैं, तथा नियंत्रित chaos प्रयोगों के लिए namespace, label, annotation और schedule फ़िल्टर का समर्थन करता है। | Kitploit
उपकरण/GitHubGitHub/linki/chaoskube
कैओस इंजीनियरिंगकैओस इंजीनियरिंग में शीर्ष #9
GitHublinki/chaoskube

chaoskube

समय-समय पर यादृच्छिक Kubernetes pods को समाप्त करता है ताकि यह परीक्षण किया जा सके कि सिस्टम अनियमित pod विफलताओं के तहत कैसे व्यवहार करते हैं, तथा नियंत्रित chaos प्रयोगों के लिए namespace, label, annotation और schedule फ़िल्टर का समर्थन करता है।

रिपॉजिटरी देखें
1.9k127682 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

chaoskube

GitHub release go-doc

chaoskube समय-समय पर आपके Kubernetes क्लस्टर में यादृच्छिक पॉड्स को समाप्त करता है।

chaoskube

क्यों

जांचें कि आपका सिस्टम किसी भी पॉड विफलता के तहत कैसा व्यवहार करता है।

उदाहरण

डिफ़ॉल्ट रूप से, इसे चलाने पर हर 10 मिनट में किसी भी नेमस्पेस में एक पॉड समाप्त हो जाएगा।

$ chaoskube
INFO[0000] starting up              dryRun=true interval=10m0s version=v0.21.0
INFO[0000] connecting to cluster    master="https://kube.you.me" serverVersion=v1.10.5+coreos.0
INFO[0000] setting pod filter       annotations= labels= minimumAge=0s namespaces=
INFO[0000] setting quiet times      daysOfYear="[]" timesOfDay="[]" weekdays="[]"
INFO[0000] setting timezone         location=UTC name=UTC offset=0
INFO[0001] terminating pod          name=kube-dns-v20-6ikos namespace=kube-system
INFO[0601] terminating pod          name=nginx-701339712-u4fr3 namespace=chaoskube
INFO[1201] terminating pod          name=kube-proxy-gke-earthcoin-pool-3-5ee87f80-n72s namespace=kube-system
INFO[1802] terminating pod          name=nginx-701339712-bfh2y namespace=chaoskube
INFO[2402] terminating pod          name=heapster-v1.2.0-1107848163-bhtcw namespace=kube-system
INFO[3003] terminating pod          name=l7-default-backend-v1.0-o2hc9 namespace=kube-system
INFO[3603] terminating pod          name=heapster-v1.2.0-1107848163-jlfcd namespace=kube-system
INFO[4203] terminating pod          name=nginx-701339712-bfh2y namespace=chaoskube
INFO[4804] terminating pod          name=nginx-701339712-51nt8 namespace=chaoskube
...

chaoskube लक्षित पॉड्स को नेमस्पेस, लेबल, एनोटेशन और आयु द्वारा फ़िल्टर करने की अनुमति देता है, साथ ही अराजकता से कुछ सप्ताह के दिन, दिन के समय और वर्ष के दिनों को बाहर करने की भी अनुमति देता है।

कैसे

Helm

आप chaoskube को Helm के साथ इंस्टॉल कर सकते हैं। Helm की क्विकस्टार्ट गाइड का पालन करें और फिर chaoskube चार्ट इंस्टॉल करें।

$ helm repo add chaoskube https://linki.github.io/chaoskube/
$ helm install chaoskube chaoskube/chaoskube --atomic --namespace=chaoskube --create-namespace

इसे कॉन्फ़िगर करने का तरीका जानने और अन्य उपयोगी Helm चार्ट खोजने के लिए kubeapps.com पर chaoskube देखें।

रॉ मैनिफेस्ट

उदाहरण मैनिफेस्ट देखें। सुनिश्चित करें कि आप दिए गए ClusterRole का उपयोग करके chaoskube को उचित अनुमतियाँ देते हैं।

कॉन्फ़िगरेशन

डिफ़ॉल्ट रूप से chaoskube अनुकूल होगा और कुछ भी नहीं मारेगा। जब आप अपने लक्षित क्लस्टर को सत्यापित कर लें, तो आप --no-dry-run फ़्लैग पास करके ड्राई-रन मोड को अक्षम कर सकते हैं। आप अपनी तैनाती के लिए अधिक आक्रामक अंतराल और अन्य समर्थित फ़्लैग भी निर्दिष्ट कर सकते हैं।

यदि आप किसी Kubernetes क्लस्टर में चल रहे हैं और उसी क्लस्टर को लक्षित करना चाहते हैं, तो आपको बस इतना ही करना है।

यदि आप किसी भिन्न क्लस्टर को लक्षित करना चाहते हैं या इसे स्थानीय रूप से चलाना चाहते हैं, तो अपने क्लस्टर को --master फ़्लैग के माध्यम से निर्दिष्ट करें या --kubeconfig फ़्लैग के माध्यम से एक मान्य kubeconfig प्रदान करें। डिफ़ॉल्ट रूप से, यह आपके घर में आपके मानक kubeconfig पथ का उपयोग करता है। इसका मतलब है, वहाँ जो भी वर्तमान कॉन्टेक्स्ट होगा, वह लक्षित किया जाएगा।

यदि आप अराजकता की मात्रा बढ़ाना या घटाना चाहते हैं, तो --interval फ़्लैग के साथ हत्याओं के बीच के अंतराल को बदलें। वैकल्पिक रूप से, आप अपने chaoskube तैनाती की रेप्लिकास की संख्या बढ़ा सकते हैं।

याद रखें कि chaoskube डिफ़ॉल्ट रूप से आपके सभी नेमस्पेस में किसी भी पॉड को मारता है, जिसमें सिस्टम पॉड्स और स्वयं भी शामिल हैं।

chaoskube एक सरल HTTP एंडपॉइंट प्रदान करता है जिसका उपयोग यह जाँचने के लिए किया जा सकता है कि यह चल रहा है। इसका उपयोग Kubernetes लाइवनेस और रेडीनेस प्रोब्स के लिए किया जा सकता है। डिफ़ॉल्ट रूप से, यह पोर्ट 8080 पर सुनता है। अक्षम करने के लिए, chaoskube को --metrics-address="" पास करें।

लक्ष्यों को फ़िल्टर करना

हालाँकि, आप लेबल, एनोटेशन और नेमस्पेस सेलेक्टर, पॉड नाम शामिल/बहिष्कृत पैटर्न, साथ ही न्यूनतम आयु सेटिंग प्रदान करके chaoskube के खोज स्थान को सीमित कर सकते हैं।

$ chaoskube --labels 'app=mate,chaos,stage!=production'
...
INFO[0000] setting pod filter       labels="app=mate,chaos,stage!=production"

यह उन सभी पॉड्स का चयन करता है जिनका लेबल app mate पर सेट है, लेबल chaos किसी भी चीज़ पर सेट है, और लेबल stage production पर सेट नहीं है या अनसेट है।

आप लक्षित पॉड्स को नेमस्पेस सेलेक्टर द्वारा भी फ़िल्टर कर सकते हैं।

$ chaoskube --namespaces 'default,testing,staging'
...
INFO[0000] setting pod filter       namespaces="default,staging,testing"

यह तीन नेमस्पेस default, staging और testing में पॉड्स के लिए फ़िल्टर करेगा।

नेमस्पेस को अतिरिक्त रूप से एक नेमस्पेस लेबल सेलेक्टर द्वारा फ़िल्टर किया जा सकता है।

$ chaoskube --namespace-labels='!integration'
...
INFO[0000] setting pod filter       namespaceLabels="!integration"

यह integration लेबल वाले नेमस्पेस के सभी पॉड्स को बाहर कर देगा।

आप लक्षित पॉड्स को OwnerReference के काइंड सेलेक्टर द्वारा फ़िल्टर कर सकते हैं।

$ chaoskube --kinds '!DaemonSet,!StatefulSet'
...
INFO[0000] setting pod filter       kinds="!DaemonSet,!StatefulSet"

यह किसी भी DaemonSet और StatefulSet पॉड्स को बाहर कर देगा।

$ chaoskube --kinds 'DaemonSet'
...
INFO[0000] setting pod filter       kinds="DaemonSet"

यह केवल किसी भी DaemonSet पॉड्स को शामिल करेगा।

कृपया ध्यान दें: कोई भी include फ़िल्टर स्वचालित रूप से उन सभी पॉड्स को बाहर कर देगा जिनमें कोई OwnerReference परिभाषित नहीं है।

आप पॉड्स को नाम से फ़िल्टर कर सकते हैं:

$ chaoskube --included-pod-names 'foo|bar' --excluded-pod-names 'prod'
...
INFO[0000] setting pod filter       excludedPodNames=prod includedPodNames="foo|bar"

इससे केवल उन पॉड्स को लक्षित किया जाएगा जिनके नाम में 'foo' या 'bar' है और जिनमें 'prod' नहीं है।

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

$ chaoskube \
    --labels 'app=mate,chaos,stage!=production' \
    --annotations '!scheduler.alpha.kubernetes.io/critical-pod' \
    --namespaces '!kube-system,!production'
...
INFO[0000] setting pod filter       annotations="!scheduler.alpha.kubernetes.io/critical-pod" labels="app=mate,chaos,stage!=production" namespaces="!kube-system,!production"

यह उपरोक्त लेबल सेलेक्टर के खोज स्थान को और सीमित करता है, साथ ही kube-system और production नेमस्पेस के किसी भी पॉड्स को बाहर करता है और उन सभी पॉड्स को अनदेखा करता है जिन्हें महत्वपूर्ण के रूप में चिह्नित किया गया है।

एनोटेशन सेलेक्टर का उपयोग chaoskube को क्लस्टर ऐडऑन के रूप में चलाने और पॉड्स को आपके अनुसार समाप्त होने के लिए ऑप्ट-इन करने की अनुमति देने के लिए भी किया जा सकता है। उदाहरण के लिए, आप chaoskube को इस प्रकार चला सकते हैं:

$ chaoskube --annotations 'chaos.alpha.kubernetes.io/enabled=true' --debug
...
INFO[0000] setting pod filter       annotations="chaos.alpha.kubernetes.io/enabled=true"
DEBU[0000] found candidates         count=0
DEBU[0000] no victim found
टूल डाउनलोड करें