
مجموعة أدوات سهلة الاستخدام وقوية لتجارب هندسة الفوضى.(أداة حقن تجارب الفوضى بسيطة وسهلة الاستخدام وقوية، مفتوحة المصدر من Alibaba)

النسخة الصينية README
ويكي: DeepWiki
يعمل Blade AI كطبقة وكيل ذكي داخل نظام ChaosBlade البيئي: على المستوى الأساسي، يستدعي ChaosBlade لتنفيذ حقن الأعطال؛ وعلى المستوى العلوي، يتضمن قدرات تنسيق مثل فهم النية، والتدقيق الأمني، والتحقق من التأثير، والاسترداد الآمن، وإعداد التقارير المنظمة—مما يحول تدريبات الأعطال من عملية "كتابة الأوامر يدويًا" إلى عملية تُنجز عبر "التفاعل الحواري".
للحصول على معلومات مفصلة، يرجى الرجوع إلى: Blade AI README
ChaosBlade هي أداة حقن تجريبي مفتوحة المصدر من Alibaba تتبع مبادئ هندسة الفوضى ونماذج تجارب الفوضى لمساعدة المؤسسات على تحسين تحمل الأخطاء في الأنظمة الموزعة وضمان استمرارية الأعمال أثناء عملية انتقال المؤسسات إلى السحابة أو الانتقال إلى الأنظمة السحابية الأصلية.
Chaosblade هو مشروع مفتوح المصدر داخلي من MonkeyKing. يعتمد على ما يقرب من عشر سنوات من اختبارات الأعطال وممارسات التدريب في Alibaba، ويجمع بين أفضل الأفكار والممارسات من أعمال المجموعة.
ChaosBlade ليس سهل الاستخدام فحسب، بل يدعم أيضًا سيناريوهات تجريبية غنية. وتشمل السيناريوهات:
إن تغليف السيناريوهات حسب المجال في مشاريع مستقلة لا يسمح فقط بتوحيد السيناريوهات في المجال، بل يسهل أيضًا التوسع الأفقي والرأسي للسيناريوهات. باتباع نموذج تجارب الفوضى، يمكن استدعاء chaosblade cli بشكل موحد. المشاريع المضمنة حاليًا هي:
يساعدك هذا الدليل على تنفيذ أول حقن للأعطال على Kubernetes في أقل من 5 دقائق باستخدام ChaosBlade. سنقوم بحقن خطأ ضغط على وحدة المعالجة المركزية في Pod كمثال بسيط.
قبل أن تبدأ، تأكد من أن لديك:
kubectl cluster-info النجاح)default)blade الثنائي في PATH الخاص بك)ثبّت المشغل باستخدام Helm:
helm install chaosblade-operator chaosblade-operator-<version>.tgz --namespace chaosblade --create-namespace
تحقق من أن المشغل قيد التشغيل:
kubectl get pods -n chaosblade
شغّل خطأ تحميل كامل لوحدة المعالجة المركزية ضد Pod في مساحة الأسماء default:
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 أو راجع ممارسة هندسة الفوضى في البيئات السحابية الأصلية.
يمكنك تنزيل أحدث مجموعة أدوات chaosblade من Releases وفك ضغطها واستخدامها. إذا كنت تريد حقن سيناريوهات أعطال متعلقة بـ Kubernetes، فستحتاج إلى تثبيت chaosblade-operator. للحصول على وثائق الاستخدام الصينية المفصلة، يرجى الاطلاع على chaosblade-help-zh-cn .
يدعم chaosblade طرق الاستدعاء عبر CLI وHTTP. الأوامر المدعومة هي كما يلي:
blade p jvm --process business على المضيف المستهدف. إذا نجح الإرفاق، يتم إرجاع uid للاستعلام عن الحالة أو إلغاء الوكيل.blade revoke UIDblade create [TARGET] [ACTION] [FLAGS]. على سبيل المثال، إذا أردت تنفيذ تأخير 3 ثوانٍ لاستدعاء مستهلك Dubbo لواجهة xxx.xxx.Service، فإن الأمر المنفذ هو 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 لتنفيذ تجربة تحميل كامل لوحدة المعالجة المركزية: استخدم الأمر 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. بالإضافة إلى استخدام الطرق المذكورة أعلاه لتنفيذ التجارب، يمكنك أيضًا استخدام طريقة chaosblade cli لتنفيذ سيناريوهات تجارب kubernetes والاستعلام عن حالة التجربة بسهولة كبيرة. للحصول على التفاصيل، يرجى قراءة الوثيقة الصينية: ممارسة هندسة الفوضى في البيئات السحابية الأصلية
انظر BUILD.md للحصول على التفاصيل.
لإبلاغ الأخطاء وطرح الأسئلة والمناقشات، يرجى تقديمها عبر GitHub Issues.
يمكنك أيضًا التواصل معنا عبر:
نرحب بكل مساهمة، حتى لو كانت مجرد علامة ترقيم. راجع تفاصيل CONTRIBUTING. بالنسبة لسلم الترقية للطلاب المشاركين في المجتمع بشكل محدد، انظر: (Contributor Ladder)
النية الأصلية لمشروعنا مفتوح المصدر هي خفض الحاجز أمام تطبيق هندسة الفوضى في المؤسسات، لذلك نولي قيمة عالية لاستخدام المشروع في المؤسسات. نرحب بالجميع هنا ISSUE. بعد التسجيل، ستتم دعوتك للانضمام إلى المجموعة البريدية للشركات لمناقشة المشكلات التي تواجهها هندسة الفوضى أثناء تطبيقها في الشركة ومشاركة تجارب التطبيق.
هذا المشروع موجود بفضل جميع الأشخاص الذين يساهمون. [المساهمة].
Chaosblade مرخص بموجب رخصة Apache الإصدار 2.0. راجع LICENSE للحصول على النص الكامل للترخيص.
curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"