Phase 3: Kubernetes

2. Deploy the Baseline

2 min

Deploy the Workshop Applications

The applications go into their own namespace:

bash
cd ~/workshop/obi/03-obi-k8s
kubectl apply -f namespace.yaml
kubectl apply -f apps.yaml
kubectl apply -f load-generator.yaml

Install the Splunk OTel Collector

The Splunk OTel Collector Helm chart is the production way to deploy the collector to Kubernetes. It handles the collector deployment, service, and configuration automatically.

Add the Helm Repository

bash
helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
helm repo update

Install the Collector

This installs the Splunk OTel Collector without OBI. We’ll enable OBI in the next step to show the before/after.

Note

The environment variables ACCESS_TOKEN, REALM, and INSTANCE are pre-configured on your workshop instance. Run env to verify they exist.
bash
helm -n obi-workshop install splunk-otel-collector \
  splunk-otel-collector-chart/splunk-otel-collector \
  --set="splunkObservability.realm=${REALM}" \
  --set="splunkObservability.accessToken=${ACCESS_TOKEN}" \
  --set="clusterName=${INSTANCE}-k8s" \
  --set="environment=${INSTANCE}-ebpf"

Verify Everything is Running

bash
kubectl get pods -n obi-workshop

Test the Application

Access the frontend via the NodePort:

bash
kubectl port-forward -n obi-workshop svc/frontend 30000:3000 &; sleep 5

Once the port is forwarded you can curl and hit the page:

bash
curl -s http://localhost:30000/create-order | jq

Confirm APM is Empty

Exercise

Check Splunk APM, filtering by environment <INSTANCE>-ebpf. You should see infrastructure metrics from the collector, but no NEW application traces yet. The services are running but uninstrumented.
Last Modified ·