area(Getting-Started): Updated Getting Started Section (#67)

* Updated Getting Started Section
* Changing url path
* onBrokenLink set to warn
* Made suggested changes + Updated docs
* Embedmd

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
This commit is contained in:
Sayan Mondal 2021-07-29 15:17:45 +05:30 committed by GitHub
parent 7806b3e033
commit 4e723fea56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 699 additions and 687 deletions

View File

@ -1,7 +0,0 @@
---
id: introduction
title: Concepts
sidebar_label: Introduction
---
## Coming soon

View File

@ -0,0 +1,7 @@
---
id: overview
title: Overview
sidebar_label: Overview
---
## Coming soon

View File

@ -1,15 +0,0 @@
---
id: basic-requirements
title: Prerequisites
sidebar_label: Basic Requirements
---
Before deploying LitmusChaos, make sure the following items are there
- Kubernetes 1.15 or later
- A Persistent volume of 20GB
>Recommend to have a Persistent volume(PV) of 20GB, You can start with 1GB for test purposes as well. This PV is used as persistent storage to store the chaos config and chaos-metrics in the Portal. By default, litmus install would use the default storage class to allocate the PV. Provide this value
- [Helm3](https://v3.helm.sh/) or [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)

View File

@ -1,135 +0,0 @@
---
id: chaosagents-cluster-scope-installation
title: ChaosAgents Cluster Scope Installation
sidebar_label: Cluster Scope
---
## Prerequisites
- Before connecting a ChaosAgent to the [ChaosCenter](chaoscenter), learn about what is a [ChaosAgent](chaosagents) in Litmus.
- Make sure `litmusctl` is installed.
## Installation
Multiple external Kubernetes agents can be connected to the [ChaosCenter](chaoscenter) with the help of the command line utility litmusctl.
The following steps will help you connect your ChaosAgents via litmusctl
```bash
litmusctl agent connect
```
Next, you need to enter ChaosCenter details to login into your ChaosCenter account. Fields to be filled in:
**ChaosCenter URL:** Enter the URL used to access the ChaosCenter.
> Example, http://172.17.0.2:31696/
**Username:** Enter your LitmusPortal username. <br />
**Password:** Enter your LitmusPortal password.
```bash
🔥 Connecting LitmusChaos agent
📶 Please enter LitmusChaos details --
👉 Host URL where litmus is installed: http://172.17.0.2:31696/
🤔 Username [admin]: admin
🙈 Password:
✅ Login Successful!
```
Upon successful login, there will be a list of existing projects displayed on the terminal. Select the desired project by entering the sequence number indicated against it.
```bash
✨ Projects List:
1. MyFirstProject
2. MySecondProject
🔎 Select Project: 1
```
Next, select the installation mode as Cluster by entering the sequence number indicated against it. There will be a prerequisites check to verify ClusterRole and ClusterRoleBinding post selection.
```shell
🔌 Installation Modes:
1. Cluster
2. Namespace
👉 Select Mode [cluster]: 1
🏃 Running prerequisites check....
🔑 clusterrole - ✅
🔑 clusterrolebinding - ✅
🌟 Sufficient permissions. Connecting Agent
```
Next, enter the details of the new agent.
Fields to be filled in <br />
| Platforms | Download Link |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Agent Name:** | Enter the name for the new agent. |
| **Agent Description:** | Fill in details about the agent. |
| **Platform Name:** | Enter the platform name on which this agent is hosted. For example, AWS, GCP, Rancher etc. |
| **Enter the namespace:** | You can either enter an existing namespace or enter a new namespace. In cases where the namespace does not exist, litmusctl creates it for you. |
| **Enter service account:** | Enter a name for your service account. |
```shell
🔗 Enter the details of the agent ----
🤷 Agent Name: my-agent
📘 Agent Description: This is a new agent.
📦 Platform List
1. AWS
2. GKE
3. Openshift
4. Rancher
5. Others
🔎 Select Platform [Others]: 5
📁 Enter the namespace (new or existing) [litmus]: litmus
🔑 Enter service account [litmus]: litmus
```
Once, all these steps are implemented you will be able to see a summary of all the entered fields.
After verification of these details, you can proceed with the connection of the agent by entering Y. The process of connection might take up to a few seconds.
```shell
📌 Summary --------------------------
Agent Name: my-agent
Agent Description: This is a new agent.
Platform Name: Others
Namespace: litmus
Service Account: litmus
Installation Mode: cluster
-------------------------------------
🤷 Do you want to continue with the above details? [Y/N]: Y
💡 Connecting agent to Litmus Portal.
🏃 Agents running!!
🚀 Agent Connection Successful!! 🎉
👉 Litmus agents can be accessed here: http://172.17.0.2:31696/targets
```
---
## **Verify the new Agent Connection**
To verify, if the connection process was successful you can view the list of connected agents from the Targets section on your ChaosCenter and ensure that the connected agent is in Active State.
## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/uIVrNH2_nVI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Learn More
- [Install ChaosAgents in Namespace Scope](chaosagents-namespace-scope-installation)
- [Install ChaosCenter in Cluster Scope](chaoscenter-cluster-scope-installation)
- [Install ChaosCenter in Namespace Scope](chaoscenter-namespace-scope-installation)
- [Setup Endpoints and Access ChaosCenter without Ingress](setup-without-ingress)
- [Setup Endpoints and Access ChaosCenter with Ingress](setup-with-ingress)

View File

@ -1,139 +0,0 @@
---
id: chaosagents-namespace-scope-installation
title: ChaosAgents Namespace Scope Installation
sidebar_label: Namespace Scope
---
## Prerequisites
- Before connecting a ChaosAgent to the [ChaosCenter](chaoscenter), learn about what is a [ChaosAgent](chaosagents) in Litmus.
- Make sure `litmusctl` is installed.
## Installation
Multiple external ChaosAgents can be connected to application namespace/s with the help of the command line utility `litmusctl`.
The following steps will help you connect your ChaosAgents via litmusctl
```bash
litmusctl agent connect
```
Next, you need to enter ChaosCenter details to login into your ChaosCenter account. Fields to be filled in:
**ChaosCenter URL:** Enter the URL used to access the ChaosCenter.
> Example, http://172.17.0.2:31696/
**Username:** Enter your LitmusPortal username. <br />
**Password:** Enter your LitmusPortal password.
```bash
🔥 Connecting LitmusChaos agent
📶 Please enter LitmusChaos details --
👉 Host URL where litmus is installed: http://172.17.0.2:31696/
🤔 Username [admin]: admin
🙈 Password:
✅ Login Successful!
```
Upon successful login, there will be a list of existing projects displayed on the terminal. Select the desired project by entering the sequence number indicated against it.
```bash
✨ Projects List:
1. MyFirstProject
2. MySecondProject
🔎 Select Project: 1
```
Next, select the installation mode as Namespace by entering the sequence number indicated against it. There will be a prerequisites check to verify Role and RoleBinding post selection.
```shell
🔌 Installation Modes:
1. Cluster
2. Namespace
👉 Select Mode [cluster]: 2
🏃 Running prerequisites check....
🔑 role - ✅
🔑 rolebinding - ✅
🌟 Sufficient permissions. Connecting Agent
```
Next, enter the details of the new agent.
Fields to be filled in <br />
| Platforms | Download Link |
| -------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Agent Name:** | Enter the name for the new agent. |
| **Agent Description:** | Fill in details about the agent. |
| **Platform Name:** | Enter the platform name on which this agent is hosted. For example, AWS, GCP, Rancher etc. |
| **Enter the namespace:** | You can either enter an existing namespace (where your application is running) or create a new namespace |
| **Enter service account:** | Enter a name for your service account. |
> Since Namespaced Scope ChaosAgent don't have Cluster Wide Permission therefore if you are willing to install the ChaosAgent in new namespace, the namespace won't be automatically created
> If you install the Namespaced Scope ChaosAgent in the same namespace as ChaosCenter, since the subscriber is already present in the namespace, you will see this message `🚫 Subscriber already present. Please enter a different namespace` in such cases you have to create a new namespace in the cluster to install the ChaosAgent else choose the existing namespace where your application resides _(besides the ns where ChaosCenter is present)_
```shell
🔗 Enter the details of the agent ----
🤷 Agent Name: my-agent
📘 Agent Description: This is a new namespace agent.
📦 Platform List
1. AWS
2. GKE
3. Openshift
4. Rancher
5. Others
🔎 Select Platform [Others]: 5
📁 Enter the namespace (new or existing) [litmus]: litmus
🔑 Enter service account [litmus]: litmus
```
Once, all these steps are implemented you will be able to see a summary of all the entered fields.
After verification of these details, you can proceed with the connection of the agent by entering Y. The process of connection might take up to a few seconds.
```shell
📌 Summary --------------------------
Agent Name: my-agent
Agent Description: This is a new agent.
Platform Name: Others
Namespace: litmus
Service Account: litmus
Installation Mode: namespace
-------------------------------------
🤷 Do you want to continue with the above details? [Y/N]: Y
💡 Connecting agent to Litmus Portal.
🏃 Agents running!!
🚀 Agent Connection Successful!! 🎉
👉 Litmus agents can be accessed here: http://172.17.0.2:31696/targets
```
---
## **Verify the new Agent Connection**
To verify, if the connection process was successful you can view the list of connected agents from the Targets section on your ChaosCenter and ensure that the connected agent is in Active State.
## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/uIVrNH2_nVI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Learn More
- [Install ChaosAgents in Cluster Scope](chaosagents-cluster-scope-installation)
- [Install ChaosCenter in Cluster Scope](chaoscenter-cluster-scope-installation)
- [Install ChaosCenter in Namespace Scope](chaoscenter-namespace-scope-installation)
- [Setup Endpoints and Access ChaosCenter without Ingress](setup-without-ingress)
- [Setup Endpoints and Access ChaosCenter with Ingress](setup-with-ingress)

View File

@ -1,18 +0,0 @@
---
id: chaosagents
title: ChaosAgents
sidebar_label: ChaosAgents
---
A <span style={{color: '#5B44BA'}}>**ChaosAgent**</span> in Litmus is nothing but the target cluster where Chaos would be injected via Litmus. There should always be atleast one or more than one ChaosAgents connected to the ChaosCenter. Each individual ChaosAgent can be chosen to be the Target Agent for Chaos Injection.
## Types of ChaosAgents
In Litmus, ChaosAgents can be classified into two types
- <span style={{color: '#5B44BA'}}><b>Self Agent</b></span>
- <span style={{color: '#5B44BA'}}><b>External Agent</b></span>
As part of the Litmus installation, a Self Agent would be registered as a default Agent in the ChaosCenter. The same cluster where Litmus is installed is chosen as the Self Agent by the installer. From the ChaosCenter you can now induce chaos into this Self Agent and observe the results.
Since the ChaosCenter is Cross Cloud, you can connect multiple external Kubernetes agents to the same with the help of the command line utility <span style={{color: '#5B44BA'}}><b>litmusctl</b></span>. Once connected you can manage, monitor, observe and induce chaos from the ChaosCenter to the respective ChaosAgents.

View File

@ -0,0 +1,204 @@
---
id: installation
title: ChaosCenter Cluster Scope Installation
sidebar_label: Installation
---
---
## Prerequisites
Before deploying LitmusChaos, make sure the following items are there
- Kubernetes 1.17 or later
- A Persistent volume of 20GB
:::note
Recommend to have a Persistent volume(PV) of 20GB, You can start with 1GB for test purposes as well. This PV is used as persistent storage to store the chaos config and chaos-metrics in the Portal. By default, litmus install would use the default storage class to allocate the PV. Provide this value
:::
- [Helm3](https://v3.helm.sh/) or [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
## Installation
Installation of Litmus can be done using either of the below methods
- [Helm3](#install-litmus-using-helm) chart
- [Kubectl](#install-litmus-using-kubectl) yaml spec file
### Install Litmus using Helm
The helm chart will install all the required service account configuration and ChaosCenter.
The following steps will help you install Litmus ChaosCenter via helm.
#### Step-1: Add the litmus helm repository
```bash
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
helm repo list
```
#### Step-2: Create the namespace on which you want to install Litmus ChaosCenter
- The litmus infra components will be placed in this namespace.
> The ChaosCenter can be placed in any namespace, but for this scenario we are choose `litmus` as the namespace.
```bash
kubectl create ns litmus
```
#### Step-3: Install Litmus ChaosCenter
```bash
helm install chaos litmuschaos/litmus-2-0-0-beta --namespace=litmus --devel
```
<span style={{color: 'green'}}><b>Expected Output</b></span>
```
NAME: chaos
LAST DEPLOYED: Tue Jun 15 19:20:09 2021
NAMESPACE: litmus
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing litmus-2-0-0-beta 😀
Your release is named chaos and its installed to namespace: litmus.
Visit https://docs.litmuschaos.io/docs/getstarted/ to find more info.
```
> **Note:** Litmus uses Kubernetes CRDs to define chaos intent. Helm3 handles CRDs better than Helm2. Before you start running a chaos experiment, verify if Litmus is installed correctly.
### **Install Litmus using kubectl **
#### **Create the namespace on which you want to install Litmus ChaosCenter**
```bash
kubectl create ns litmus
```
#### **Install Litmus ChaosCenter**
Applying the manifest file will install all the required service account configuration and ChaosCenter.
```bash
kubectl apply -f https://litmuschaos.github.io/litmus/2.0.0-Beta/litmus-2.0.0-Beta.yaml -n litmus
```
---
## **Verify your installation**
#### **Verify if the frontend, server, and database pods are running**
- Check the pods in the namespace where you installed Litmus:
```bash
kubectl get pods -n litmus
```
<span style={{color: 'green'}}><b>Expected Output</b></span>
```bash
NAME READY STATUS RESTARTS AGE
litmusportal-frontend-97c8bf86b-mx89w 1/1 Running 2 6m24s
litmusportal-server-5cfbfc88cc-m6c5j 2/2 Running 2 6m19s
mongo-0 1/1 Running 0 6m16s
```
- Check the services running in the namespace where you installed Litmus:
```bash
kubectl get svc -n litmus
```
<span style={{color: 'green'}}><b>Expected Output</b></span>
```bash
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
litmusportal-frontend-service NodePort 10.100.105.154 <none> 9091:30229/TCP 7m14s
litmusportal-server-service NodePort 10.100.150.175 <none> 9002:30479/TCP,9003:31949/TCP 7m8s
mongo-service ClusterIP 10.100.226.179 <none> 27017/TCP 7m6s
```
---
## **Accessing the ChaosCenter**
To setup and login to ChaosCenter expand the available services just created and copy the `PORT` of the `litmusportal-frontend-service` service
```bash
kubectl get svc -n litmus
```
<span style={{color: 'green'}}><b>Expected Output</b></span>
```bash
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
chaos-litmus-portal-mongo ClusterIP 10.104.107.117 <none> 27017/TCP 2m
litmusportal-frontend-service NodePort 10.101.81.70 <none> 9091:30385/TCP 2m
litmusportal-server-service NodePort 10.108.151.79 <none> 9002:32456/TCP,9003:31160/TCP 2m
```
> **Note**: In this case, the PORT for `litmusportal-frontend-service` is `30385`. Yours will be different.
Once you have the PORT copied in your clipboard, simply use your IP and PORT in this manner `<NODEIP>:<PORT>` to access the Litmus ChaosCenter.
For example:
```yaml
http://172.17.0.3:30385/
```
> Where `172.17.0.3` is my NodeIP and `30385` is the frontend service PORT. If using a LoadBalancer, the only change would be to provide a `<LoadBalancerIP>:<PORT>`. [Learn more about how to access ChaosCenter with LoadBalancer](../user-guide/setup-without-ingress#with-loadbalancer.md)
You should be able to see the Login Page of Litmus ChaosCenter. The **default credentials** are
```yaml
Username: admin
Password: litmus
```
<img src={require('../assets/login.png').default} width="800" />
By default you are assigned with a default project with Owner permissions.
<img src={require('../assets/landing-page.png').default} width="800" />
## **Verify Successful Registration of the Self Agent**
Once the project is created, the cluster is automatically registered as a chaos target via installation of [ChaosAgents](resources#chaosagents). This is represented as [Self-Agent](resources#types-of-chaosagents) in [ChaosCenter](resources#chaoscenter).
```bash
kubectl get pods -n litmus
```
```bash
NAME READY STATUS RESTARTS AGE
argo-server-58cb64db7f-pmbnq 1/1 Running 0 5m32s
chaos-exporter-547b59d887-4dm58 1/1 Running 0 5m27s
chaos-operator-ce-84ddc8f5d7-l8c6d 1/1 Running 0 5m27s
event-tracker-5bc478cbd7-xlflb 1/1 Running 0 5m28s
litmusportal-frontend-97c8bf86b-mx89w 1/1 Running 0 15m
litmusportal-server-5cfbfc88cc-m6c5j 2/2 Running 1 15m
mongo-0 1/1 Running 0 15m
subscriber-958948965-qbx29 1/1 Running 0 5m30s
workflow-controller-78fc7b6c6-w82m7 1/1 Running 0 5m32s
```
## Resources
<iframe width="560" height="315" src="https://www.youtube.com/embed/rOrKegj5ePI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Learn More
- [Install ChaosCenter in Namespace Scope](../user-guides/chaoscenter-namespace-scope-installation.md)
- [Connect External ChaosAgents to ChaosCenter](../user-guides/chaosagents-installation.md)
- [Setup Endpoints and Access ChaosCenter without Ingress](../user-guides/setup-without-ingress.md)
- [Setup Endpoints and Access ChaosCenter with Ingress](../user-guides/setup-with-ingress.md)

View File

@ -1,151 +0,0 @@
---
id: learning-litmus
title: Various Ways of Learning Litmus
sidebar_label: Learning Litmus
---
---
### Through Videos
<table>
<tr>
<td>
<iframe width="330" height="200" src="https://www.youtube.com/embed/hcPvbDSPdeo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
<td>
<iframe width="330" height="200" src="https://www.youtube.com/embed/P3ky0CfLxnE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
</tr>
<tr>
<td>
<iframe width="330" height="200" src="https://www.youtube.com/embed/8z4cCBHEJuM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
<td>
<iframe width="330" height="200" src="https://www.youtube.com/embed/6uYIpIU9T78" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
</tr>
<tr>
<td>
<iframe width="330" height="200" src="https://www.youtube.com/embed/yroUVeX9-Wk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
<td>
<iframe width="330" height="200" src="https://www.youtube.com/embed/sFCauJf4urQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
</tr>
</table>
---
### Through Blogs
<table>
<tr>
<td>
<a href="https://dev.to/litmus-chaos/getting-started-with-litmus-2-0-in-google-kubernetes-engine-4obf">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--zqwPPulX--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vklusi3v61g28ospmpck.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with Litmus 2.0 in Google Kubernetes Engine
</div>
</a>
</td>
<td>
<a href="https://dev.to/avaakash/getting-started-with-litmus-2-0-in-azure-kubernetes-service-13f3">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--2AubMs-V--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8c9oa4s10q3zbj9ew7eu.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with LitmusChaos 2.0 in Azure Kubernetes Service
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://dev.to/code_igx/chaos-engineering-with-litmus-portal-on-okteto-cloud-3g57">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--OFFtO9Gq--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/i/2mkmzm5jl5cnmcuao7q2.png" />
<br />
<div style={{width: "300px"}}>
Chaos Engineering with Litmus-portal on Okteto cloud
</div>
</a>
</td>
<td>
<a href="https://dev.to/litmus-chaos/introducing-teaming-in-litmuschaos-to-ease-your-chaos-engineering-experience-5alo">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--cmElqTxW--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7teitwfhqqd18kl4k7cg.png" />
<br />
<div style={{width: "300px"}}>
Introducing Teaming in LitmusChaos to ease your Chaos Engineering experience
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://dev.to/litmus-chaos/part-1-a-beginner-s-practical-guide-to-containerisation-and-chaos-engineering-with-litmuschaos-2-0-3h5c">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--g6JWhKUg--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bqer3wz709lwlnxo8x3h.png" />
<br />
<div style={{width: "300px"}}>
Part-1: A Beginner's Practical Guide to Containerisation and Chaos Engineering with LitmusChaos 2.0
</div>
</a>
</td>
<td>
<a href="https://dev.to/litmus-chaos/part-2-a-beginner-s-practical-guide-to-containerisation-and-chaos-engineering-with-litmuschaos-2-0-253i">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--QuiaYoHQ--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iphvi33c3m9lf8t8g4fw.png" />
<br />
<div style={{width: "300px"}}>
Part-2: A Beginners Practical Guide to Containerisation and Chaos Engineering with LitmusChaos 2.0
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://dev.to/litmus-chaos/litmus-2-0-simplifying-chaos-engineering-for-enterprises-4448">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--akEJL34r--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d9z3a933dcfzffxc1nhf.png" />
<br />
<div style={{width: "300px"}}>
Litmus 2.0 - Simplifying Chaos Engineering for Enterprises
</div>
</a>
</td>
<td>
<a href="https://dev.to/litmus-chaos/workflow-creation-with-litmus-2-0-beta-29nc">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--7vth8JDN--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gc36e82lp8egtxkh9fvk.png" />
<br />
<div style={{width: "300px"}}>
Workflow Creation with Litmus 2.0 Beta
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://dev.to/litmus-chaos/how-litmus-orchestrates-chaos-3nnd">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--VjwItoEr--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3qyfi219ts8zdwncmycn.png" />
<br />
<div style={{width: "300px"}}>
How Litmus Orchestrates Chaos
</div>
</a>
</td>
<td>
<a href="https://dev.to/amityt/custom-workflow-with-myhub-using-litmus-portal-359a">
<img width={330} src="https://res.cloudinary.com/practicaldev/image/fetch/s--TcaV3Nkb--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/i/k50bchamjcuwk393zgis.jpg" />
<br />
<div style={{width: "300px"}}>
Custom Workflow with MyHub using Litmus Portal
</div>
</a>
</td>
</tr>
</table>
---
### Beginner Friendly Resources
✨ Below is a list of beginner-level resources, everything you need to get started in your Cloud-Native Chaos Engineering journey ✨
[List of Beginner Friendly Resources](https://github.com/litmuschaos/litmus/tree/master/resources)

View File

@ -1,14 +1,16 @@
--- ---
id: chaoscenter id: resources
title: ChaosCenter title: Resources
sidebar_label: ChaosCenter sidebar_label: Resources
--- ---
--- ---
## ChaosCenter
The <span style={{color: '#5B44BA'}}>**ChaosCenter**</span> is a single source of truth to control all the different Chaos Activities happening around Litmus. From the ChaosCenter you get the freedom to manage every single part of Litmus and shape your workflows exactly the way you want it. The <span style={{color: '#5B44BA'}}>**ChaosCenter**</span> is a single source of truth to control all the different Chaos Activities happening around Litmus. From the ChaosCenter you get the freedom to manage every single part of Litmus and shape your workflows exactly the way you want it.
**ChaosCenter comes pre-packaged** as a part of LitmusChaos installation and can be easily accessed via <span style={{color: '#5B44BA'}}>Ingress, NodePort</span> or <span style={{color: '#5B44BA'}}>LoadBalancer</span>. Since Litmus has Cross-Cloud support, you get seamless access to the ChaosCenter irrespectively of where you deploy it. **ChaosCenter comes pre-packaged** as a part of LitmusChaos installation and can be easily accessed via [Ingress](setup-with-ingress), [NodePort](setup-without-ingress#with-nodeport) or [LoadBalancer](setup-without-ingress#with-loadbalancer). Since Litmus has Cross-Cloud support, you get seamless access to the ChaosCenter irrespectively of where you deploy it.
> [Get a broader view of which Platforms are supported by Litmus](https://github.com/litmuschaos/litmus/tree/master/litmus-portal#platforms-support) > [Get a broader view of which Platforms are supported by Litmus](https://github.com/litmuschaos/litmus/tree/master/litmus-portal#platforms-support)
@ -50,3 +52,18 @@ The ChaosCenter gives you access to a plethora of features, the major ones inclu
<li>Measure and Analyse the Resilience Score of each workflow</li> <li>Measure and Analyse the Resilience Score of each workflow</li>
</ul> </ul>
</span> </span>
## ChaosAgents
A <span style={{color: '#5B44BA'}}>**ChaosAgent**</span> in Litmus is nothing but the target cluster where Chaos would be injected via Litmus. There should always be atleast one or more than one ChaosAgents connected to the [ChaosCenter](#chaoscenter). Each individual ChaosAgent can be chosen to be the Target Agent for Chaos Injection.
## Types of ChaosAgents
In Litmus, ChaosAgents can be classified into two types
- <span style={{color: '#5B44BA'}}><b>Self Agent</b></span>
- <span style={{color: '#5B44BA'}}><b>External Agent</b></span>
As part of the Litmus installation, a Self Agent would be registered as a default Agent in the ChaosCenter. The same cluster where Litmus is installed is chosen as the Self Agent by the installer. From the ChaosCenter you can now induce chaos into this Self Agent and observe the results.
Since the ChaosCenter is Cross Cloud, you can connect multiple external Kubernetes agents to the same with the help of the command line utility [litmusctl](../litmusctl/installation.md). Once connected you can manage, monitor, observe and induce chaos from the ChaosCenter to the respective ChaosAgents.

View File

@ -8,10 +8,10 @@ Welcome to this scenario, in this section you will get an overview of how to exe
## Prerequisites ## Prerequisites
Before starting with your first Chaos Workflow make sure the [Litmus ChaosCenter](chaoscenter) is installed in either one of these scopes Before starting with your first Chaos Workflow make sure the [Litmus ChaosCenter](resources#chaoscenter) is installed in either one of these scopes
- [Cluster Scope](chaoscenter-cluster-scope-installation) - [Cluster Scope](../user-guides/chaoscenter-cluster-scope-installation.md)
- [Namespace Scope](chaoscenter-namespace-scope-installation) - [Namespace Scope](../user-guides/chaoscenter-namespace-scope-installation.md)
## Aim of the scenario ## Aim of the scenario
@ -32,7 +32,7 @@ In this scenario we will execute a pod-delete fault on a sample micro-service ap
<br /> <br /> <br /> <br />
2. Select **Self Agent** as the target [ChaosAgent](chaosagents) for Chaos Injection. This is where we'll select which ChaosAgent to choose as the Target Agent. 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/selecting-self-agent.png").default} alt="Selecting Self Agent" />
@ -125,35 +125,16 @@ And with that you have successfully scheduled your first Chaos Workflow with Lit
## Resources ## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/hcPvbDSPdeo?start=871" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/hcPvbDSPdeo?start=871" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
#### Blogs ### Beginner Friendly Resources
<table> ✨ Below is a list of beginner-level resources, everything you need to get started in your Cloud-Native Chaos Engineering journey ✨
<tr>
<td>
<a href="https://dev.to/avaakash/getting-started-with-litmus-2-0-in-azure-kubernetes-service-13f3">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--2AubMs-V--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8c9oa4s10q3zbj9ew7eu.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with LitmusChaos 2.0 in Azure Kubernetes Service
</div>
</a>
</td>
<td>
<a href="https://dev.to/litmus-chaos/getting-started-with-litmus-2-0-in-google-kubernetes-engine-4obf">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--zqwPPulX--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vklusi3v61g28ospmpck.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with Litmus 2.0 in Google Kubernetes Engine
</div>
</a>
</td>
</tr>
</table>
## Learn More [List of Beginner Friendly Resources](https://github.com/litmuschaos/litmus/tree/master/resources)
- [Resources to Learn More about Litmus](learning-litmus) ## Various Ways of Learning Litmus
- [Learn by Concept](../concepts/overview.md)
- [Learn by User Guides](../user-guides/overview.md)
- [Learn by Running a sample Katakoda Scenario](https://www.katacoda.com/litmusbot/scenarios/getting-started-with-litmus)

View File

@ -1,7 +1,127 @@
--- ---
id: cluster-scope-installation id: cluster-scope-installation
title: Installing Agent with Cluster Scope title: Installing ChaosAgents with Cluster Scope
sidebar_label: Cluster Scope sidebar_label: Cluster Scope
--- ---
## Coming soon Multiple external [ChaosAgents](../getting-started/chaosagents.md) can be connected to the [ChaosCenter](../getting-started/chaoscenter.md) with the help of the command line utility [litmusctl](installation)
The following steps will help you connect your ChaosAgents via litmusctl
```bash
litmusctl agent connect
```
Next, you need to enter ChaosCenter details to login into your ChaosCenter account. Fields to be filled in:
**ChaosCenter URL:** Enter the URL used to access the ChaosCenter.
> Example, http://172.17.0.2:31696/
**Username:** Enter your LitmusPortal username. <br />
**Password:** Enter your LitmusPortal password.
```bash
🔥 Connecting LitmusChaos agent
📶 Please enter LitmusChaos details --
👉 Host URL where litmus is installed: http://172.17.0.2:31696/
🤔 Username [admin]: admin
🙈 Password:
✅ Login Successful!
```
Upon successful login, there will be a list of existing projects displayed on the terminal. Select the desired project by entering the sequence number indicated against it.
```bash
✨ Projects List:
1. MyFirstProject
2. MySecondProject
🔎 Select Project: 1
```
Next, select the installation mode as Cluster by entering the sequence number indicated against it. There will be a prerequisites check to verify ClusterRole and ClusterRoleBinding post selection.
```shell
🔌 Installation Modes:
1. Cluster
2. Namespace
👉 Select Mode [cluster]: 1
🏃 Running prerequisites check....
🔑 clusterrole - ✅
🔑 clusterrolebinding - ✅
🌟 Sufficient permissions. Connecting Agent
```
Next, enter the details of the new agent.
Fields to be filled in <br />
| Platforms | Download Link |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Agent Name:** | Enter the name for the new agent. |
| **Agent Description:** | Fill in details about the agent. |
| **Platform Name:** | Enter the platform name on which this agent is hosted. For example, AWS, GCP, Rancher etc. |
| **Enter the namespace:** | You can either enter an existing namespace or enter a new namespace. In cases where the namespace does not exist, litmusctl creates it for you. |
| **Enter service account:** | Enter a name for your service account. |
```shell
🔗 Enter the details of the agent ----
🤷 Agent Name: my-agent
📘 Agent Description: This is a new agent.
📦 Platform List
1. AWS
2. GKE
3. Openshift
4. Rancher
5. Others
🔎 Select Platform [Others]: 5
📁 Enter the namespace (new or existing) [litmus]: litmus
🔑 Enter service account [litmus]: litmus
```
Once, all these steps are implemented you will be able to see a summary of all the entered fields.
After verification of these details, you can proceed with the connection of the agent by entering Y. The process of connection might take up to a few seconds.
```shell
📌 Summary --------------------------
Agent Name: my-agent
Agent Description: This is a new agent.
Platform Name: Others
Namespace: litmus
Service Account: litmus
Installation Mode: cluster
-------------------------------------
🤷 Do you want to continue with the above details? [Y/N]: Y
💡 Connecting agent to Litmus Portal.
🏃 Agents running!!
🚀 Agent Connection Successful!! 🎉
👉 Litmus agents can be accessed here: http://172.17.0.2:31696/targets
```
---
## **Verify the new Agent Connection**
To verify, if the connection process was successful you can view the list of connected agents from the Targets section on your ChaosCenter and ensure that the connected agent is in Active State.
## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/uIVrNH2_nVI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Learn More
- [Learn More about Litmusctl](installation)
- [Install ChaosAgents in Namespace Scope](namespace-scope-installation)
- [Setup Endpoints and Access ChaosCenter without Ingress](../user-guides/setup-without-ingress.md)
- [Setup Endpoints and Access ChaosCenter with Ingress](../user-guides/setup-with-ingress.md)

View File

@ -1,7 +1,123 @@
--- ---
id: installation id: installation
title: Installing Litmusctl title: Litmusctl
sidebar_label: Installation sidebar_label: Installation
--- ---
## Coming soon The Litmuschaos command-line tool, litmusctl, allows you to manage litmuschaos's agent plane. You can use litmusctl to create agents, project, and manage multiple litmuschaos accounts.
## Prerequisites
Litmusctl CLI requires the following things:
- **kubeconfig** - litmusctl needs the kubeconfig of the k8s cluster where we need to connect litmus agents. The CLI currently uses the default path of kubeconfig i.e. `~/.kube/config`.
- **kubectl** - litmusctl is using kubectl under the hood to apply the manifest.
> To install kubectl, follow: [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
## Usage
For more information including a complete list of litmusctl operations, see the litmusctl reference documentation.
* For v0.3.0 or latest && compatible with Litmus-2.0.0-Beta9 or latest: <a href="https://github.com/litmuschaos/litmusctl/blob/master/Usage.md">Click here</a>
* For v0.2.0 or earlier && compatible with Litmus-2.0.0-Beta8 or earlier: <a href="https://github.com/litmuschaos/litmusctl/blob/master/Usage_v0.2.0.md">Click here</a>
## Installation
To install the latest version of litmusctl follow the below steps:
<table>
<th>Platforms</th>
<th>v0.3.0</th>
<th>v0.2.0 </th>
<th>master(Unreleased)</th>
<tr>
<td>litmusctl-darwin-amd64 (MacOS)</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-darwin-amd64-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-darwin-amd64-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-darwin-amd64-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-linux-386</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-386-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-386-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-386-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-linux-amd64</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-amd64-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-amd64-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-amd64-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-linux-arm</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-arm-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-arm-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-arm-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-linux-arm64</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-arm64-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-arm64-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-linux-arm64-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-windows-386</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-386-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-386-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-386-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-windows-arm64</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-arm64-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-arm64-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-arm64-master.tar.gz">Click here</a></td>
</tr>
<tr>
<td>litmusctl-windows-arm</td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-arm-v0.3.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-arm-v0.2.0.tar.gz">Click here</a></td>
<td><a href="https://litmusctl-bucket.s3-eu-west-1.amazonaws.com/litmusctl-windows-arm-master.tar.gz">Click here</a></td>
</tr>
</table>
### Linux/MacOS
* Extract the binary
```shell
tar -zxvf litmusctl-<OS>-<ARCH>-<VERSION>.tar.gz
```
* Provide necessary permissions
```shell
chmod +x litmusctl
```
* Move the litmusctl binary to /usr/local/bin/litmusctl. Note: Make sure to use root user or use sudo as a prefix
```shell
mv litmusctl /usr/local/bin/litmusctl
```
* You can run the litmusctl command in Linux/macOS:
```shell
litmusctl <command> <subcommand> <subcommand> [options and parameters]
```
### Windows
* Extract the binary from the zip using WinZip or any other extraction tool.
* You can run the litmusctl command in windows:
```shell
litmusctl.exe <command> <subcommand> <subcommand> [options and parameters]
```
* To check the version of the litmusctl:
```shell
litmusctl version
```
----

View File

@ -4,4 +4,132 @@ title: Installing Agent with Namespace Scope
sidebar_label: Namespace Scope sidebar_label: Namespace Scope
--- ---
## Coming soon Multiple external [ChaosAgents](../getting-started/chaosagents.md) can be connected to application namespace/s with the help of the command line utility [litmusctl](installation).
There can be one or more than one ChaosAgent in a cluster connected to different namespaces of the same cluster.
The following steps will help you connect your ChaosAgents via litmusctl
```bash
litmusctl agent connect
```
Next, you need to enter ChaosCenter details to login into your ChaosCenter account. Fields to be filled in:
**ChaosCenter URL:** Enter the URL used to access the ChaosCenter.
> Example, http://172.17.0.2:31696/
**Username:** Enter your LitmusPortal username. <br />
**Password:** Enter your LitmusPortal password.
```bash
🔥 Connecting LitmusChaos agent
📶 Please enter LitmusChaos details --
👉 Host URL where litmus is installed: http://172.17.0.2:31696/
🤔 Username [admin]: admin
🙈 Password:
✅ Login Successful!
```
Upon successful login, there will be a list of existing projects displayed on the terminal. Select the desired project by entering the sequence number indicated against it.
```bash
✨ Projects List:
1. MyFirstProject
2. MySecondProject
🔎 Select Project: 1
```
Next, select the installation mode as Namespace by entering the sequence number indicated against it. There will be a prerequisites check to verify Role and RoleBinding post selection.
```shell
🔌 Installation Modes:
1. Cluster
2. Namespace
👉 Select Mode [cluster]: 2
🏃 Running prerequisites check....
🔑 role - ✅
🔑 rolebinding - ✅
🌟 Sufficient permissions. Connecting Agent
```
Next, enter the details of the new agent.
Fields to be filled in <br />
| Platforms | Download Link |
| -------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Agent Name:** | Enter the name for the new agent. |
| **Agent Description:** | Fill in details about the agent. |
| **Platform Name:** | Enter the platform name on which this agent is hosted. For example, AWS, GCP, Rancher etc. |
| **Enter the namespace:** | You can either enter an existing namespace (where your application is running) or create a new namespace |
| **Enter service account:** | Enter a name for your service account. |
:::note
Since Namespaced Scope ChaosAgent don't have Cluster Wide Permission therefore if you are willing to install the ChaosAgent in new namespace, the namespace won't be automatically created
If you install the Namespaced Scope ChaosAgent in the same namespace as ChaosCenter, since the subscriber is already present in the namespace, you will see this message `🚫 Subscriber already present. Please enter a different namespace` in such cases you have to create a new namespace in the cluster to install the ChaosAgent else choose the existing namespace where your application resides _(besides the ns where ChaosCenter is present)_
:::
```shell
🔗 Enter the details of the agent ----
🤷 Agent Name: my-agent
📘 Agent Description: This is a new namespace agent.
📦 Platform List
1. AWS
2. GKE
3. Openshift
4. Rancher
5. Others
🔎 Select Platform [Others]: 5
📁 Enter the namespace (new or existing) [litmus]: litmus
🔑 Enter service account [litmus]: litmus
```
Once, all these steps are implemented you will be able to see a summary of all the entered fields.
After verification of these details, you can proceed with the connection of the agent by entering Y. The process of connection might take up to a few seconds.
```shell
📌 Summary --------------------------
Agent Name: my-agent
Agent Description: This is a new agent.
Platform Name: Others
Namespace: litmus
Service Account: litmus
Installation Mode: namespace
-------------------------------------
🤷 Do you want to continue with the above details? [Y/N]: Y
💡 Connecting agent to Litmus Portal.
🏃 Agents running!!
🚀 Agent Connection Successful!! 🎉
👉 Litmus agents can be accessed here: http://172.17.0.2:31696/targets
```
---
## **Verify the new Agent Connection**
To verify, if the connection process was successful you can view the list of connected agents from the Targets section on your ChaosCenter and ensure that the connected agent is in Active State.
## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/uIVrNH2_nVI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Learn More
- [Learn More about Litmusctl](installation)
- [Install ChaosAgents in Cluster Scope](cluster-scope-installation)
- [Setup Endpoints and Access ChaosCenter without Ingress](../user-guides/setup-without-ingress.md)
- [Setup Endpoints and Access ChaosCenter with Ingress](../user-guides/setup-with-ingress.md)

View File

@ -0,0 +1,31 @@
---
id: chaosagents-installation
title: ChaosAgents Installation
sidebar_label: ChaosAgents
---
## Prerequisites
- Before connecting a ChaosAgent to the [ChaosCenter](../getting-started/resources#chaoscenter.md), learn about what is a [ChaosAgent](../getting-started/resources#chaosagents.md) in Litmus.
- Make sure [litmusctl](../litmusctl/installation.md) is installed.
## Connecting ChaosAgents
* ### In Cluster Scope
Learn to [connect ChaosAgents with Cluster Scope access using litmuctl](../litmusctl/cluster-scope-installation.md)
* ### In Namespace Scope
Learn to [connect ChaosAgents within a Namespace Scope access using litmuctl](../litmusctl/namespace-scope-installation.md)
## Resources
<iframe width="560" height="315" src="https://www.youtube.com/embed/uIVrNH2_nVI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Learn More
- [Install ChaosCenter in Cluster Scope](chaoscenter-cluster-scope-installation)
- [Install ChaosCenter in Namespace Scope](chaoscenter-namespace-scope-installation)
- [Setup Endpoints and Access ChaosCenter without Ingress](setup-without-ingress)
- [Setup Endpoints and Access ChaosCenter with Ingress](setup-with-ingress)

View File

@ -8,7 +8,17 @@ sidebar_label: Cluster Scope
## Prerequisites ## Prerequisites
Before deploying LitmusChaos, make sure the [prerequisites](basic-requirements) are met. Before deploying LitmusChaos, make sure the following items are there
- Kubernetes 1.17 or later
- A Persistent volume of 20GB
:::note
Recommend to have a Persistent volume(PV) of 20GB, You can start with 1GB for test purposes as well. This PV is used as persistent storage to store the chaos config and chaos-metrics in the Portal. By default, litmus install would use the default storage class to allocate the PV. Provide this value
:::
- [Helm3](https://v3.helm.sh/) or [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
## Installation ## Installation
@ -34,7 +44,7 @@ helm repo list
- The litmus infra components will be placed in this namespace. - The litmus infra components will be placed in this namespace.
> The ChaosCenter can be placed in any namespace > The ChaosCenter can be placed in any namespace.
```bash ```bash
kubectl create ns <LITMUS_PORTAL_NAMESPACE> kubectl create ns <LITMUS_PORTAL_NAMESPACE>
@ -69,6 +79,8 @@ Visit https://docs.litmuschaos.io/docs/getstarted/ to find more info.
#### **Create the namespace on which you want to install Litmus ChaosCenter** #### **Create the namespace on which you want to install Litmus ChaosCenter**
> If you are installing Litmus in any other namespace apart from `litmus` namespace, make sure to change the same in the manifest too `https://litmuschaos.github.io/litmus/2.0.0-Beta/litmus-2.0.0-Beta.yaml`.
```bash ```bash
kubectl create ns <LITMUS_PORTAL_NAMESPACE> kubectl create ns <LITMUS_PORTAL_NAMESPACE>
``` ```
@ -121,7 +133,7 @@ kubectl apply -f https://litmuschaos.github.io/litmus/2.0.0-Beta/litmus-2.0.0-Be
#### **Verify Successful Registration of the Self Agent post [Account Configuration](setup-without-ingress)** #### **Verify Successful Registration of the Self Agent post [Account Configuration](setup-without-ingress)**
Once the project is created, the cluster is automatically registered as a chaos target via installation of [ChaosAgents](chaosagents). This is represented as [Self-Agent](chaosagents#types-of-chaosagents) in [ChaosCenter](chaoscenter). Once the project is created, the cluster is automatically registered as a chaos target via installation of [ChaosAgents](../getting-started/resources#chaosagents.md). This is represented as [Self-Agent](../getting-started/resources#types-of-chaosagents.md) in [ChaosCenter](../getting-started/resources#chaoscenter.md).
```bash ```bash
kubectl get pods -n litmus kubectl get pods -n litmus
@ -142,46 +154,8 @@ workflow-controller-78fc7b6c6-w82m7 1/1 Running 0 5m32s
## Resources ## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/rOrKegj5ePI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/rOrKegj5ePI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
#### Blogs
<table>
<tr>
<td>
<a href="https://dev.to/litmus-chaos/getting-started-with-litmus-2-0-in-google-kubernetes-engine-4obf">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--zqwPPulX--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vklusi3v61g28ospmpck.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with Litmus 2.0 in Google Kubernetes Engine
</div>
</a>
</td>
<td>
<a href="https://dev.to/avaakash/getting-started-with-litmus-2-0-in-azure-kubernetes-service-13f3">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--2AubMs-V--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8c9oa4s10q3zbj9ew7eu.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with LitmusChaos 2.0 in Azure Kubernetes Service
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://blog.mayadata.io/get-started-with-litmuschaos-in-minutes">
<img width={300} src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fmma.prnewswire.com%2Fmedia%2F736824%2FMayaData_Logo.jpg%3Fp%3Dtwitter&f=1&nofb=1" />
<br />
<div style={{width: "300px"}}>
Get Started with LitmusChaos in Minutes
</div>
</a>
</td>
</tr>
</table>
## Learn More ## Learn More
- [Install ChaosCenter in Namespace Scope](chaoscenter-namespace-scope-installation) - [Install ChaosCenter in Namespace Scope](chaoscenter-namespace-scope-installation)

View File

@ -8,7 +8,17 @@ sidebar_label: Namespace Scope
## Prerequisites ## Prerequisites
Before deploying LitmusChaos, make sure the [prerequisites](basic-requirements) are met. Before deploying LitmusChaos, make sure the following items are there
- Kubernetes 1.17 or later
- A Persistent volume of 20GB
:::note
Recommend to have a Persistent volume(PV) of 20GB, You can start with 1GB for test purposes as well. This PV is used as persistent storage to store the chaos config and chaos-metrics in the Portal. By default, litmus install would use the default storage class to allocate the PV. Provide this value
:::
- [Helm3](https://v3.helm.sh/) or [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
## Installation ## Installation
@ -194,7 +204,7 @@ service/mongo-service created
#### **Verify Successful Registration of the Self Agent post [Account Configuration](setup-without-ingress)** #### **Verify Successful Registration of the Self Agent post [Account Configuration](setup-without-ingress)**
Once the project is created, the cluster is automatically registered as a chaos target via installation of [ChaosAgents](chaosagents). This is represented as [Self-Agent](chaosagents#types-of-chaosagents) in [ChaosCenter](chaoscenter). Once the project is created, the cluster is automatically registered as a chaos target via installation of [ChaosAgents](../getting-started/resources#chaosagents.md). This is represented as [Self-Agent](../getting-started/resources#types-of-chaosagents.md) in [ChaosCenter](../getting-started/resources#chaosagents.md).
```bash ```bash
kubectl get pods -n litmus kubectl get pods -n litmus
@ -215,46 +225,8 @@ workflow-controller-78fc7b6c6-w82m7 1/1 Running 0 5m32s
## Resources ## Resources
#### Videos
<iframe width="560" height="315" src="https://www.youtube.com/embed/rOrKegj5ePI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/rOrKegj5ePI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
#### Blogs
<table>
<tr>
<td>
<a href="https://dev.to/litmus-chaos/getting-started-with-litmus-2-0-in-google-kubernetes-engine-4obf">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--zqwPPulX--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vklusi3v61g28ospmpck.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with Litmus 2.0 in Google Kubernetes Engine
</div>
</a>
</td>
<td>
<a href="https://dev.to/avaakash/getting-started-with-litmus-2-0-in-azure-kubernetes-service-13f3">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--2AubMs-V--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8c9oa4s10q3zbj9ew7eu.png" />
<br />
<div style={{width: "300px"}}>
Getting Started with LitmusChaos 2.0 in Azure Kubernetes Service
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://blog.mayadata.io/get-started-with-litmuschaos-in-minutes">
<img width={300} src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fmma.prnewswire.com%2Fmedia%2F736824%2FMayaData_Logo.jpg%3Fp%3Dtwitter&f=1&nofb=1" />
<br />
<div style={{width: "300px"}}>
Get Started with LitmusChaos in Minutes
</div>
</a>
</td>
</tr>
</table>
## Learn More ## Learn More
- [Install ChaosCenter in Cluster Scope](chaoscenter-cluster-scope-installation) - [Install ChaosCenter in Cluster Scope](chaoscenter-cluster-scope-installation)

View File

@ -1,7 +0,0 @@
---
id: introduction
title: User Guides
sidebar_label: Introduction
---
## Coming soon

View File

@ -0,0 +1,7 @@
---
id: overview
title: Overview
sidebar_label: Overview
---
## Coming soon

View File

@ -8,7 +8,7 @@ sidebar_label: Setup With Ingress
## Prerequisites ## Prerequisites
Before setting up endpoint with Ingress make sure the [Litmus ChaosCenter](chaoscenter) is installed in either one of these scopes Before setting up endpoint with Ingress make sure the [Litmus ChaosCenter](../getting-started/resources#chaoscenter.md) is installed in either one of these scopes
- [Cluster Scope](chaoscenter-cluster-scope-installation) - [Cluster Scope](chaoscenter-cluster-scope-installation)
- [Namespace Scope](chaoscenter-namespace-scope-installation) - [Namespace Scope](chaoscenter-namespace-scope-installation)
@ -129,31 +129,6 @@ spec:
kubectl apply -f <litmus_ingress_manifest> -n <PORTAL_NAMESPACE> kubectl apply -f <litmus_ingress_manifest> -n <PORTAL_NAMESPACE>
``` ```
## Resources
<table>
<tr>
<td>
<a href="https://dev.to/hjgraca/aks-ingress-with-nginx-and-key-vault-certificates-2kma">
<img width={300} src="https://res.cloudinary.com/practicaldev/image/fetch/s--RyQOqlJg--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/i/o13zbbtdr3nen2ikv734.jpg" />
<br />
<div style={{width: "300px"}}>
AKS ingress with nginx and Key Vault certificates
</div>
</a>
</td>
<td>
<a href="https://kubernetes.io/docs/concepts/services-networking/ingress/">
<img width={300} src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.mirantis.com%2Fwp-content%2Fuploads%2F2018%2F03%2Ffirst-beta-version-of-kubernetes-1-10-is-here-your-chance-to-provide-feedback.jpg&f=1&nofb=1" />
<br />
<div style={{width: "300px"}}>
Ingress
</div>
</a>
</td>
</tr>
</table>
## Learn More ## Learn More
- [Setup Endpoints and Access ChaosCenter without Ingress](setup-without-ingress) - [Setup Endpoints and Access ChaosCenter without Ingress](setup-without-ingress)

View File

@ -6,7 +6,7 @@ sidebar_label: Setup without Ingress
## Prerequisites ## Prerequisites
Before setting up endpoint with Ingress make sure the [Litmus ChaosCenter](chaoscenter) is installed in either one of these scopes Before setting up endpoint with Ingress make sure the [Litmus ChaosCenter](../getting-started/resources#chaoscenter.md) is installed in either one of these scopes
- [Cluster Scope](chaoscenter-cluster-scope-installation) - [Cluster Scope](chaoscenter-cluster-scope-installation)
- [Namespace Scope](chaoscenter-namespace-scope-installation) - [Namespace Scope](chaoscenter-namespace-scope-installation)
@ -72,42 +72,6 @@ By default you are assigned with a default project with Owner permissions.
<img src={require('../assets/landing-page.png').default} width="800" /> <img src={require('../assets/landing-page.png').default} width="800" />
## Resources
<table>
<tr>
<td>
<a href="https://kubernetes.io/docs/concepts/services-networking/service/#nodeport">
<img width={300} src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.mirantis.com%2Fwp-content%2Fuploads%2F2018%2F03%2Ffirst-beta-version-of-kubernetes-1-10-is-here-your-chance-to-provide-feedback.jpg&f=1&nofb=1" />
<br />
<div style={{width: "300px"}}>
NodePort
</div>
</a>
</td>
<td>
<a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer">
<img width={300} src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.mirantis.com%2Fwp-content%2Fuploads%2F2018%2F03%2Ffirst-beta-version-of-kubernetes-1-10-is-here-your-chance-to-provide-feedback.jpg&f=1&nofb=1" />
<br />
<div style={{width: "300px"}}>
LoadBalancer
</div>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://kubernetes.io/docs/concepts/services-networking/ingress/">
<img width={300} src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.mirantis.com%2Fwp-content%2Fuploads%2F2018%2F03%2Ffirst-beta-version-of-kubernetes-1-10-is-here-your-chance-to-provide-feedback.jpg&f=1&nofb=1" />
<br />
<div style={{width: "300px"}}>
Ingress
</div>
</a>
</td>
</tr>
</table>
## Learn More ## Learn More
- [Setup Endpoints and Access ChaosCenter with Ingress](setup-with-ingress) - [Setup Endpoints and Access ChaosCenter with Ingress](setup-with-ingress)

View File

@ -42,7 +42,7 @@ module.exports = {
tagline: 'A website for testing', tagline: 'A website for testing',
url: 'https://litmusdocs.netlify.app', url: 'https://litmusdocs.netlify.app',
baseUrl: '/', baseUrl: '/',
onBrokenLinks: 'throw', onBrokenLinks: 'warn',
favicon: 'img/favicon.ico', favicon: 'img/favicon.ico',
organizationName: 'litmuschaos', organizationName: 'litmuschaos',
projectName: 'litmus', projectName: 'litmus',

View File

@ -15,41 +15,16 @@ module.exports = {
// Getting Started // Getting Started
{ {
'Getting Started': [ 'Getting Started': [
{ 'getting-started/resources',
Prerequisites: [ 'getting-started/installation',
'getting-started/basic-requirements', 'getting-started/run-your-first-workflow'
{
Resources: ['getting-started/chaoscenter', 'getting-started/chaosagents']
}
]
},
{
Installation: [
{
ChaosCenter: [
'getting-started/chaoscenter-cluster-scope-installation',
'getting-started/chaoscenter-namespace-scope-installation',
'getting-started/setup-without-ingress',
'getting-started/setup-with-ingress'
]
},
{
ChaosAgents: [
'getting-started/chaosagents-cluster-scope-installation',
'getting-started/chaosagents-namespace-scope-installation'
]
}
]
},
'getting-started/run-your-first-workflow',
'getting-started/learning-litmus'
] ]
}, },
// Concepts // Concepts
{ {
Concepts: [ Concepts: [
'concepts/introduction', 'concepts/overview',
'concepts/litmus', 'concepts/litmus',
'concepts/experiment', 'concepts/experiment',
'concepts/probes', 'concepts/probes',
@ -74,7 +49,20 @@ module.exports = {
// User Guides // User Guides
{ {
'User Guides': [ 'User Guides': [
'user-guides/introduction', 'user-guides/overview',
{
'Advance Installation': [
{
ChaosCenter: [
'user-guides/chaoscenter-cluster-scope-installation',
'user-guides/chaoscenter-namespace-scope-installation',
'user-guides/setup-without-ingress',
'user-guides/setup-with-ingress'
]
},
'user-guides/chaosagents-installation',
]
},
{ {
'Running Litmus': ['user-guides/air-gapped'] 'Running Litmus': ['user-guides/air-gapped']
}, },