中文版readme
Chaosbladeは、企業が分散システムのフォールトトレランスを改善し、企業がクラウドに移動したりクラウドネイティブシステムに移動したりしている間にビジネスの継続性を確保するのを支援するために、カオスエンジニアリングおよびカオス実験モデルの原則に従うAlibabaのオープンソース実験注入ツールです。
Chaosbladeは、モンキーキングの内部オープンソースプロジェクトです。これは、Alibabaの10年近くの障害試験とドリルの練習に基づいており、グループのビジネスの最高のアイデアと実践を組み合わせています。
Chaosbladeは使いやすいだけでなく、豊富な実験シナリオもサポートしています。シナリオには次のものが含まれます。
ドメインによるシーンを個々のプロジェクトにカプセル化することは、ドメイン内のシーンを標準化するだけでなく、シーンの水平および垂直の拡張を促進することもできます。 Chaosの実験モデルに従うことにより、Chaosblade CLIは均一に呼ばれます。現在含まれているアイテムは次のとおりです。
リリースから最新のChaosblade Toolkitをダウンロードして抽出して使用できます。 Kubernetes関連の障害シナリオを注入する場合は、Chaosblade-Operatorをインストールする必要があります。中国の使用文書については、Chaosblade-help-zh-cnを参照してください。
Chaosbladeは、CLIおよびHTTPの呼び出し方法をサポートしています。サポートされているコマンドは次のとおりです。
blade p jvm --process business
を実行します。アタッチが成功した場合は、ステータスクエリまたはエージェントの取り消しについてUIDを返します。blade revoke UID
ですblade create [TARGET] [ACTION] [FLAGS]
です。たとえば、dubbo Consumer Call xxx.xxx.serviceインターフェイス遅延3sを実装すると、実行されたコマンドはblade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service
。ステータスクエリの実験UIDおよび実験を破壊します。blade destroy UID
blade status UID
またはblade status --type create
blade server start -p 9526
CPUフル負荷実験を実行するには: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"
blade help [COMMAND]
またはblade [COMMAND] -h
コマンドを使用してヘルプを表示します
Chaosbladeデモの画像をダウンロードして、ブレードツールキットの使用を体験してください
画像コマンドをダウンロード:
docker pull chaosbladeio/chaosblade-demo
デモコンテナを実行する:
docker run -it --privileged chaosbladeio/chaosblade-demo
コンテナを入力した後、readme.txtファイルを読んでカオス実験を実装できます。お楽しみください。
Chaosblade-Operatorこのプロジェクトは、クラウドネイティブプラットフォーム向けのカオス実験噴射ツールです。実験シナリオを標準化するカオス実験モデルに従い、実験をKubernetes CRDリソースとして定義し、実験モデルをKubernetesリソース属性にマッピングし、混oticとした実験モデルとKubernetes宣言デザインの非常に友好的な組み合わせを定義します。シナリオを便利に開発するために混oticとした実験モデルに依存している間、Kubernetesデザインの概念をKubectlまたは書き込みコードを介してKubernetes APIを直接呼び出すためにコードを直接統合することもできます。実験の状態、およびkubernetes障害注入を標準化します。上記の方法を使用して実験を実行することに加えて、Chaosblade CLIメソッドを使用してKubernetes実験シナリオを実行し、実験ステータスを非常に便利に照会することもできます。詳細については、中国のドキュメントをお読みください:クラウドネイティブの下のカオスエンジニアリングプラクティス
このプロジェクトはGolangで書かれているため、最新のGolangバージョンを最初にインストールする必要があります。最小サポートバージョンは1.11です。クローンプロジェクトの後、プロジェクトディレクトリを入力し、次のコマンドを実行してコンパイルします。
make
Macシステムで、現在のシステムバージョンをコンパイルする場合、実行してください。
make build_darwin
MacシステムにLinux Systemバージョンをコンパイルする場合は、次のことを実行します。
make build_linux
また、選択的にコンパイルすることもできます。たとえば、CLIおよびOSシーンをコンパイルしてから実行するだけで、次のことを実行することもできます。
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はChaosblade-Binをインストールします
yay -S chaosblade-bin
バグレポート、質問、ディスカッションについては、GitHubの問題を提出してください。
また、次のように連絡することもできます。
たとえ句読点であっても、すべての貢献を歓迎します。貢献の詳細を参照してください。特定のコミュニティ参加の学生のプロモーションラダーについては、参照してください:(貢献者はラダー)
オープンソースプロジェクトの当初の意図は、カオスエンジニアリングが企業で実装されるためのしきい値を下げることです。そのため、企業でのプロジェクトの使用を高く評価しています。ここに皆さんを歓迎します。登録後、Corporate Mail Groupに参加して、会社の着陸時にChaos Engineeringが遭遇した問題について話し合い、着陸体験を共有するよう招待されます。
このプロジェクトは、貢献しているすべての人々のおかげで存在します。 [貢献する]。
Chaosbladeは、バージョン2.0のApacheライセンスに基づいてライセンスされています。完全なライセンステキストについては、ライセンスを参照してください。