User-defined Playground

OpenTelemetry Demo on k3s Playground

A snapshot-backed three-node k3s cluster with the complete OpenTelemetry Demo, including Jaeger and Grafana.

Startup configuration
dev-machine
cplane-01
node-01
node-02
OpenTelemetry Demo on k3s playground: A snapshot-backed three-node k3s cluster with the complete OpenTelemetry Demo, including Jaeger and Grafana.

Overview

This playground contains the upstream OpenTelemetry Demo, already deployed to a three-node k3s cluster with the official Helm chart. It includes the instrumented Astronomy Shop microservices, an OpenTelemetry Collector, Jaeger, Prometheus, Grafana, OpenSearch, and a built-in load generator.

The cluster and applications restart from the saved VM snapshot. After launching the playground, allow a minute or two for k3s and all workloads to become ready, then reload a UI tab if it opened too early.

Quick walkthrough

1. Generate and observe traffic

Open the Demo App tab and browse the store. View products, add something to the cart, and complete a test checkout. These requests cross several services and generate traces, metrics, and logs. The built-in load generator also produces continuous background traffic.

2. Inspect distributed traces

Open the Jaeger tab. Select a service such as frontend or checkout, click Find Traces, and open a result. The trace timeline shows the request crossing service boundaries; expand individual spans to inspect latency, attributes, events, and errors.

3. Explore metrics and dashboards

Open the Grafana tab and browse the preconfigured dashboards. The APM and demo dashboards show service activity, while the collector dashboard shows telemetry flowing through the OpenTelemetry Collector.

4. Inspect the cluster

Use the dev-machine terminal or the Explorer tab. Useful commands:

kubectl get nodes
kubectl get pods -n otel-demo
kubectl get svc -n otel-demo
helm status otel-demo -n otel-demo

To watch workloads recover immediately after startup:

kubectl get pods -n otel-demo -w

The deployment uses Helm release otel-demo in namespace otel-demo. The three UI tabs are routed through the frontend-proxy NodePort service on port 31486.

Start
Settings