title | tag | keywords | description | linkTitle |
---|---|---|---|---|
Deploy Chaos Mesh on KubeSphere |
KubeSphere, Kubernetes, Applications, Chaos Engineering, Chaos experiments, Chaos Mesh |
Chaos Mesh, Kubernetes, Helm, KubeSphere |
Learn how to deploy Chaos Mesh on KubeSphere and start running chaos experiments. |
Deploy Chaos Mesh on KubeSphere |
Chaos Mesh is a cloud-native Chaos Engineering platform that orchestrates chaos in Kubernetes environments. With Chaos Mesh, you can test your system's resilience and robustness on Kubernetes by injecting various types of faults into Pods, network, file system, and even the kernel.
-
Make sure you have installed and enabled the KubeSphere App Store.
-
You need to create a workspace, a project, and a user account (project-regular) for this tutorial. The account needs to be a platform regular user and to be invited as the project operator with the operator role. For more information, see Create Workspaces, Projects, Users and Roles.
-
Login KubeSphere as
project-regular
, search for chaos-mesh in the App Store, and click on the search result to enter the app. -
In the App Information page, click Install on the upper right corner.
-
In the App Settings page, set the application Name, Location (as your Namespace), and App Version, and then click Next on the upper right corner.
-
Configure the
values.yaml
file as needed, or click Install to use the default configuration. -
Wait for the deployment to be finished. Upon completion, Chaos Mesh will be shown as Running in KubeSphere.
-
In the Resource Status page, copy the **NodePort **of
chaos-dashboard
. -
Access the Chaos Dashboard by entering
${NodeIP}:${NODEPORT}
in your browser. Refer to Manage User Permissions to generate a Token and log into Chaos Dashboard.
Before creating a chaos experiment, you should identify and deploy your experiment target, for example, to test how an application works under network latency. Here, we use a demo application web-show
as the target application to be tested, and the test goal is to observe the system network latency. You can deploy a demo application web-show
with the following command: web-show
.
curl -sSL https://mirrors.chaos-mesh.org/latest/web-show/deploy.sh | bash
Note: The network latency of the Pod can be observed directly from the web-show application pad to the kube-system pod.
-
From your web browser, visit ${NodeIP}:8081 to access the Web Show application.
-
Log in to Chaos Dashboard to create a chaos experiment. To observe the effect of network latency on the application, we set the **Target **as "Network Attack" to simulate a network delay scenario.
The Scope of the experiment is set to
app: web-show
. -
Start the chaos experiment by submitting it.
Now, you should be able to visit Web Show to observe experiment results: