Kubernetes Deployment
All examples are launched from the repo - clone it first or download the current GitHub release archive:
Prerequisites
1. Deploy TinyOlly Core
-
Start Minikube:
-
Build Images:
Run the build script to build the Docker images inside Minikube's Docker daemon:
-
Apply Manifests:
Apply the Kubernetes manifests to deploy the services:
-
Access the UI:
To access the TinyOlly UI (Service Type: LoadBalancer) on macOS with Minikube, you need to use
minikube tunnel.Open a new terminal window and run:
You may be asked for your password. Keep this terminal open.
Now you can access the TinyOlly UI at: http://localhost:5002
-
Send Telemetry from Host Apps:
To send telemetry from applications running on your host machine (outside Kubernetes), use
kubectl port-forwardto expose the OTel Collector ports:Open a new terminal window and run:
Keep this terminal open. Now point your application's OpenTelemetry exporter to:
- gRPC:http://localhost:4317
- HTTP:http://localhost:4318Example environment variables:
For apps running inside the Kubernetes cluster:
Use the Kubernetes service name:
- gRPC:http://otel-collector:4317
- HTTP:http://otel-collector:4318 -
Clean Up:
Use the cleanup script to remove all TinyOlly resources:
Shut down Minikube:
Minikube may be more stable if you delete it:
2. Demo Applications (Optional)
To see TinyOlly in action with instrumented microservices:
To clean up the demo:
The demo includes two microservices that automatically generate traffic, showcasing distributed tracing across service boundaries.
3. OpenTelemetry Demo (~20 Services - Optional)
To deploy the full OpenTelemetry Demo with ~20 microservices:
Prerequisites:
- TinyOlly must be deployed first (see Setup above)
- Helm installed
- Sufficient cluster resources (demo is resource-intensive)
Deploy:
This deploys all OpenTelemetry Demo services configured to send telemetry to TinyOlly's collector via HTTP on port 4318. Built-in observability tools (Jaeger, Grafana, Prometheus) are disabled.
Cleanup:
This removes the OpenTelemetry Demo but leaves TinyOlly running.