search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

updated at

OpenShift で Chaos Mesh を動かしてみた

初めに

Chaos Engineering を支援するツールであるChaos MeshをOpenshift上で動かしてみましたので、ご紹介します。
Chaos EngineeringやChaos Meshの詳細については、さまざま情報がInternet上で公開されているので、そちらをご参照ください。

Chaos Mesh の OpenShift へのインストール

基本的には、公式ドキュメント(https://chaos-mesh.org/docs/production-installation-using-helm/)
の手順に従って、導入していきます。

  1. 導入先プロジェクト(Namespace)の作成
$ oc project chaos-testing

 
2. SCCの付与
公式ドキュメントのFAQ(下記URL)に記載の通り、OpenShift上に導入するには、SCC権限の付与が必要になります。
https://chaos-mesh.org/docs/faqs/#q-while-trying-to-install-chaos-mesh-in-openshift-the-problems-regarding-authorization-blocked-the-installation-process

$ oc adm policy add-scc-to-user privileged -n chaos-testing -z chaos-daemon

 
3. HELMレポジトリの追加

$ helm repo add chaos-mesh https://charts.chaos-mesh.org

 
4. Chaos Mesh の導入
OpenShiftのランタイムは、CRI-Oなので、オプションにはCRI-Oを指定します。

$ helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing --set chaosDaemon.runtime=crio --set chaosDaemon.socketPath=/var/run/crio/crio.sock --version 2.3.0

 
5. Openshift Route の作成

$ oc expose svc chaos-dashborad
route.route.openshift.io/chaos-dashboard exposed
$ oc get route chaos-dashboard
NAME              HOST/PORT                                     PATH   SERVICES          PORT   TERMINATION   WILDCARD
chaos-dashboard   chaos-dashboard-chaos-testing.xxxxxxx.xxxxx          chaos-dashboard   http                 None

Chaos Mesh Token 設定

  1. ブラウザで、上記で作成したrouteのURLにブラウザでアクセス
    image.png

  2. 「Click here to generate」をクリック
    image.png

  3. 「cluster scoped」にチェックをつけ、「Role」をManagerにします。
    画面下の指示に従い、Tokenを取得します。
    ※最後のkubectl describe secretのコマンドは、最後に「-n default」のオプションをつけて実行してください。
    image.png

  4. 最初に出てきた画面に戻り、「Name」に任意の値を入れ、Tokenに上記で取得したTokenの値を入れ、Submitをクリックします。
    image.png

障害の注入

今回は、Pod障害の注入を行ってみます。

  1. Chaos Mesh の画面から、「Experiments」→「+ New experiment」を選択します。
    image.png

  2. 「Kubernetes」→「Pod Fault」→「Pod Failure」を選択します。
    image.png

  3. 「Experiment Info」に障害を注入するPODの情報等を指定して、「Submit」をクリックします。
    image.png

  4. Submitエリアが現れるので、「Submit」をクリックし、障害を注入させます。
    image.png

5.一部Podで障害が発生し、RESTARTSが発生したことが確認できます。
image.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?