はじめに
Litmus 3.x のインストールドキュメントで検証済み。コマンドは稼働中の Kubernetes クラスタと Helm を想定。
前提
- Kubernetes 1.17 以降。
- Helm 3 以降。
- 約 20GB の永続ボリューム (テスト用途なら 1GB で足りる)。
要件は Litmus インストールドキュメント に基づく。
インストール
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
kubectl create ns litmus
helm install chaos litmuschaos/litmus --namespace=litmus --set portal.frontend.service.type=NodePortHelm チャートは MongoDB に依存する。ARM ホストでは互換性のある bitnami イメージへの差し替えが要ることがある。
最初の動く構成
ChaosCenter を起動し、その UI を開くまで。
上記のとおりチャートを
litmusnamespace にインストールする。コントロールプレーンの pod が ready になるまで待つ。
bashkubectl get pods -n litmusUI に到達する。リモートクラスタでは NodePort を外し、frontend service を port-forward する。
bashkubectl port-forward svc/chaos-litmus-frontend-service 9091:9091 -n litmushttp://localhost:9091を開いてサインインする。ローカルクラスタ (minikube や kind) では UI endpoint に追加設定が要る。インストールドキュメントを参照。
動作確認
litmus namespace のコントロールプレーン pod がすべて Running か確認する:
kubectl get pods -n litmus正常なインストールでは GraphQL サーバ、authentication、frontend、MongoDB の pod が Running になる。サインイン後は ChaosCenter ダッシュボードが開き、Chaos Infrastructure (agent) を対象クラスタに接続できる。
次に読むもの
HA・スケーリング・認証バックエンドなど本番運用は公式の Litmus docs を参照。障害ライブラリは litmuschaos/litmus-go に、共有可能な実験は litmuschaos/chaos-charts にある。