You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
* 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".
28
28
+
29
29
[WARNING]
30
30
====
@@ -33,9 +33,7 @@ Object storage is required and not included with the {TempoShortName}. You must
33
33
34
34
.Procedure
35
35
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:
39
37
+
40
38
[source,terminal]
41
39
----
@@ -50,7 +48,7 @@ metadata:
50
48
EOF
51
49
----
52
50
53
-
.. Create an Operator group by running the following command:
51
+
. Create an Operator group by running the following command:
54
52
+
55
53
[source,terminal]
56
54
----
@@ -65,7 +63,7 @@ spec:
65
63
EOF
66
64
----
67
65
68
-
.. Create a subscription by running the following command:
66
+
. Create a subscription by running the following command:
69
67
+
70
68
[source,terminal]
71
69
----
@@ -84,144 +82,11 @@ spec:
84
82
EOF
85
83
----
86
84
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:
. 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
-
197
85
.Verification
198
86
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:
200
88
+
201
89
[source,terminal]
202
90
----
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
220
92
----
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.
= 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:
.. 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