* feat: add otel-demo tutorial Co-authored-by: Suhyen Im <suhyenim.kor@gmail.com> Co-authored-by: Jaeyeon Park <donionbs7@gmail.com> Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com> Signed-off-by: Jaeyeon Park <donionbs7@gmail.com> * feat: add otel-demo screenshots Co-authored-by: Suhyen Im <suhyenim.kor@gmail.com> Co-authored-by: Jaeyeon Park <donionbs7@gmail.com> Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com> Signed-off-by: Jaeyeon Park <donionbs7@gmail.com> * chore: update tutorial and architecture image Co-authored-by: Suhyen Im <suhyenim.kor@gmail.com> Co-authored-by: Jaeyeon Park <donionbs7@gmail.com> Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com> Signed-off-by: Jaeyeon Park <donionbs7@gmail.com> --------- Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com> Signed-off-by: Jaeyeon Park <donionbs7@gmail.com> Co-authored-by: Jaeyeon Park <donionbs7@gmail.com> Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com> |
||
---|---|---|
.. | ||
cart-service | ||
recommendation-service | ||
screenshots | ||
README.md | ||
chaos-exporter-dashboard.json | ||
custom_otel_demo_values.yml |
README.md
Otel-demo tutorial
This tutorial provides a step-by-step guide for injecting chaos into target applications using LitmusChaos and observing the chaos with OpenTelemetry.

0. Prerequisites
- Kubernetes 1.24+
- 8 GB of free RAM
- Helm 3.9+
1. Install Litmus
- Create the
litmus
namespace.kubectl create ns litmus
- Add the Litmus Helm repository.
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
- Install Litmus using Helm.
helm install chaos litmuschaos/litmus \ --namespace=litmus \ --set portal.frontend.service.type=NodePort \ --set mongodb.image.registry=ghcr.io/zcube \ --set mongodb.image.repository=bitnami-compat/mongodb \ --set mongodb.image.tag=6.0.5
- Verify the installation.
kubectl get all -n litmus
- Forward the Litmus frontend service port.
Access the Litmus frontend at http://localhost:9091 and log in withkubectl port-forward svc/chaos-litmus-frontend-service 9091:9091 -n litmus
admin
/litmus
.
2. Set Up Litmus Environment
- Create a new environment.
- Environment Name:
local
- Environment Type:
Production
- Environment Name:
- Configure a new chaos infrastructure.
- Name:
local
- Chaos Components Installation:
Cluster-wide access
- Installation Location (Namespace):
litmus
- Service Account Name:
litmus
- Name:
- Deploy the new chaos infrastructure.
Wait until the status showscd ~/Downloads kubectl apply -f local-litmus-chaos-enable.yml
CONNECTED
.
3. Install Otel-demo microservices & Observability tools
- Create the
otel-demo
namespace.kubectl create ns otel-demo
- Add the OpenTelemetry Helm repository.
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
- Install Otel-demo microservices and Observability tools using Helm.
It contains Otel-demo microservices, OpenTelemetry(with chaos metrics), Prometheus, Jaeger and Grafana.cd litmus/monitoring/tutorials/otel-demo helm install my-otel-demo open-telemetry/opentelemetry-demo --namespace otel-demo --values custom_otel_demo_values.yml
- Verify the installation.
kubectl get all -n otel-demo
- Forward the Otel-demo frontend proxy port.
kubectl port-forward svc/my-otel-demo-frontendproxy 8080:8080 -n otel-demo
- Access the following services.
- Web store: http://localhost:8080/
- Grafana: http://localhost:8080/grafana/
- Load Generator UI: http://localhost:8080/loadgen/
- Jaeger UI: http://localhost:8080/jaeger/ui/
4. Add Grafana Panel
Import the chaos-experiments-dashboard.json
file into Grafana to visualize the results of chaos experiments.
5. Observe chaos
Explore the following experiments to observe chaos on the Otel-demo microservices.
-
Performs a pod network latency experiment on the cart service.
-
Performs a pod delete experiment on the recommendation service.