Skip to content

Commit c1f5d08

Browse files
Merge pull request openshift-service-mesh#137 from openshift-service-mesh-bot/none-main-merge_upstream_main-38a843ce
Automator: merge upstream changes to openshift-service-mesh/sail-operator@main
2 parents 244c263 + 19c0f50 commit c1f5d08

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

docs/README.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929
- [Generate traffic and visualize your mesh](#generate-traffic-and-visualize-your-mesh)
3030
- [Observability Integrations](#observability-integrations)
3131
- [Scraping metrics using the OpenShift monitoring stack](#scraping-metrics-using-the-openshift-monitoring-stack)
32+
- [Configure Tracing with OpenShift distributed tracing](#configure-tracing-with-openshift-distributed-tracing)
3233
- [Integrating with Kiali](#integrating-with-kiali)
3334
- [Integrating Kiali with the OpenShift monitoring stack](#integrating-kiali-with-the-openshift-monitoring-stack)
35+
- [Integrating Kiali with OpenShift distributed tracing](#integrating-kiali-with-openshift-distributed-tracing)
3436
- [Uninstalling](#uninstalling)
3537
- [Deleting Istio](#deleting-istio)
3638
- [Deleting IstioCNI](#deleting-istiocni)
@@ -1058,6 +1060,54 @@ The easiest way to get started with production-grade metrics collection is to us
10581060

10591061
Congratulations! You should now be able to see your control plane and data plane metrics in the OpenShift Console. Just go to Observe -> Metrics and try the query `istio_requests_total`.
10601062

1063+
### Configure tracing with OpenShift distributed tracing
1064+
This section describes how to setup Istio with OpenShift Distributed Tracing to send distributed traces.
1065+
1066+
*Prerequisites*
1067+
* A Tempo stack is installed and configured
1068+
* An instance of an OpenTelemetry collector is already configured in the istio-system namespace
1069+
* An Istio instance is created with the `openshift` profile
1070+
* An Istio CNI instance is created with the `openshift` profile
1071+
1072+
*Steps*
1073+
1. Configure Istio to enable tracing and include the OpenTelemetry settings:
1074+
```yaml
1075+
meshConfig:
1076+
enableTracing: true
1077+
extensionProviders:
1078+
- name: otel-tracing
1079+
opentelemetry:
1080+
port: 4317
1081+
service: otel-collector.istio-system.svc.cluster.local
1082+
```
1083+
The *service* field is the OpenTelemetry collector service in the `istio-system` namespace.
1084+
1085+
2. Create an Istio telemetry resource to active the OpenTelemetry tracer
1086+
```yaml
1087+
apiVersion: telemetry.istio.io/v1
1088+
kind: Telemetry
1089+
metadata:
1090+
name: otel-demo
1091+
namespace: istio-system
1092+
spec:
1093+
tracing:
1094+
- providers:
1095+
- name: otel-tracing
1096+
randomSamplingPercentage: 100
1097+
```
1098+
1099+
3. Validate the integration: Generate some traffic
1100+
1101+
We can [Deploy Bookinfo](#deploy-gateway-and-bookinfo) and generate some traffic.
1102+
1103+
4. Validate the integration: See the traces in the UI
1104+
1105+
```sh
1106+
kubectl get routes -n tempo tempo-sample-query-frontend-tempo
1107+
```
1108+
1109+
If you [configure Kiali with OpenShift distributed tracing](#integrating-kiali-with-openshift-distributed-tracing) you can verify from there.
1110+
10611111
### Integrating with Kiali
10621112
Integration with Kiali really depends on how you collect your metrics and traces. Note that Kiali is a separate project which for the purpose of this document we'll expect is installed using the Kiali operator. The steps here are not specific to Sail Operator, but describe how to configure Kiali for use with Istio in general.
10631113

@@ -1115,6 +1165,37 @@ If you followed [Scraping metrics using the OpenShift monitoring stack](#scrapin
11151165
enabled: true
11161166
url: https://thanos-querier.openshift-monitoring.svc.cluster.local:9091
11171167
```
1168+
#### Integrating Kiali with OpenShift Distributed Tracing
1169+
This section describes how to setup Kiali with OpenShift Distributed Tracing to read the distributed traces.
1170+
1171+
*Prerequisites*
1172+
* Istio tracing is [Configured with OpenShift distributed tracing](#configure-tracing-with-openshift-distributed-tracing)
1173+
1174+
*Steps*
1175+
1. Setup Kiali to access traces from the Tempo frontend:
1176+
```yaml
1177+
external_services:
1178+
grafana:
1179+
enabled: true
1180+
url: "http://grafana-istio-system.apps-crc.testing/"
1181+
tracing:
1182+
enabled: true
1183+
provider: tempo
1184+
use_grpc: false
1185+
in_cluster_url: http://tempo-sample-query-frontend.tempo:3200
1186+
url: 'https://tempo-sample-query-frontend-tempo.apps-crc.testing'
1187+
tempo_config:
1188+
org_id: "1"
1189+
datasource_uid: "a8d2ef1c-d31c-4de5-a90b-e7bc5252cd00"
1190+
```
1191+
1192+
Where:
1193+
* `external_services.grafana` section: Is just needed to see the "View in Tracing" link from the Traces tab
1194+
* `external_services.tracing.tempo_config`: Is just needed to see the "View in Tracing" link from the Traces tab and redirect to the proper Tempo datasource
1195+
1196+
Now, we should be able to see traces from Kiali. For this, you can:
1197+
1. Select a Workload/Service/App
1198+
2. Click in the "Traces" tab
11181199

11191200
## Uninstalling
11201201

0 commit comments

Comments
 (0)