中文版 Readme
Chaosblade adalah alat injeksi eksperimental open source Alibaba yang mengikuti prinsip -prinsip model eksperimental rekayasa dan kekacauan untuk membantu perusahaan meningkatkan toleransi kesalahan sistem terdistribusi dan memastikan kesinambungan bisnis selama proses perusahaan yang akan cloud atau pindah ke sistem cloud asli.
Chaosblade adalah proyek open source internal Monkeyking. Ini didasarkan pada hampir sepuluh tahun pengujian kegagalan dan praktik bor Alibaba, dan menggabungkan ide dan praktik terbaik dari bisnis kelompok.
Chaosblade tidak hanya mudah digunakan, tetapi juga mendukung skenario eksperimental yang kaya. Skenarionya meliputi:
Mengenak adegan oleh domain ke dalam proyek individual tidak hanya dapat menstandarkan adegan di domain, tetapi juga memfasilitasi perluasan adegan horizontal dan vertikal. Dengan mengikuti model eksperimental Chaos, CLI Chaosblade dapat disebut seragam. Item yang saat ini disertakan adalah:
Anda dapat mengunduh toolkit ChaosBlade terbaru dari rilis dan mengekstraknya dan menggunakannya. Jika Anda ingin menyuntikkan skenario kesalahan terkait Kubernetes, Anda perlu menginstal chaosblade-operator. Untuk dokumen penggunaan Tiongkok yang terperinci, silakan lihat Chaosblade-Help-ZH-CN.
Chaosblade mendukung metode doa CLI dan HTTP. Perintah yang didukung adalah sebagai berikut:
blade p jvm --process business
pada target host. Jika attach berhasil, kembalikan UID untuk kueri status atau agen dicabut.blade revoke UID
blade create [TARGET] [ACTION] [FLAGS]
. Misalnya, jika Anda menerapkan panggilan konsumen Dubbo XXX.XXX.Service Interface Delay 3s, perintah yang dieksekusi adalah blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service
, jika injeksi berhasil, kembali UID eksperimental untuk kueri status dan menghancurkan percobaan.blade destroy UID
blade status UID
atau blade status --type create
blade server start -p 9526
untuk melakukan eksperimen beban penuh CPU: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"
Gunakan perintah blade help [COMMAND]
atau blade [COMMAND] -h
untuk melihat bantuan
Unduh gambar demo ChaosBlade dan alami penggunaan toolkit blade
Unduh Perintah Gambar :
docker pull chaosbladeio/chaosblade-demo
Jalankan wadah demo :
docker run -it --privileged chaosbladeio/chaosblade-demo
Setelah memasukkan wadah, Anda dapat membaca file readme.txt untuk mengimplementasikan eksperimen kekacauan, nikmati.
Chaosblade-Operator Proyek ini adalah alat injeksi eksperimen chaos untuk platform cloud-asli. Ini mengikuti model eksperimen Chaos untuk membakukan skenario eksperimental dan mendefinisikan eksperimen sebagai sumber daya CRD Kubernetes, memetakan model eksperimental ke atribut sumber daya Kubernetes, dan kombinasi yang sangat ramah dari model eksperimental kacau dengan desain deklaratif Kubernet. Meskipun mengandalkan model eksperimental yang kacau untuk mengembangkan skenario dengan mudah, ia juga dapat mengintegrasikan konsep desain Kubernetes dengan baik, melalui Kubectl atau menulis kode untuk secara langsung memanggil API Kubernetes untuk membuat, memperbarui, dan menghapus eksperimen kacau, dan status sumber daya dapat dengan jelas menunjukkan eksekusi dengan jelas Status percobaan, dan standarisasi injeksi kesalahan Kubernetes. Selain menggunakan metode di atas untuk melakukan eksperimen, Anda juga dapat menggunakan metode Chaosblade CLI untuk menjalankan skenario eksperimental Kubernetes dan meminta status eksperimental dengan sangat mudah. Untuk detailnya, silakan baca dokumen Cina: Praktik Teknik Chaos di bawah Cloud Native
Proyek ini ditulis di Golang, jadi Anda perlu menginstal versi Golang terbaru terlebih dahulu. Versi minimum yang didukung adalah 1.11. Setelah proyek klon, masukkan direktori proyek dan jalankan perintah berikut untuk mengkompilasi:
make
Jika pada sistem Mac, kompilasi versi sistem saat ini, jalankan:
make build_darwin
Jika Anda ingin mengkompilasi versi sistem Linux pada sistem Mac, jalankan:
make build_linux
Anda juga dapat mengkompilasi secara selektif, misalnya, Anda hanya perlu mengkompilasi adegan CLI dan OS, lalu jalankan:
make build_with cli os
# If it is a mac system, run
make build_with cli os_darwin
# If you want to compile linux system version selectively, execute:
ARGS= " cli os " make build_with_linux
Arch Linux menginstal chaosblade-bin
yay -S chaosblade-bin
Untuk laporan bug, pertanyaan dan diskusi, silakan kirimkan masalah gitub.
Anda juga dapat menghubungi kami melalui:
Kami menyambut setiap kontribusi, bahkan jika itu hanya tanda baca. Lihat detail kontribusi. Untuk tangga promosi siswa partisipasi masyarakat tertentu, lihat : (Tangga Kontributor)
Tujuan asli dari proyek open source kami adalah untuk menurunkan ambang batas untuk rekayasa chaos untuk diimplementasikan di perusahaan, jadi kami sangat menghargai penggunaan proyek di perusahaan. Selamat datang semua orang di sini masalah. Setelah pendaftaran, Anda akan diundang untuk bergabung dengan Corporate Mail Group untuk membahas masalah yang dihadapi oleh Chaos Engineering di pendaratan perusahaan dan berbagi pengalaman pendaratan.
Proyek ini ada berkat semua orang yang berkontribusi. [Menyumbang].
Chaosblade dilisensikan di bawah lisensi Apache, versi 2.0. Lihat lisensi untuk teks lisensi lengkap.