
使いやすく強力なカオスエンジニアリング実験ツールキット。(アリババがオープンソース化した、シンプルで使いやすく、機能が強力なカオス実験注入ツール)

Blade AI は ChaosBlade エコシステムにおけるインテリジェントエージェント層として機能します。基盤レベルでは ChaosBlade を呼び出して故障注入を実行し、上位レベルでは意図理解、セキュリティ監査、効果検証、安全な復旧、構造化レポートなどのオーケストレーション機能を組み込んでいます。これにより、故障訓練は「手動でコマンドを書く」プロセスから「対話形式のやり取り」で完結するプロセスへと変革されます。
詳細については、以下を参照してください:Blade AI README
ChaosBlade は、カオスエンジニアリングとカオス実験モデルの原則に従った、Alibaba がオープンソース化した実験注入ツールです。企業がクラウドへ移行する過程やクラウドネイティブシステムへの移行において、分散システムの耐障害性を向上させ、ビジネスの継続性を確保することを支援します。
Chaosblade は MonkeyKing の社内オープンソースプロジェクトです。Alibaba の約 10 年にわたる故障テストと訓練の実践に基づき、グループ各社のビジネスにおける優れたアイデアとプラクティスを組み合わせています。
ChaosBlade は使いやすいだけでなく、豊富な実験シナリオをサポートしています。シナリオには以下が含まれます:
シナリオをドメインごとに個別のプロジェクトにカプセル化することで、ドメイン内のシナリオを標準化できるだけでなく、シナリオの水平・垂直展開も容易になります。カオス実験モデルに従うことで、chaosblade cli を統一的に呼び出すことができます。現在含まれているプロジェクトは以下のとおりです:
このガイドでは、ChaosBlade を使用して 5 分以内に Kubernetes 上で最初の故障注入を実行する方法を説明します。最小限の例として、Pod に CPU ストレス故障を注入します。
始める前に、以下が必要です:
kubectl cluster-info が正常に返ること)default)blade バイナリが PATH に含まれていること)Helm でオペレーターをインストールします:
helm install chaosblade-operator chaosblade-operator-<version>.tgz --namespace chaosblade --create-namespace
オペレーターが実行中であることを確認します:
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 は実験の uid を含む JSON 結果を返します。この 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 を実行します。アタッチに成功すると、ステータス照会または agent の取り消し用の uid が返されます。blade revoke UID です。blade create [TARGET] [ACTION] [FLAGS] です。たとえば、Dubbo コンシューマーが xxx.xxx.Service インターフェースを呼び出す際に 3 秒遅延させる場合、実行するコマンドは 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 デモイメージをダウンロードして、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 License, Version 2.0 の下でライセンスされています。完全なライセンス文については LICENSE を参照してください。