This README summarizes how to use grafana tempo with Kubernetes.
Note
Please Install istio before starting work on this Document.
ex)
❯ istioctl operator init
❯ istioctl install -f sample_manifest/kubernetes/istio/istio-operator.yaml
❯ kubectl apply -f sample_manifest/kubernetes/istio/telemetry.yaml
ref: link
Note
For more information about what you can do with this KIND CLUSTER and how it works
ref: link TBU
1.1. cert-manager Install
Execute the following command
❯ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml
1.2. GrafanaTempo Operator Install
❯ kubectl apply -f https://github.com/grafana/tempo-operator/releases/latest/download/tempo-operator.yaml
1.3. MinIOInstall
Execute the following command
❯ kubectl apply -f https://raw.githubusercontent.com/grafana/tempo-operator/main/minio.yaml
Execute the following command
❯ kubectl apply -k sample_manifest/kubernetes/apm_tempo/tempo/
Step2: OpenTelemetry Controller Install
Execute the following command
❯ kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml
Execute the following command
❯ kubectl apply -f sample_manifest/kubernetes/apm_tempo/otel-controller/config.yaml
Execute the following command
❯ kubectl apply -f sample_manifest/kubernetes/kube-state-metrics/output.yaml
❯ kubectl apply -f sample_manifest/kubernetes/metric-server/components.yaml
Step4: Prometheus Operator Install
Execute the following command
❯ LATEST=$(curl -s https://api.github.com/repos/prometheus-operator/prometheus-operator/releases/latest | jq -cr .tag_name)
curl -sL https://github.com/prometheus-operator/prometheus-operator/releases/download/${LATEST}/bundle.yaml | kubectl create -f -
❯ kubectl apply -k sample_manifest/kubernetes/apm_tempo/prometheus/
Step5: Grafana Install
Execute the following command
❯ kubectl apply -k sample_manifest/kubernetes/apm_tempo/grafana
Execute the following command
❯ kubectl apply -k sample_manifest/kubernetes/apm_tempo/flexiblemockserver/
❯ curl http://localhost:8081/sleep/1 -v
* Trying [::1]:8081...
* Connected to localhost (::1) port 8081
> GET /sleep/1 HTTP/1.1
> Host: localhost:8081
> User-Agent: curl/8.4.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Werkzeug/3.0.3 Python/3.12.6
< Date: Tue, 17 Sep 2024 05:46:55 GMT
< Content-Type: application/json
< Content-Length: 35
< Connection: close
<
{"sleep_time":1,"status_code":200}
* Closing connection