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
Copy file name to clipboardExpand all lines: modules/jaeger-deployment-best-practices.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,6 @@ This module included in the following assemblies:
12
12
13
13
* If you have a multitenant implementation and tenants are separated by namespaces, deploy a Jaeger instance to each tenant namespace.
14
14
15
-
** Jaeger agent as a sidecar is the only supported configuration. Jaeger as a daemonset is not supported for multitenant installations or OpenShift Dedicated.
15
+
** Jaeger agent as a daemonset is not supported for multitenant installations or OpenShift Dedicated. Jaeger agent as a sidecar is the only supported configuration for these use cases.
16
16
17
17
* If you are installing Jaeger as part of Red Hat OpenShift Service Mesh, Jaeger resources must be installed in the same namespace as the `ServiceMeshControlPlane` resource.
= Specifying Jaeger configuration in a Jaeger custom resource
8
+
9
+
You can fully customize your Jaeger deployment by configuring Jaeger in the Jaeger custom resource (CR) rather than in the `ServiceMeshControlPlane` (SMCP) resource. This configuration is sometimes referred to as an "external Jaeger" since the configuration is specified outside of the SMCP.
10
+
11
+
[NOTE]
12
+
====
13
+
You must deploy the SMCP and Jaeger CR in the same namespace. For example, `istio-system`.
14
+
====
15
+
16
+
You can configure and deploy a standalone Jaeger instance and then specify the `name` of the Jaeger resource as the value for `spec.addons.jaeger.name` in the SMCP resource. If a Jaeger CR matching the value of `name` exists, the control plane will use the existing installation. This approach lets you fully customize your Jaeger configuration.
You configure Jaeger under the `addons` section of `ServiceMeshControlPlane` resource.
9
+
You can configure Jaeger under the `addons` section of the `ServiceMeshControlPlane` resource. However, there are some limitations to what you can configure in the SMCP.
10
10
11
-
You can specify your Jaeger configuration in the `ServiceMeshControlPlane` resource under `spec.addons.jaeger.install`. There are some limitations with this approach. For example, you cannot configure a `streaming` deployment strategy via the control plane.
11
+
When the SMCP passes configuration information to the Jaeger Operator, it triggers one of three deployment strategies: `allInOne`, `production`, or `streaming`.
Copy file name to clipboardExpand all lines: modules/ossm-deploying-jaeger.adoc
+46-14Lines changed: 46 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,18 +5,20 @@
5
5
[id="ossm-deploying-jaeger_{context}"]
6
6
= Deploying Jaeger
7
7
8
+
Jaeger has predefined deployment strategies. You specify a deployment strategy in the Jaeger custom resource (CR) file. When you create a Jaeger instance, the Operator uses this configuration file to create the objects necessary for the deployment.
9
+
8
10
The Jaeger Operator currently supports the following deployment strategies:
9
11
10
-
* *allInOne* (Default) - This strategy is intended for development, testing, and demo purposes; it is not intended for production use. The main backend components, Agent, Collector and Query service, are all packaged into a single executable which is configured (by default) to use in-memory storage.
12
+
* *allInOne* (default) - This strategy is intended for development, testing, and demo purposes and it is not for production use. The main back-end components, Agent, Collector and Query service, are all packaged into a single executable, which is configured (by default) to use in-memory storage. You can configure this deployment strategy in the SMCP.
11
13
+
12
14
[NOTE]
13
15
====
14
-
In-memory storage is not persistent, which means that if the Jaeger instance shuts down, restarts, or is replaced, your trace data will be lost. And in-memory storage cannot be scaled, since each pod has its own memory. For persistent storage, you must use the `production` or `streaming` strategies, which use Elasticsearch as the default storage.
16
+
In-memory storage is not persistent, which means that if the Jaeger instance shuts down, restarts, or is replaced, your trace data will be lost. And in-memory storage cannot be scaled, since each pod has its own memory. For persistent storage, you must use the `production` or `streaming` strategies, which use Elasticsearch as the default storage.
15
17
====
16
18
17
-
* *production* - The production strategy is intended for production environments, where long term storage of trace data is important, as well as a more scalable and highly available architecture is required. Each of the backend components is therefore deployed separately. The Agent can be injected as a sidecar on the instrumented application. The Query and Collector services are configured with a supported storage type - currently Elasticsearch. Multiple instances of each of these components can be provisioned as required for performance and resilience purposes.
19
+
* *production* - The production strategy is intended for production environments, where long term storage of trace data is important, and a more scalable and highly available architecture is required. Each back-end component is therefore deployed separately. The Agent can be injected as a sidecar on the instrumented application. The Query and Collector services are configured with a supported storage type, which is currently Elasticsearch. Multiple instances of each of these components can be provisioned as required for performance and resilience purposes. You can configure this deployment strategy in the SMCP, but in order to be fully customized, you must specify your configuration in the Jaeger CR and link that to the SMCP.
18
20
19
-
* *streaming* - The streaming strategy is designed to augment the production strategy by providing a streaming capability that effectively sits between the Collector and the backend storage (Elasticsearch). This provides the benefit of reducing the pressure on the backend storage, under high load situations, and enables other trace post-processing capabilities to tap into the realtime span data directly from the streaming platform (https://access.redhat.com/documentation/en-us/red_hat_amq/7.6/html/using_amq_streams_on_openshift/index[AMQ Streams]/ https://kafka.apache.org/documentation/[Kafka]).
21
+
* *streaming* - The streaming strategy is designed to augment the production strategy by providing a streaming capability that sits between the Collector and the Elasticsearch back-end storage. This provides the benefit of reducing the pressure on the back-end storage, under high load situations, and enables other trace post-processing capabilities to tap into the real-time span data directly from the streaming platform (https://access.redhat.com/documentation/en-us/red_hat_amq/7.6/html/using_amq_streams_on_openshift/index[AMQ Streams]/ https://kafka.apache.org/documentation/[Kafka]). You cannot configure this deployment strategy in the SMCP; you must configure a Jaeger CR and link that to the SMCP.
20
22
21
23
[NOTE]
22
24
====
@@ -26,9 +28,9 @@ The streaming strategy requires an additional Red Hat subscription for AMQ Strea
26
28
[id="ossm-deploying-jaeger-default_{context}"]
27
29
== Default Jaeger deployment
28
30
29
-
To use the default `allInOne` Jaeger deployment strategy set `spec.addons.jaeger.install.storage.type` to `Memory`. You can accept the defaults or specify additional configuration options under `install`. If you do not specify Jaeger configuration options, the Control Plane will use the `allInOne` deployment strategy by default.
31
+
If you do not specify Jaeger configuration options, the `ServiceMeshControlPlane` resource will use the `allInOne` Jaeger deployment strategy by default. When using the default `allInOne` deployment strategy, set `spec.addons.jaeger.install.storage.type` to `Memory`. You can accept the defaults or specify additional configuration options under `install`.
To use the `production` deployment strategy, set `spec.addons.jaeger.install.storage.type` to 'Elasticsearch' and specify additional configuration options under `install`. Or you can create and configure your Jaeger instance and set `spec.addons.jaeger.name` to the name of the Jaeger instance, for example `jaeger-production`.
56
+
To use the default settings for the `production` deployment strategy, set `spec.addons.jaeger.install.storage.type` to `Elasticsearch` and specify additional configuration options under `install`. Note that the SMCP only supports configuring Elasticsearch resources and image name.
== Production Jaeger deployment (fully customized)
88
+
89
+
The SMCP supports only minimal Elasticsearch parameters. To fully customize your production environment and access all of the Elasticsearch configuration parameters, use the Jaeger custom resource (CR) to configure Jaeger.
90
+
91
+
Create and configure your Jaeger instance and set `spec.addons.jaeger.name` to the name of the Jaeger instance, in this example: `jaeger-production-cr`.
92
+
93
+
.Control plane with linked Jaeger production CR
94
+
[source,yaml]
95
+
----
96
+
apiVersion: maistra.io/v2
97
+
kind: ServiceMeshControlPlane
98
+
metadata:
99
+
name: basic
100
+
spec:
101
+
version: v2.0
102
+
tracing:
103
+
sampling: 1000
104
+
type: Jaeger
105
+
addons:
106
+
jaeger:
107
+
name: jaeger-production-cr #name of Jaeger CR
108
+
install:
109
+
storage:
110
+
type: Elasticsearch
111
+
ingress:
112
+
enabled: true
113
+
----
114
+
83
115
[id="ossm-deploying-jaeger-streaming_{context}"]
84
116
== Streaming Jaeger deployment
85
117
86
-
To use the `streaming` deployment strategy you create and configure your Jaeger instance first, then set `spec.addons.jaeger.name` to the name of the Jaeger instance, for example, `jaeger-streaming`.
118
+
To use the `streaming` deployment strategy, you create and configure your Jaeger instance first, then set `spec.addons.jaeger.name` to the name of the Jaeger instance, in this example: `jaeger-streaming-cr`.
Copy file name to clipboardExpand all lines: modules/ossm-enabling-jaeger.adoc
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
[id="ossm-enabling-tracing_{context}"]
7
7
= Enabling and disabling tracing
8
8
9
-
You enable tracing by specifying a tracing type and a sampling rate.
9
+
You enable distributed tracing by specifying a tracing type and a sampling rate in the `ServiceMeshControlPlane` resource.
10
10
11
11
.Default `all-in-one` Jaeger parameters
12
12
[source,yaml]
@@ -22,6 +22,13 @@ spec:
22
22
type: Jaeger
23
23
----
24
24
25
-
Currently the only tracing type that is supported is `Jaeger`. Jaeger is enabled by default. To disable tracing, set `type` to `None`.
25
+
Currently, the only tracing type that is supported is `Jaeger`.
26
26
27
-
The sampling rate determines how often a trace is generated. You configure `sampling` as a scaled integer representing 0.01% increments. For example, setting the value to `10` samples 0.1% of traces, setting the value to `500` samples 5% of traces, and a setting of `10000` samples 100% of traces.
27
+
Jaeger is enabled by default. To disable tracing, set `type` to `None`.
28
+
29
+
The sampling rate determines how often the Envoy proxy generates a trace. You can use the sampling rate option to control what percentage of requests get reported to your tracing system. You can configure this setting based upon your traffic in the mesh and the amount of tracing data you want to collect. You configure `sampling` as a scaled integer representing 0.01% increments. For example, setting the value to `10` samples 0.1% of traces, setting the value to `500` samples 5% of traces, and a setting of `10000` samples 100% of traces.
30
+
31
+
[NOTE]
32
+
====
33
+
The SMCP sampling configuration option controls the Envoy sampling rate. You configure the Jaeger trace sampling rate in the Jaeger custom resource.
When the {ProductShortName} Operator deploys the `ServiceMeshControlPlane` resource, it can also create the resources for distributed tracing. {ProductShortName} uses Jaeger for distributed tracing.
For more information about configuring Elasticsearch with {product-title}, see xref:../../logging/config/cluster-logging-log-store.adoc[Configuring the log store] or xref:../../jaeger/jaeger_install/rhbjaeger-deploying.adoc[Configuring and deploying Jaeger].
29
+
30
+
For information about connecting to an external Elasticsearch instance, see xref:../../jaeger/jaeger_install/rhbjaeger-deploying.adoc#jaeger-config-external-es_jaeger-deploying[Connecting to an existing Elasticsearch instance].
0 commit comments