
एक आसान उपयोग और शक्तिशाली कैओस इंजीनियरिंग प्रयोग टूलकिट। (अलीबाबा द्वारा ओपन-सोर्स किया गया एक सरल, उपयोग में आसान और शक्तिशाली कैओस प्रयोग इंजेक्शन टूल)

Blade AI, ChaosBlade पारिस्थितिकी तंत्र के भीतर बुद्धिमान एजेंट परत के रूप में कार्य करता है: मूलभूत स्तर पर, यह फॉल्ट इंजेक्शन निष्पादित करने के लिए ChaosBlade को आमंत्रित करता है; उच्च स्तर पर, इसमें आशय समझ, सुरक्षा ऑडिटिंग, प्रभाव सत्यापन, सुरक्षित पुनर्प्राप्ति और संरचित रिपोर्टिंग जैसी ऑर्केस्ट्रेशन क्षमताएँ शामिल हैं—जिससे फॉल्ट ड्रिल "मैन्युअल रूप से कमांड लिखने" की प्रक्रिया से "संवादात्मक इंटरैक्शन" के माध्यम से पूरी होने वाली प्रक्रिया में बदल जाती है।
विस्तृत जानकारी के लिए, कृपया देखें: Blade AI README
ChaosBlade एक Alibaba ओपन सोर्स प्रायोगिक इंजेक्शन उपकरण है जो कैओस इंजीनियरिंग और कैओस प्रयोग मॉडल के सिद्धांतों का पालन करता है, ताकि उद्यमों को वितरित प्रणालियों की दोष सहनशीलता में सुधार करने और क्लाउड या क्लाउड नेटिव सिस्टम में जाने की प्रक्रिया के दौरान व्यवसाय की निरंतरता सुनिश्चित करने में मदद मिल सके।
Chaosblade MonkeyKing का एक आंतरिक ओपन सोर्स प्रोजेक्ट है। यह Alibaba के लगभग दस वर्षों के फेलियर टेस्टिंग और ड्रिल अभ्यास पर आधारित है, और Group के व्यवसायों के सर्वोत्तम विचारों और प्रथाओं को जोड़ता है।
ChaosBlade न केवल उपयोग में आसान है, बल्कि समृद्ध प्रयोगात्मक परिदृश्यों का भी समर्थन करता है। परिदृश्यों में शामिल हैं:
परिदृश्यों को डोमेन द्वारा अलग-अलग प्रोजेक्ट्स में एनकैप्सुलेट करने से न केवल डोमेन में परिदृश्यों को मानकीकृत किया जा सकता है, बल्कि परिदृश्यों के क्षैतिज और ऊर्ध्वाधर विस्तार में भी सुविधा होती है। कैओस प्रयोग मॉडल का पालन करके, chaosblade cli को समान रूप से कॉल किया जा सकता है। वर्तमान में शामिल आइटम हैं:
यह मार्गदर्शिका आपको ChaosBlade का उपयोग करके 5 मिनट से कम समय में Kubernetes पर अपना पहला फॉल्ट इंजेक्शन चलाने में मदद करती है। हम न्यूनतम उदाहरण के रूप में एक Pod में CPU स्ट्रेस फॉल्ट इंजेक्ट करेंगे।
आरंभ करने से पहले, सुनिश्चित करें कि आपके पास है:
kubectl cluster-info सफलतापूर्वक लौटाता है)default)blade बाइनरी आपके PATH पर है)Helm के साथ operator इंस्टॉल करें:
helm install chaosblade-operator chaosblade-operator-<version>.tgz --namespace chaosblade --create-namespace
सत्यापित करें कि operator चल रहा है:
kubectl get pods -n chaosblade
default नेमस्पेस में एक Pod के विरुद्ध cpu फुल-लोड फॉल्ट चलाएँ:
blade create k8s pod-cpu fullload --cpu-percent 80 --kubeconfig ~/.kube/config --names <pod-name> --namespace default
यदि इंजेक्शन सफल होता है, तो ChaosBlade एक JSON परिणाम लौटाता है जिसमें एक प्रयोग uid होता है। स्थिति जाँचने या बाद में प्रयोग नष्ट करने के लिए इस uid को सहेजें:
{"code":200,"success":true,"result":"<experiment-uid>"}
blade status <experiment-uid>
लक्ष्य को सामान्य स्थिति में बहाल करने के लिए अपने ड्रिल के बाद हमेशा पुनर्प्राप्त करें:
blade destroy <experiment-uid>
बस इतना ही! आपने एक पूर्ण इंजेक्ट-वेरिफाई-रिकवर चक्र पूरा कर लिया है। अधिक परिदृश्यों का पता लगाने के लिए, blade create k8s -h चलाएँ या क्लाउड नेटिव के अंतर्गत कैओस इंजीनियरिंग अभ्यास देखें।
आप Releases से नवीनतम chaosblade टूलकिट डाउनलोड कर सकते हैं, इसे निकाल सकते हैं और उपयोग कर सकते हैं। यदि आप Kubernetes से संबंधित फॉल्ट परिदृश्यों को इंजेक्ट करना चाहते हैं, तो आपको chaosblade-operator इंस्टॉल करना होगा। विस्तृत चीनी उपयोग दस्तावेज़ों के लिए, कृपया chaosblade-help-zh-cn देखें।
chaosblade CLI और HTTP आह्वान विधियों का समर्थन करता है। समर्थित कमांड निम्नानुसार हैं:
blade p jvm --process business निष्पादित करें। यदि attach सफल होता है, तो स्थिति क्वेरी या agent रद्द करने के लिए uid लौटाएँ।blade revoke UID हैblade create [TARGET] [ACTION] [FLAGS]। उदाहरण के लिए, यदि आप एक Dubbo उपभोक्ता कॉल xxx.xxx.Service इंटरफ़ेस विलंब 3s लागू करते हैं, तो निष्पादित कमांड है blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service, यदि इंजेक्शन सफल होता है, तो स्थिति क्वेरी और प्रयोग नष्ट करने के लिए प्रयोगात्मक uid लौटाएँ।blade destroy UIDblade status UID या blade status --type createblade server start -p 9526 ताकि CPU फुल लोड प्रयोग किया जा सके: सहायता देखने के लिए blade help [COMMAND] या blade [COMMAND] -h कमांड का उपयोग करें
chaosblade डेमो इमेज डाउनलोड करें और blade टूलकिट के उपयोग का अनुभव लें

इमेज डाउनलोड करने का कमांड:
docker pull chaosbladeio/chaosblade-demo
डेमो कंटेनर चलाएँ:
docker run -it --privileged chaosbladeio/chaosblade-demo
कंटेनर में प्रवेश करने के बाद, आप कैओस प्रयोग को लागू करने के लिए README.txt फ़ाइल पढ़ सकते हैं। आनंद लें।
chaosblade-operator प्रोजेक्ट क्लाउड-नेटिव प्लेटफ़ॉर्म के लिए एक कैओस प्रयोग इंजेक्शन उपकरण है। यह प्रयोगात्मक परिदृश्य को मानकीकृत करने के लिए कैओस प्रयोग मॉडल का पालन करता है और प्रयोग को Kubernetes CRD संसाधनों के रूप में परिभाषित करता है, प्रयोग मॉडल को Kubernetes संसाधन विशेषताओं पर मैप करता है, और कैओस प्रयोग मॉडल को Kubernetes घोषणात्मक डिज़ाइन के साथ बहुत अनुकूल रूप से जोड़ता है। कैओस प्रयोग मॉडल पर भरोसा करते हुए परिदृश्यों को सुविधाजनक रूप से विकसित करने के साथ-साथ, यह Kubernetes डिज़ाइन अवधारणाओं को भी अच्छी तरह से एकीकृत कर सकता है, kubectl के माध्यम से या कैओस प्रयोगों को बनाने, अद्यतन करने और हटाने के लिए Kubernetes API को सीधे कॉल करने के लिए कोड लिखकर, और संसाधन स्थिति प्रयोग की निष्पादन स्थिति को स्पष्ट रूप से इंगित कर सकती है, और Kubernetes फॉल्ट इंजेक्शन को मानकीकृत कर सकती है। उपरोक्त विधियों का उपयोग करके प्रयोग करने के अलावा, आप kubernetes प्रयोगात्मक परिदृश्यों को निष्पादित करने और प्रयोगात्मक स्थिति को बहुत आसानी से क्वेरी करने के लिए chaosblade cli विधि का भी उपयोग कर सकते हैं। विवरण के लिए, कृपया चीनी दस्तावेज़ पढ़ें: क्लाउड नेटिव के अंतर्गत कैओस इंजीनियरिंग अभ्यास
विवरण के लिए BUILD.md देखें।
बग रिपोर्ट, प्रश्नों और चर्चाओं के लिए कृपया GitHub Issues सबमिट करें।
आप हमसे इन माध्यमों से भी संपर्क कर सकते हैं:
हम हर योगदान का स्वागत करते हैं, भले ही वह केवल विराम चिह्न ही क्यों न हो। CONTRIBUTING के विवरण देखें। विशिष्ट सामुदायिक भागीदारी छात्रों के प्रचार सोपान के लिए, देखें: (Contributor Ladder)
हमारे ओपन सोर्स प्रोजेक्ट का मूल उद्देश्य उद्यमों में कैओस इंजीनियरिंग के कार्यान्वयन की दहलीज को कम करना है, इसलिए हम उद्यमों में प्रोजेक्ट के उपयोग को अत्यधिक महत्व देते हैं। सभी का यहाँ स्वागत है ISSUE। पंजीकरण के बाद, आपको कंपनी की लैंडिंग के दौरान कैओस इंजीनियरिंग द्वारा सामना की जाने वाली समस्याओं पर चर्चा करने और लैंडिंग अनुभव साझा करने के लिए कॉर्पोरेट मेल समूह में शामिल होने का निमंत्रण दिया जाएगा।
यह प्रोजेक्ट उन सभी लोगों के कारण अस्तित्व में है जो योगदान करते हैं। [योगदान करें]।
Chaosblade Apache लाइसेंस, संस्करण 2.0 के अंतर्गत लाइसेंस प्राप्त है। पूर्ण लाइसेंस पाठ के लिए LICENSE देखें।
curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"