カオスキューブ

ChaosKubeは、Kubernetesクラスタ用のNetflixのカオスモンキーに似ています。 高可用性システムの耐障害性をテストするために、ランダムにポッドを殺すスケジュールを立てます。

なぜ

Chart開発の一環として、デプロイの耐障害性をテストする方法が必要でした。

どのように

chaoskubeの使用方法は少し変わっていて、デバッグモードでchaoskubeを手動で起動し、デプロイの弱点を手動で特定します。

その後、CIパイプラインにインテグレーションし、新しい変更が行われるたびに、そのリリースのchaoskubeを実行する予定です。

使用方法

deploy_chaoskube.shは、デフォルトではchaoskubeのインストールから10m後に実行をスケジューリングすることで、chaoskubeのインストールと解放を行います。 また、RBACが有効な場合は、必要なサービスアカウントとロールの設定も行います。

Chartリポジトリをクローンしたら、chaoskubeをインストールして解き放ちます:

scripts/deploy_chaoskube.sh up

設定

ChaosKubeは、scripts/chaoskube-resources/values.yamlファイルを編集することで設定できます。詳しくは、chaoskube公式ドキュメントをご覧ください。

スクリプト上のフラグを使用してデプロイを設定することもできます。 利用可能なすべてのオプションを確認するには、以下を実行してください:

scripts/deploy_chaoskube.sh -h

--set 引数で渡すオプションの完全なリストについては、README の values セクションを参照してください。