area(Concepts + Intro): Added Probe Docs + Introduction to Litmus (#72)

* Added Probe Docs

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Fixed Parsing Issue

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Added Summary

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Added Introduction + ChaosEngine Markdown

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Updated asset structure

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

Co-authored-by: Vedant Shrotria <40681425+Jonsy13@users.noreply.github.com>
This commit is contained in:
Sayan Mondal 2021-08-04 15:41:48 +05:30 committed by GitHub
parent f8fc5e2c8b
commit 799206c7d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 1163 additions and 17 deletions

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 482 B

After

Width:  |  Height:  |  Size: 482 B

View File

@ -0,0 +1,7 @@
---
id: chaos-engine
title: Chaos Engine
sidebar_label: Chaos Engine
---
## Coming soon

File diff suppressed because it is too large Load Diff

View File

@ -28,27 +28,27 @@ In this scenario we will execute a pod-delete fault on a sample micro-service ap
1. Click on <span style={{color: '#5B44BA'}}>**Schedule a Workflow**</span> from the ChaosCenter Homepage or from the top right button in the **Litmus Workflows** tab.
<img src={require("../assets/schedule-workflow-from-homepage.png").default} width="350" alt="Schedule Workflow from Homepage" /> <img src={require("../assets/schedule-workflow-from-litmus-workflows.png").default} width="350" alt="Schedule Workflow from Litmus Workflows" />
<img src={require("../assets/getting-started/run-your-first-workflow/schedule-workflow-from-homepage.png").default} width="350" alt="Schedule Workflow from Homepage" /> <img src={require("../assets/getting-started/run-your-first-workflow/schedule-workflow-from-litmus-workflows.png").default} width="350" alt="Schedule Workflow from Litmus Workflows" />
<br /> <br />
2. Select **Self Agent** as the target [ChaosAgent](resources#chaosagents) for Chaos Injection. This is where we'll select which ChaosAgent to choose as the Target Agent.
<img src={require("../assets/selecting-self-agent.png").default} alt="Selecting Self Agent" />
<img src={require("../assets/getting-started/run-your-first-workflow/selecting-self-agent.png").default} alt="Selecting Self Agent" />
3. Expand the first radio button (To create a new workflow from Predefined Workflow Templates) and select **podtato-head** from the list of Predefined Workflows.
<img src={require("../assets/select-podtato-head.png").default} alt="Select Podtato Head" />
<img src={require("../assets/getting-started/run-your-first-workflow/select-podtato-head.png").default} alt="Select Podtato Head" />
4. View the workflow details in the **Workflow Settings**, you can modify the name and description of the workflow to suit your needs.
<img src={require("../assets/workflow-settings-podtato-head.png").default} alt="Modify Details of Podtato Head Workflow" />
<img src={require("../assets/getting-started/run-your-first-workflow/workflow-settings-podtato-head.png").default} alt="Modify Details of Podtato Head Workflow" />
### Simulate the Workflow Steps Visualization
5. View the visualization of the Litmus Workflow you are about to execute. This step also allows for you to edit or modify the YAML/tunable if required. We would just stick with the default configurations for now.
<img src={require("../assets/podtato-head-tune-workflow.png").default} alt="Visualize Podtato Head Workflow" />
<img src={require("../assets/getting-started/run-your-first-workflow/podtato-head-tune-workflow.png").default} alt="Visualize Podtato Head Workflow" />
> By default in the Podtato Head Workflow Template the steps to gracefully delete the Chaos Resources (`revert-chaos`) and also the Podtato Head application (`delete-application`) are present.
@ -56,23 +56,23 @@ In this scenario we will execute a pod-delete fault on a sample micro-service ap
6. Assign weights to the chaos experiments that are part of the workflow using the slider. This is typically used when there are multiple experiments as part of a workflow. These weights influence the **Resilience Score** calculation for the chaos workflow.
<img src={require("../assets/adjust-weights-for-podtato-head.png").default} alt="Assign Weights for Workflow Experiments" />
<img src={require("../assets/getting-started/run-your-first-workflow/adjust-weights-for-podtato-head.png").default} alt="Assign Weights for Workflow Experiments" />
### Schedule the Podtato-Head Workflow
7. Schedule the Litmus Workflow for immediate and one-time execution by selecting the **Schedule Now** option
<img src={require("../assets/choose-schedule.png").default} alt="Choose a Schedule for Workflow Execution" />
<img src={require("../assets/getting-started/run-your-first-workflow/choose-schedule.png").default} alt="Choose a Schedule for Workflow Execution" />
8. Verify and click on **Finish** to start the Chaos Injection
<img src={require("../assets/verify-and-commit-podtato-head.png").default} alt="Verify and Schedule the Podtato Head Workflow" />
<img src={require("../assets/getting-started/run-your-first-workflow/verify-and-commit-podtato-head.png").default} alt="Verify and Schedule the Podtato Head Workflow" />
### Congratulations
And with that you have successfully scheduled your first Chaos Workflow with Litmus.
<img src={require("../assets/scheduled-successfully.png").default} alt="Podtato Head Workflow Scheduled Successfully" />
<img src={require("../assets/getting-started/run-your-first-workflow/scheduled-successfully.png").default} alt="Podtato Head Workflow Scheduled Successfully" />
---
@ -80,13 +80,13 @@ And with that you have successfully scheduled your first Chaos Workflow with Lit
1. To check the current progress of the Podtato-Head workflow, view the status of the Workflow from the **Litmus Workflows** Tab.
<img src={require("../assets/podtato-head-workflow-running.png").default} alt="Podtato Head Workflow in Running State" />
<img src={require("../assets/getting-started/run-your-first-workflow/podtato-head-workflow-running.png").default} alt="Podtato Head Workflow in Running State" />
2. Litmus deploys a sample multi-replica hello-service application before going onto pull the pod-delete ChaosExperiment template. In the next step, it creates the ChaosEngine to launch the chaos injection via dedicated pods.
To see all these steps live in action on the `workflow name` from the **Runs** Tab or select **Show the workflow** from the three dot menu.
<img src={require("../assets/podtato-head-workflow-in-action.png").default} alt="Podtato Head Workflow in Action" />
<img src={require("../assets/getting-started/run-your-first-workflow/podtato-head-workflow-in-action.png").default} alt="Podtato Head Workflow in Action" />
To see them in action on the terminal itself watch the pods in the namespace where ChaosCenter is installed.
@ -121,7 +121,7 @@ And with that you have successfully scheduled your first Chaos Workflow with Lit
3. Post Chaos Execution view the Experiment Results. Click on the **pod-delete** node on the graph to launch a results console. Click on the **Chaos Results** tab to view the details around success/failure of the steady-state hypothesis constraints (podtato-head website availability through pod deletion period) and the experiment verdict.
<img src={require("../assets/chaos-result-of-podtato-head.png").default} alt="Chaos Result of Podtato Head" />
<img src={require("../assets/getting-started/run-your-first-workflow/chaos-result-of-podtato-head.png").default} alt="Chaos Result of Podtato Head" />
## Resources

View File

@ -4,4 +4,33 @@ title: What is Litmus?
sidebar_label: Litmus
---
## Coming soon
<img align='right' src={require("../assets/litmus-logo.png").default} alt="Litmus Logo" width="120" />
LitmusChaos is a Cloud-Native Chaos Engineering Framework with cross-cloud support. It is a CNCF Sandbox project with adoption across several organizations. Its mission is to help Kubernetes SREs and Developers to find weaknesses in both Non-Kubernetes as well as platforms and applications running on Kubernetes by providing a complete Chaos Engineering framework and associated Chaos Experiments.
Litmus can be used to run chaos experiments initially in the staging environment and eventually in production to find bugs and vulnerabilities, fixing which leads to an increased resilience of the system. Litmus adopts a `Kubernetes-native` approach to define chaos intent in a declarative manner via custom resources.
## Importance of Resilience
<img src={require("../assets/introduction/litmus/importance-of-resilience.png").default} alt="Importance Of Resilience" />
Kubernetes is being run on a variety of infrastructure, ranging from virtual machines to bare metal and a combination of them. The platforms physical nature is a source of faults to the application that runs inside containers, as shown in the tip of the above diagram. The next layer of dependency is Kubernetes itself.
Your application resilience really depends more on the underlying stack than your application itself. It is possible that once your application is stabilized, the resilience of your service that runs on Kubernetes depends on other components and infrastructure more than 90% of the time.
Thus it is important to verify your application resilience whenever a change has happened in the underlying stack. **Keep verifying** is the key. Robust testing before upgrades is not good enough, mainly because you cannot possibly consider all sorts of faults during upgrade testing. This introduces the concept of Chaos Engineering. The process of "**continuously verifying** if your service is resilient against faults" is called Chaos Engineering.
### What is a Chaos Experiment
Chaos Experiments are fundamental units within the LitmusChaos architecture. Users can choose between readily available chaos experiments or create new ones to construct a required Chaos Workflow.
### What is a Chaos Workflow
A chaos workflow is much more than a simple chaos experiment. It supports the user in defining the expected result, observing the result, analysing the overall system behaviour, and in the decision-making process if the system needs to be tuned for improving the resilience.
## How to Contribute
- If you are a first-time contributor, please see [Steps to Contribute](https://github.com/litmuschaos/litmus/blob/master/CONTRIBUTING.md#steps-to-contribute-).
- If you would like to suggest new tests to be added to litmus, please go ahead and [create a new issue](https://github.com/litmuschaos/litmus/issues/new) describing your test. All you need to do is specify the workload type and the operations that you would like to perform on the workload.
- If you would like to work on something more involved, please connect with the Litmus Contributors.
- If you would like to make code contributions, all your commits should be signed with Developer Certificate of Origin. See [Sign your work](https://github.com/litmuschaos/litmus/blob/master/CONTRIBUTING.md#sign-your-work).

View File

@ -9,7 +9,7 @@ sidebar_label: Uninstall Litmus
To disconnect the [ChaosAgent](../getting-started/resources#chaosagents) connected to the [ChaosCenter](../getting-started/resources#chaoscenter), follow these steps -
1. Login to the ChaosCenter and navigate to the ChaosAgents Tab.
2. Click on the `Disconnect icon` <img src={require("../assets/disconnect-icon.png").default} alt="Disconnect Icon" /> of the respective ChaosAgent you want to disconnect.
2. Click on the `Disconnect icon` <img src={require("../assets/user-guides/uninstall-litmus/disconnect-icon.png").default} alt="Disconnect Icon" /> of the respective ChaosAgent you want to disconnect.
3. On the Modal that appears, confirm your selection by clicking `Yes` and the selected ChaosAgent would be disconnected from the ChaosCenter.
:::note
The above disconnect would remove the subscriber component from ChaosAgent and thus removing the connectivity between the ChaosAgent and the ChaosCenter.

View File

@ -28,6 +28,7 @@ module.exports = {
'concepts/litmus',
'concepts/experiment',
'concepts/probes',
'concepts/chaos-engine',
'concepts/chaos-results',
'concepts/chaos-schedule',
'concepts/chaoshub',
@ -108,10 +109,20 @@ module.exports = {
]
},
{
'User Management': ['user-guides/view-user', 'user-guides/create-user', 'user-guides/reset-password', 'user-guides/deactivate-user']
'User Management': [
'user-guides/view-user',
'user-guides/create-user',
'user-guides/reset-password',
'user-guides/deactivate-user'
]
},
{
'Teaming': ['user-guides/invite-team-member', 'user-guides/edit-invite', 'user-guides/accept-invite', 'user-guides/remove-team-member']
Teaming: [
'user-guides/invite-team-member',
'user-guides/edit-invite',
'user-guides/accept-invite',
'user-guides/remove-team-member'
]
},
'user-guides/image-registry',
'user-guides/uninstall-litmus'