From 0926fbf55ad7c454f1744df343e2079a03a4386e Mon Sep 17 00:00:00 2001 From: SmritiSatya Date: Mon, 29 Jul 2024 11:43:51 +0530 Subject: [PATCH] Edit content Edit content Signed-off-by: SmritiSatya --- .../getting-started/installation.md | 118 ++++++++++-------- .../getting-started/resources.md | 18 +-- 2 files changed, 72 insertions(+), 64 deletions(-) diff --git a/website/versioned_docs/version-3.9.1/getting-started/installation.md b/website/versioned_docs/version-3.9.1/getting-started/installation.md index 4216a487..d5000fe9 100644 --- a/website/versioned_docs/version-3.9.1/getting-started/installation.md +++ b/website/versioned_docs/version-3.9.1/getting-started/installation.md @@ -9,41 +9,33 @@ sidebar_label: Installation ## Prerequisites - Kubernetes 1.17 or later +- A persistent volume of 20GB +- [Helm3](https://v3.helm.sh/) or [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) -- 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 +:::tip +Litmus recommends you have a persistent volume (PV) of 20GB. You can start with 1GB for test purposes. This PV is used as persistent storage to store the chaos configuration and other chaos metrics in the portal. By default, the `litmus install` command uses the default storage class to allocate the PV. ::: -- [Helm3](https://v3.helm.sh/) or [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) - ## Installation -Users looking to use Litmus for the first time have two options available to them today. One way is to use a hosted Litmus service like [Harness Chaos Engineering SaaS](https://app.harness.io/auth/#/signin). Alternatively, users looking for some more flexibility can install Litmus into their own Kubernetes cluster. +If you are a first time Litmus user, you can install Litmus in two ways: -Users choosing the self-hosted option can refer to our Install and Configure docs for installing alternate versions and more detailed instructions. +- Use a hosted Litmus service like [Harness Chaos Engineering SaaS](https://app.harness.io/auth/#/signin). Go to [install hosted service] to know more. -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +**OR** - - - Installation of Self-Hosted Litmus can be done using either of the below methods: -
  • Helm3 chart
  • -
  • Kubectl yaml spec file
  • -
    - Refer to the below details for Self-Hosted Litmus installation. -
    - - Harness offers a free service for community members which makes getting started with Litmus easy. Create an account to get started. Once logged in, create a new hosted control plane and connect to it via the up CLI. Litmus can be used as a hosted cloud service using Harness Chaos Engineering SaaS. Harness Chaos Engineering SaaS executes your Chaos Experiments in the cloud by managing all your Chaos Control Plane components, while the Chaos Execution Plane components exist on your Kubernetes cluster as part of an external chaos infrastructure. -

    - To get started with Harness Chaos Engineering SaaS, visit Harness Chaos Engineering SaaS and register for free. You can skip the below installation steps. -
    -
    +- Install Litmus in your Kubernetes cluster. Go to [self-hosted service] to know more. -:::note -With 3.9.0 release, Cluster scope installation is deprecated. Now Namespaced mode is the only supported and standard installation mode. +If you wish to install Litmus in your Kubernetes cluster (that is, self-hosted), Install and Configure docs for installing alternate versions and more detailed instructions. + +## Self-hosted service + +You can install self-hosted Litmus in two ways: +- Using [Helm](#install-litmus-using-helm). +- Using [kubectl YAML spec file](#install-litmus-using-kubectl). + +:::tip +With the 3.9.0 release, cluster scope installation has been deprecated. Only namespaced scope is supported and is the standard installation mode. ::: ### Install Litmus using Helm @@ -52,30 +44,37 @@ The helm chart will install all the required service account configuration and C The following steps will help you install Litmus ChaosCenter via helm. -#### Step-1: Add the litmus helm repository +#### 1. Add the Litmus Helm repository + +Execute the below commands on your terminal. ```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 +#### 2. Create the namespace where you want to install Litmus ChaosCenter -- The ChaosCenter can be placed in any namespace, but for this scenario we are choose `litmus` as the namespace. +You can place ChaosCenter in any namespace, but for this case, choose `litmus` as the namespace. ```bash kubectl create ns litmus ``` -#### Step-3: Install Litmus ChaosCenter +#### 3. Install Litmus ChaosCenter + +Execute the below command on your terminal. ```bash helm install chaos litmuschaos/litmus --namespace=litmus --set portal.frontend.service.type=NodePort ``` -> **Note:** If your Kubernetes cluster isn't local, you may want not to expose Litmus via `NodePort`. If so, remove `--set portal.frontend.service.type=NodePort` option. To connect to Litmus UI from your laptop, you can use `port-forward svc/chaos-litmus-frontend-service 9091:9091`. Then you can use your browser and open `127.0.0.1:9091`. +:::info note +- your Kubernetes cluster isn't local, you may want not to expose Litmus via `NodePort`. In that case, remove `--set portal.frontend.service.type=NodePort` option. +- To connect to Litmus UI from your laptop, you can use `port-forward svc/chaos-litmus-frontend-service 9091:9091`. And open `127.0.0.1:9091` on your browser. +::: -- Litmus helm chart depends on `bitnami/mongodb` [helm chart](https://github.com/bitnami/charts/tree/main/bitnami/mongodb), which uses a mongodb image not supported on ARM. If you want to install Litmus on an ARM-based server, please replace the default one with your custom mongodb arm image as shown below. +Litmus helm chart depends on `bitnami/mongodb` [Helm chart](https://github.com/bitnami/charts/tree/main/bitnami/mongodb), which uses a MongoDB image that is not supported on ARM. If you want to install Litmus on an ARM-based server, replace the default with your custom MongoDB ARM image as shown below. ```bash helm install chaos litmuschaos/litmus --namespace=litmus \ @@ -102,19 +101,21 @@ Your release is named chaos and its installed to namespace: litmus. Visit https://docs.litmuschaos.io 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. +:::tip +Litmus uses Kubernetes CRDs to define the chaos intent. Helm3 handles CRDs better than Helm2. Before you run a chaos experiment, verify if Litmus is installed correctly. +::: -## **Install Litmus using kubectl** +### Install Litmus using kubectl -In this method the users need to install mongo first via helm and then apply the installation manifest. Follow the instructions [here](https://github.com/litmuschaos/litmus/tree/master/chaoscenter#installation-steps-for-litmus-300-beta9). +You need to install Mongo via helm and apply the installation manifest. Go to [installation instructions for Litmus Beta](https://github.com/litmuschaos/litmus/tree/master/chaoscenter#installation-steps-for-litmus-300-beta9). -### **Install mongo** +#### Install Mongo ```bash helm repo add bitnami https://charts.bitnami.com/bitnami ``` -Mongo Values +Mongo values ```bash auth: @@ -146,26 +147,31 @@ metrics: helm install my-release bitnami/mongodb --values mongo-values.yml -n --create-namespace ``` -Litmus supports for HTTP and HTTPS mode of installation. +Litmus supports HTTP and HTTPS mode of installation. -### Basic installation (HTTP based and allows all origins) +### Basic installation (HTTP-based and allows all origins) -Applying the manifest file will install all the required service account configuration and ChaosCenter in namespaced scope. +Applying the manifest file installs all the required service account configuration and ChaosCenter in the namespaced scope. ```bash kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.9.1/litmus-getting-started.yaml -n ``` -### Advanced installation (HTTPS based and CORS rules apply) +### Advanced installation (HTTPS-based and CORS rules apply) -For advanced installation visit [here](../user-guides/chaoscenter-advanced-installation.md) +For advanced installation visit [advanced installation](../user-guides/chaoscenter-advanced-installation.md) ---- +## Hosted (beta) service + +[Harness](https://harness.io/) offers a free service for community members which makes getting started with Litmus easy. Create an account to get started. Once you log in, create a new hosted control plane and connect to it via the CLI. + +You can use Litmus as a hosted cloud service using [Harness Chaos Engineering SaaS](https://app.harness.io/auth/#/signin). Harness Chaos Engineering SaaS executes your chaos experiments in the cloud by managing all your chaos control plane components. The chaos execution plane components exist on your Kubernetes cluster as part of an external chaos infrastructure. -## **Verify your installation** +To get started with Harness Chaos Engineering SaaS, go to [Harness developer hub](https://developer.harness.io/docs/chaos-engineering/get-started/learn-more-free-plan) and register for free. -#### **Verify if the frontend, server, and database pods are running** +## Verify your installation +- Verify if the frontend, server, and database pods are running - Check the pods in the namespace where you installed Litmus: ```bash @@ -205,11 +211,9 @@ For advanced installation visit [here](../user-guides/chaoscenter-advanced-insta workflow-controller-metrics ClusterIP 10.68.33.65 9090/TCP 23h ``` ---- - -## **Accessing the ChaosCenter** +## Access the ChaosCenter -To setup and login to ChaosCenter expand the available services just created and copy the `PORT` of the `litmusportal-frontend-service` service +To setup and login to ChaosCenter, expand the available services you created and copy the `PORT` of the `litmusportal-frontend-service` service. ```bash kubectl get svc -n litmus @@ -226,9 +230,11 @@ mongo-service ClusterIP 10.43.227.10 2701 mongo-headless-service ClusterIP None 27017/TCP 101s ``` -> **Note**: In this case, the PORT for `litmusportal-frontend-service` is `31846`. Yours will be different. +:::note +In this case, the PORT for `litmusportal-frontend-service` is `31846`. Your port will be a different one. +::: -Once you have the PORT copied in your clipboard, simply use your IP and PORT in this manner `:` to access the Litmus ChaosCenter. +Once you copy the PORT to your clipboard, use your IP and PORT in the following manner: `:` to access the Litmus ChaosCenter. For example: @@ -236,11 +242,13 @@ For example: http://172.17.0.3:31846/ ``` -> Where `172.17.0.3` is my NodeIP and `31846` is the frontend service PORT. If using a LoadBalancer, the only change would be to provide a `:`. [Learn more about how to access ChaosCenter with LoadBalancer](../user-guides/setup-without-ingress.md#with-loadbalancer) +> Where `172.17.0.3` is your NodeIP and `31846` is the frontend service PORT. If you are using a LoadBalancer, provide a `:`. [Learn more about how to access ChaosCenter with LoadBalancer](../user-guides/setup-without-ingress.md#with-loadbalancer) -**NOTE:** With advanced installation CORS rules are applied, once manifest is applied frontend loadbalancer IP needs to be added in the `ALLOWED_ORIGINS` environment in both auth and graphql server deployment. +:::info note +With advanced installation, CORS rules are applied. Once the manifest is applied, the frontend LoadBalancer IP needs to be added to the `ALLOWED_ORIGINS` environment in both `auth` and `graphql` server deployment. +::: -You should be able to see the Login Page of Litmus ChaosCenter. The **default credentials** are +You will see the login page of Litmus ChaosCenter. The **default credentials** are: ```yaml Username: admin @@ -249,7 +257,7 @@ Password: litmus -By default you are assigned with a default project with Owner permissions. +By default, you are assigned to a default project with **owner** permissions. diff --git a/website/versioned_docs/version-3.9.1/getting-started/resources.md b/website/versioned_docs/version-3.9.1/getting-started/resources.md index 4a686853..f9f07675 100644 --- a/website/versioned_docs/version-3.9.1/getting-started/resources.md +++ b/website/versioned_docs/version-3.9.1/getting-started/resources.md @@ -7,11 +7,11 @@ sidebar_label: Resources --- ## ChaosCenter -ChaosCenter is a unified pane that controls all the functions provided by Litmus. It can be used for managing the entire lifecycle of the chaos experiments, including all the components within. +ChaosCenter is a unified pane that controls all the functions Litmus provides. You can use ChaosCenter to manage the entire lifecycle of the chaos experiments, including the components within. -ChaosCenter comes pre-packaged as a part of LitmusChaos installation and can be easily accessed via [Ingress](../user-guides/setup-with-ingress.md), [NodePort](../user-guides/setup-without-ingress.md#with-nodeport) or [LoadBalancer](../user-guides/setup-without-ingress.md#with-loadbalancer). 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 you can easily access it via [ingress](../user-guides/setup-with-ingress.md), [NodePort](../user-guides/setup-without-ingress.md#with-nodeport) or [LoadBalancer](../user-guides/setup-without-ingress.md#with-loadbalancer). Since Litmus has cross-cloud support, you get seamless access to the ChaosCenter regardless of where you deploy it. -ChaosCenter gives you access to a plethora of features, the major ones include: +ChaosCenter gives you a plethora of features, that include: - **Chaos experiment creation** - From templates, custom experiments from scratch (using ChaosHubs), from pre-created YAMLs @@ -27,13 +27,13 @@ ChaosCenter gives you access to a plethora of features, the major ones include: - Allowing image addition from custom image server (both public and private) - Measure and analyze the Resilience Score of each chaos scenario -## Chaos Infrastructures -Chaos infrastructure is a service that runs in your target environment and aids Litmus in accessing and injecting chaos to your target environment. There should always be at least one or more than one chaos infrastructure connected to the ChaosCenter to execute an experiment. +## Chaos Infrastructure +Chaos infrastructure is a service that runs in your target environment and aids Litmus in accessing and injecting chaos into your target environment. To execute an experiment, you need at least one chaos infrastructure connected to the ChaosCenter. -## Types of Chaos Infrastructures +## Types of Chaos Infrastructure -In Litmus, chaos infrastructures can be classified into two types: +In Litmus, you can classify chaos infrastructure into two types: -- **Self Chaos Infrastructures:** A Chaos Infrastructure that is connected to the same cluster and namespace where the ChaosCenter is deployed. It can be used to target the workloads executing on that cluster only. +- **Self chaos infrastructure:** A chaos infrastructure that is connected to the same cluster and namespace where the ChaosCenter is deployed. You can use this to target the workloads executing on that cluster only. -- **External Chaos Infrastructures:** A Chaos Infrastructure that is connected to a remote Kubernetes cluster. ChaosCenter can be operated in a cross-cloud manner, which allows connecting multiple External Chaos Infrastructure to the same ChaosCenter with the help of the [litmusctl](../litmusctl/installation.md) CLI. Once connected you can manage, monitor, observe and induce chaos from the ChaosCenter to the respective External Chaos Infrastructures. +- **External chaos infrastructure:** A chaos infrastructure connected to a remote Kubernetes cluster. You can operate ChaosCenter in a cross-cloud manner, connecting multiple external chaos infrastructures to the same ChaosCenter with the help of the [litmusctl](../litmusctl/installation.md) CLI. Once connected you can manage, monitor, observe, and induce chaos from the ChaosCenter to the respective external chaos infrastructures.