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

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 ファイルを読んでカオス実験を実行できます。お楽しみください。