title | sidebarTitle |
---|---|
Introduction |
Introduction |
In this tutorial we are going to use Odigos for generating distributed traces for a microservices-based application written in Go, Java, Python, .NET and Node.js.
We are going to deploy the application in a Kubernetes cluster and use Jaeger as the backend for storing and visualizing the traces.
This first step is to create a Kubernetes cluster. We recommend using kind or minikube for trying Odigos out in a local environment.
**Mac users**: please avoid using Docker Desktop built-in Kubernetes cluster as it [does not](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) support bind propagation.Create a new local Kubernetes cluster, by running the following command:
```bash kind create cluster ``` ```bash minikube start ```We are going to install a fork of microservices-demo, an example of e-commerce application created by Google. We use a modified version without any instrumentation code to demonstrate how Odigos automatically collects observability data from the application.
Deploy the application using the following command:
kubectl apply -f https://raw.githubusercontent.com/keyval-dev/microservices-demo/master/release/kubernetes-manifests.yaml
Jaeger is a popular open source distributed tracing backend. We are going to use it for storing and visualizing the traces generated by Odigos.
Install Jaeger using the following command:
kubectl create ns tracing
kubectl apply -f https://raw.githubusercontent.com/keyval-dev/opentelemetry-go-instrumentation/master/docs/getting-started/jaeger.yaml -n tracing
Before moving to the next step, make sure that the application pods and Jaeger pods are running, this may take a few minutes.