カオスキューブ
ChaosKubeは、Kubernetesクラスタ用のNetflixのカオスモンキーに似ています。可用性の高いシステムの耐障害性をテストするために、ポッドのランダムな終了をスケジュールします。
なぜ
Chart開発の一環として、デプロイの耐障害性をテストする方法が必要でした。
どのように
ChaosKubeの使用は、毎週のデモの後に手動で行います。ChaosKubeの想定されるユースケースは、回復能力をテストするために、作業日中のランダムな時間にランダムにポッドを殺すことです。デバッグモードでChaosKubeを手動で起動し、デプロイの弱点を手動で特定します。
その後、CIパイプラインにインテグレーションする予定なので、新しい変更がロールアウトされるたびに、そのリリースに対してChaosKubeを実行します。
使用方法
deploy_chaoskube.sh
、デフォルトではChaosKubeのインストールから10分後に実行をスケジューリングすることで、ChaosKubeをインストールし、解き放ちます。また、RBACが有効な場合は、必要なサービスアカウントとロールを設定します。
Chartリポジトリをクローンした後、ChaosKubeのインストールとアンリリースを実行します:
scripts/deploy_chaoskube.sh up
設定
ChaosKubeの設定は、scripts/chaoskube-resources/values.yaml
。詳細はChaosKube公式ドキュメントをご覧ください。
スクリプト上のフラグを使用してデプロイを設定することもできます。利用可能なすべてのオプションを確認するには、以下を実行してください:
scripts/deploy_chaoskube.sh -h
--set
引数で渡すオプションの完全なリストについては、README の values セクションを参照してください。