litmuschaos / litmus-helm

Helm Charts for the Litmus Chaos Operator & CRDs
Apache License 2.0
46 stars 88 forks source link
chart charts helm helm-chart helm-charts kubernetes

Litmus helm

License <litmuschaos>

Helm Charts for the Litmus ChaosCenter

Usage

PreRequisites

Installation Steps

The following steps will help you install litmus via helm.

Step-1: Add the litmus helm repository

helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/

helm repo list

Output:

NAME            URL
litmuschaos     https://litmuschaos.github.io/litmus-helm/
helm search repo litmuschaos

Output:

NAME                            CHART VERSION   APP VERSION DESCRIPTION
litmuschaos/kube-aws            1.15.0          1.13.8      A Helm chart to install litmus aws chaos experi...
litmuschaos/kubernetes-chaos    2.13.0          1.13.8      A Helm chart to install litmus chaos experiment...
litmuschaos/litmus              2.1.0           2.1.0       A Helm chart to install ChaosCenter
litmuschaos/litmus-1-x          1.16.0          1.13.8      A Helm chart to install litmus infra components...

Step-2: Create the litmus namespace

Note: The chaoscenter components can be placed in any namespace, though it is typically placed in "litmus".

kubectl create ns litmus

Step-3: Install the litmus chaos center

helm install chaos litmuschaos/litmus --namespace=litmus

## ARM support
## Litmus helm chart depends on bitnami/mongodb, which uses a mongodb image that is not build for ARM arch.
## To install Litmus on an ARM-based machine, you need to provide a custom MongoDB ARM image.
# helm install chaos litmuschaos/litmus --namespace=litmus \
# --set mongodb.image.registry=<put_registry> \
# --set mongodb.image.repository=<put_image_repository> \
# --set mongodb.image.tag=<put_image_tag>

Output:

NAME: chaos
LAST DEPLOYED: Sat Aug 14 15:47:35 2021
NAMESPACE: litmus
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing litmus 😀

Your release is named chaos and it's installed to namespace: litmus.

Visit https://docs.litmuschaos.io to find more info.

With this, you are good to go!! Use the service URLs for the litmusportal-frontend service (modify service type as needed) to access the Chaos Center. The default admin credentials are admin/litmus.

Refer to the documentation

Step-3: Uninstall the litmus chaoscenter

helm uninstall chaos --namespace=litmus

Output:

release "chaos" uninstalled

Additional Steps (Verification)

You can run the following commands if you wish to verify if all desired components are installed successfully.

root@demo:~# kubectl get pods -n litmus
NAME                                       READY   STATUS    RESTARTS   AGE
litmusportal-server-6fd57cc89-6w5pn        1/1     Running     0          57s
litmusportal-auth-server-7b596fff9-5s6g5   1/1     Running     0          57s
litmusportal-frontend-55974fcf59-cxxrf     1/1     Running     0          58s
my-release-mongodb-0                       1/1     Running     0          63s
my-release-mongodb-1                       1/1     Running     0          63s
my-release-mongodb-2                       1/1     Running     0          62s
my-release-mongodb-arbiter-0               1/1     Running     0          64s

Install External Agent

NOTE: Litmus agent helm chart support chaos-center 3.0.0-beta3 version onward

Install the external agent in namespace mode

Sample helm command to install the external agent in namespace mode

helm install litmus-agent litmuschaos/litmus-agent \
--namespace litmus --create-namespace \
--set "INFRA_NAME=helm-agent" \
--set "INFRA_DESCRIPTION=My first agent deployed with helm !" \
--set "LITMUS_URL=https://chaos-center.domain.com" \ # FOR REMOTE AGENT (INGRESS)
--set "LITMUS_URL=http://litmusportal-frontend-service.litmus.svc.cluster.local:9091" \ # FOR SELF AGENT (SVC)
--set "LITMUS_BACKEND_URL=http://litmusportal-server-service.litmus.svc.cluster.local:9002" \ # FOR SELF AGENT (SVC)
--set "LITMUS_USERNAME=admin" \
--set "LITMUS_PASSWORD=litmus" \
--set "LITMUS_PROJECT_ID=<PROJECT_ID>" \
--set "global.INFRA_MODE=namespace" \
--set "crds.create=false" \
--set "workflow-controller.crds.create=false"

Install the external agent in cluster mode

Sample helm command to install the external agent in cluster mode

helm install litmus-agent litmuschaos/litmus-agent \
--namespace litmus --create-namespace \
--set "INFRA_NAME=helm-agent" \
--set "INFRA_DESCRIPTION=My first agent deployed with helm !" \
--set "LITMUS_URL=https://chaos-center.domain.com" \ # FOR REMOTE AGENT (INGRESS)
--set "LITMUS_URL=http://litmusportal-frontend-service.litmus.svc.cluster.local:9091" \ # FOR SELF AGENT (SVC)
--set "LITMUS_BACKEND_URL=http://litmusportal-server-service.litmus.svc.cluster.local:9002" \ # FOR SELF AGENT (SVC)
--set "LITMUS_USERNAME=admin" \
--set "LITMUS_PASSWORD=litmus" \
--set "LITMUS_PROJECT_ID=<PROJECT_ID>" \
--set "global.INFRA_MODE=cluster"

Contributing

We'd love to have you contribute! Please refer to our contribution guidelines for details.

License

Apache 2.0 License.