Skip to content

Commit eca09b5

Browse files
authored
Merge pull request #75761 from max-cx/OBSDOCS-873
OBSDOCS-873/TRACING-3799: Documentation for the Tempo monolithic CRD
2 parents c552e5c + b02209d commit eca09b5

10 files changed

+589
-264
lines changed

modules/distr-tracing-tempo-config-default.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[id="distr-tracing-tempo-config-default_{context}"]
77
= Default configuration options
88

9-
The Tempo custom resource (CR) defines the architecture and settings to be used when creating the {TempoShortName} resources. You can modify these parameters to customize your {TempoShortName} implementation to your business needs.
9+
The `TempoStack` custom resource (CR) defines the architecture and settings to be used when creating the {TempoShortName} resources. You can modify these parameters to customize your {TempoShortName} implementation to your business needs.
1010

1111
.Example of a generic Tempo YAML file
1212
[source,yaml]
Lines changed: 9 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// Module included in the following assemblies:
22
//
3-
//* observability/distr_tracing/distr_tracing_tempo/distr-tracing-tempo-installing.adoc
3+
// * observability/distr_tracing/distr_tracing_tempo/distr-tracing-tempo-installing.adoc
44

55
:_mod-docs-content-type: PROCEDURE
66
[id="distr-tracing-tempo-install-cli_{context}"]
7-
= Installing by using the CLI
7+
= Installing the {TempoOperator} by using the CLI
88

9-
You can install the {TempoShortName} from the command line.
9+
You can install the {TempoOperator} from the command line.
1010

1111
.Prerequisites
1212

@@ -24,7 +24,7 @@ $ oc login --username=<your_username>
2424
----
2525
====
2626
27-
* You have completed setting up the required object storage by a supported provider: link:https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation[Red Hat OpenShift Data Foundation], link:https://min.io/[MinIO], link:https://aws.amazon.com/s3/[Amazon S3], link:https://azure.microsoft.com/en-us/products/storage/blobs/[Azure Blob Storage], link:https://cloud.google.com/storage/[Google Cloud Storage]. For more information, see "Object storage setup".
27+
* You have completed setting up the required object storage by a supported provider: link:https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation[{odf-full}], link:https://min.io/[MinIO], link:https://aws.amazon.com/s3/[Amazon S3], link:https://azure.microsoft.com/en-us/products/storage/blobs/[Azure Blob Storage], link:https://cloud.google.com/storage/[Google Cloud Storage]. For more information, see "Object storage setup".
2828
+
2929
[WARNING]
3030
====
@@ -33,9 +33,7 @@ Object storage is required and not included with the {TempoShortName}. You must
3333
3434
.Procedure
3535

36-
. Install the {TempoOperator}:
37-
38-
.. Create a project for the {TempoOperator} by running the following command:
36+
. Create a project for the {TempoOperator} by running the following command:
3937
+
4038
[source,terminal]
4139
----
@@ -50,7 +48,7 @@ metadata:
5048
EOF
5149
----
5250

53-
.. Create an Operator group by running the following command:
51+
. Create an Operator group by running the following command:
5452
+
5553
[source,terminal]
5654
----
@@ -65,7 +63,7 @@ spec:
6563
EOF
6664
----
6765

68-
.. Create a subscription by running the following command:
66+
. Create a subscription by running the following command:
6967
+
7068
[source,terminal]
7169
----
@@ -84,144 +82,11 @@ spec:
8482
EOF
8583
----
8684

87-
.. Check the Operator status by running the following command:
88-
+
89-
[source,terminal]
90-
----
91-
$ oc get csv -n openshift-tempo-operator
92-
----
93-
94-
. Run the following command to create a project of your choice for the TempoStack instance that you will create in a subsequent step:
95-
+
96-
[source,terminal]
97-
----
98-
$ oc apply -f - << EOF
99-
apiVersion: project.openshift.io/v1
100-
kind: Project
101-
metadata:
102-
name: <project_of_tempostack_instance>
103-
EOF
104-
----
105-
106-
. In the project that you created for the TempoStack instance, create a secret for your object storage bucket by running the following command:
107-
+
108-
[source,terminal]
109-
----
110-
$ oc apply -f - << EOF
111-
<object_storage_secret>
112-
EOF
113-
----
114-
+
115-
For more information, see "Object storage setup".
116-
+
117-
--
118-
include::snippets/distr-tracing-tempo-secret-example.adoc[]
119-
--
120-
121-
. Create a TempoStack instance in the project that you created for the TempoStack instance.
122-
+
123-
[NOTE]
124-
====
125-
You can create multiple TempoStack instances in separate projects on the same cluster.
126-
====
127-
+
128-
.. Customize the `TempoStack` custom resource (CR):
129-
+
130-
[source,yaml]
131-
----
132-
apiVersion: tempo.grafana.com/v1alpha1
133-
kind: TempoStack
134-
metadata:
135-
name: sample
136-
namespace: <project_of_tempostack_instance>
137-
spec:
138-
storageSize: 1Gi
139-
storage:
140-
secret: # <1>
141-
name: <secret-name> # <2>
142-
type: <secret-provider> # <3>
143-
template:
144-
queryFrontend:
145-
jaegerQuery:
146-
enabled: true
147-
ingress:
148-
route:
149-
termination: edge
150-
type: route
151-
----
152-
<1> The secret you created in step 3.
153-
<2> The value of the `name` in the `metadata` of the secret.
154-
<3> The accepted values are `azure` for Azure Blob Storage; `gcs` for Google Cloud Storage; and `s3` for Amazon S3, MinIO, or Red Hat OpenShift Data Foundation.
155-
+
156-
.Example of a `TempoStack` CR for AWS S3 and MinIO storage
157-
[source,yaml]
158-
----
159-
apiVersion: tempo.grafana.com/v1alpha1
160-
kind: TempoStack
161-
metadata:
162-
name: simplest
163-
namespace: project_of_tempostack_instance
164-
spec:
165-
storageSize: 1Gi
166-
storage: # <1>
167-
secret:
168-
name: minio-test
169-
type: s3
170-
resources:
171-
total:
172-
limits:
173-
memory: 2Gi
174-
cpu: 2000m
175-
template:
176-
queryFrontend:
177-
jaegerQuery: # <2>
178-
enabled: true
179-
ingress:
180-
route:
181-
termination: edge
182-
type: route
183-
----
184-
<1> In this example, the object storage was set up as one of the prerequisites, and the object storage secret was created in step 3.
185-
<2> The stack deployed in this example is configured to receive Jaeger Thrift over HTTP and OpenTelemetry Protocol (OTLP), which permits visualizing the data with the Jaeger UI.
186-
187-
.. Apply the customized CR by running the following command.
188-
+
189-
[source,terminal]
190-
----
191-
$ oc apply -f - << EOF
192-
<TempoStack_custom_resource>
193-
EOF
194-
----
195-
196-
19785
.Verification
19886

199-
. Verify that the `status` of all TempoStack `components` is `Running` and the `conditions` are `type: Ready` by running the following command:
87+
* Check the Operator status by running the following command:
20088
+
20189
[source,terminal]
20290
----
203-
$ oc get tempostacks.tempo.grafana.com simplest -o yaml
204-
----
205-
206-
. Verify that all the TempoStack component pods are running by running the following command:
207-
+
208-
[source,terminal]
209-
----
210-
$ oc get pods
211-
----
212-
213-
. Access the Tempo console:
214-
215-
.. Query the route details by running the following command:
216-
+
217-
[source,terminal]
218-
----
219-
$ oc get route
91+
$ oc get csv -n openshift-tempo-operator
22092
----
221-
222-
.. Open `\https://<route_from_previous_step>` in a web browser.
223-
+
224-
[NOTE]
225-
====
226-
The Tempo console initially shows no trace data following the Tempo console installation.
227-
====
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * observability/distr_tracing/distr_tracing_tempo/distr-tracing-tempo-installing.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="distr-tracing-tempo-install-tempomonolithic-cli_{context}"]
7+
= Installing a TempoMonolithic instance by using the CLI
8+
9+
:FeatureName: The TempoMonolithic instance
10+
include::snippets/technology-preview.adoc[]
11+
12+
You can install a TempoMonolithic instance from the command line.
13+
14+
.Prerequisites
15+
16+
* An active {oc-first} session by a cluster administrator with the `cluster-admin` role.
17+
+
18+
[TIP]
19+
====
20+
* Ensure that your {oc-first} version is up to date and matches your {product-title} version.
21+
22+
* Run the `oc login` command:
23+
+
24+
[source,terminal]
25+
----
26+
$ oc login --username=<your_username>
27+
----
28+
====
29+
30+
.Procedure
31+
32+
. Run the following command to create a project of your choice for the TempoMonolithic instance that you will create in a subsequent step:
33+
+
34+
[source,terminal]
35+
----
36+
$ oc apply -f - << EOF
37+
apiVersion: project.openshift.io/v1
38+
kind: Project
39+
metadata:
40+
name: <project_of_tempomonolithic_instance>
41+
EOF
42+
----
43+
44+
. Decide which type of supported storage to use for storing traces: in-memory storage, a persistent volume, or object storage.
45+
+
46+
[IMPORTANT]
47+
====
48+
Object storage is not included with the {TempoShortName} and requires setting up an object store by a supported provider: link:https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation[{odf-full}], link:https://min.io/[MinIO], link:https://aws.amazon.com/s3/[Amazon S3], link:https://azure.microsoft.com/en-us/products/storage/blobs/[Azure Blob Storage], or link:https://cloud.google.com/storage/[Google Cloud Storage].
49+
50+
Additionally, opting for object storage requires creating a secret for your object storage bucket in the project that you created for the TempoMonolithic instance. You can do this by running the following command:
51+
52+
[source,terminal]
53+
----
54+
$ oc apply -f - << EOF
55+
<object_storage_secret>
56+
EOF
57+
----
58+
59+
For more information, see "Object storage setup".
60+
61+
--
62+
include::snippets/distr-tracing-tempo-secret-example.adoc[]
63+
--
64+
65+
====
66+
67+
. Create a TempoMonolithic instance in the project that you created for it.
68+
+
69+
[TIP]
70+
====
71+
You can create multiple TempoMonolithic instances in separate projects on the same cluster.
72+
====
73+
74+
.. Customize the `TempoMonolithic` custom resource (CR).
75+
+
76+
include::snippets/distr-tracing-tempo-tempomonolithic-custom-resource.adoc[]
77+
78+
.. Apply the customized CR by running the following command:
79+
+
80+
[source,terminal]
81+
----
82+
$ oc apply -f - << EOF
83+
<tempomonolithic_cr>
84+
EOF
85+
----
86+
87+
.Verification
88+
89+
. Verify that the `status` of all TempoMonolithic `components` is `Running` and the `conditions` are `type: Ready` by running the following command:
90+
+
91+
[source,terminal]
92+
----
93+
$ oc get tempomonolithic.tempo.grafana.com <metadata_name_of_tempomonolithic_cr> -o yaml
94+
----
95+
96+
. Run the following command to verify that the pod of the TempoMonolithic instance is running:
97+
+
98+
[source,terminal]
99+
----
100+
$ oc get pods
101+
----
102+
103+
. Access the Jaeger UI:
104+
105+
.. Query the route details for the `tempo-<metadata_name_of_tempomonolithic_cr>-jaegerui` route by running the following command:
106+
+
107+
[source,terminal]
108+
----
109+
$ oc get route
110+
----
111+
112+
.. Open `\https://<route_from_previous_step>` in a web browser.
113+
114+
. When the pod of the TempoMonolithic instance is ready, you can send traces to the `tempo-<metadata_name_of_tempomonolithic_cr>:4317` (OTLP/gRPC) and `tempo-<metadata_name_of_tempomonolithic_cr>:4318` (OTLP/HTTP) endpoints inside the cluster.
115+
+
116+
The Tempo API is available at the `tempo-<metadata_name_of_tempomonolithic_cr>:3200` endpoint inside the cluster.

0 commit comments

Comments
 (0)