-
Notifications
You must be signed in to change notification settings - Fork 1.8k
OSSMDOC-153 connect to existing Jaeger OSSM 2.0 #27415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
b3191c0
OSSMDOC-153 connect to existing Jaeger OSSM 2.0
JStickler fe6e960
First round of review comments from Gary and Rob.
JStickler 609961f
Second round of review comments.
JStickler 93e3230
review comments from Fillip.
JStickler b9317b5
Capitalized Jaeger in SMCP
JStickler c030af5
Cleaning up parameter punctuation.
JStickler 34e1622
review from Neal
JStickler fc74da3
removed second that
JStickler File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
// Module included in the following assemblies: | ||
// | ||
// * service_mesh/v1x/customizing-installation-ossm.adoc | ||
|
||
[id="ossm-configuring-jaeger-v1x_{context}"] | ||
= Configuring Jaeger | ||
|
||
When the {ProductShortName} Operator creates the `ServiceMeshControlPlane` resource it also creates the Jaeger resource. The Jaeger Operator then uses this object when creating Jaeger instances. | ||
|
||
The default Jaeger parameters specified in the `ServiceMeshControlPlane` are as follows: | ||
|
||
.Default `all-in-one` Jaeger parameters | ||
[source,yaml] | ||
---- | ||
apiVersion: maistra.io/v1 | ||
kind: ServiceMeshControlPlane | ||
spec: | ||
version: v1.1 | ||
istio: | ||
tracing: | ||
enabled: true | ||
jaeger: | ||
template: all-in-one | ||
---- | ||
|
||
.Jaeger parameters | ||
[options="header"] | ||
[cols="l, a, a, a"] | ||
|=== | ||
|Parameter |Description |Values |Default value | ||
|
||
|tracing | ||
enabled | ||
|This parameter enables/disables tracing in {ProductShortName}. Jaeger is installed by default. | ||
|`true`/`false` | ||
|`true` | ||
|
||
|jaeger | ||
template | ||
|This parameter specifies which Jaeger deployment strategy to use. | ||
|* `all-in-one`- For development, testing, demonstrations, and proof of concept. | ||
* `production-elasticsearch` - For production use. | ||
|`all-in-one` | ||
|=== | ||
|
||
[NOTE] | ||
==== | ||
The default template in the `ServiceMeshControlPlane` resource is the `all-in-one` deployment strategy which uses in-memory storage. For production, the only supported storage option is Elasticsearch, therefore you must configure the `ServiceMeshControlPlane` to request the `production-elasticsearch` template when you deploy {ProductShortName} within a production environment. | ||
==== | ||
|
||
|
||
[id="ossm-configuring-jaeger-elasticsearch_{context}"] | ||
== Configuring Elasticsearch | ||
|
||
The default Jaeger deployment strategy uses the `all-in-one` template so that the installation can be completed using minimal resources. However, because the `all-in-one` template uses in-memory storage, it is only recommended for development, demo, or testing purposes and should NOT be used for production environments. | ||
|
||
If you are deploying {ProductShortName} and Jaeger in a production environment you must change the template to the `production-elasticsearch` template, which uses Elasticsearch for Jaeger's storage needs. | ||
|
||
Elasticsearch is a memory intensive application. The initial set of nodes specified in the default {product-title} installation may not be large enough to support the Elasticsearch cluster. You should modify the default Elasticsearch configuration to match your use case and the resources you have requested for your {product-title} installation. You can adjust both the CPU and memory limits for each component by modifying the resources block with valid CPU and memory values. Additional nodes must be added to the cluster if you want to run with the recommended amount (or more) of memory. Ensure that you do not exceed the resources requested for your {product-title} installation. | ||
|
||
.Default "production" Jaeger parameters with Elasticsearch | ||
[source,yaml] | ||
---- | ||
apiVersion: maistra.io/v1 | ||
kind: ServiceMeshControlPlane | ||
spec: | ||
istio: | ||
tracing: | ||
enabled: true | ||
ingress: | ||
enabled: true | ||
jaeger: | ||
template: production-elasticsearch | ||
elasticsearch: | ||
nodeCount: 3 | ||
redundancyPolicy: | ||
resources: | ||
requests: | ||
cpu: "1" | ||
memory: "16Gi" | ||
limits: | ||
cpu: "1" | ||
memory: "16Gi" | ||
|
||
---- | ||
|
||
.Elasticsearch parameters | ||
[options="header"] | ||
[cols="l, a, a, a, a"] | ||
|=== | ||
|Parameter |Description |Values |Default Value |Examples | ||
|
||
|tracing: | ||
enabled: | ||
|This parameter enables/disables tracing in {ProductShortName}. Jaeger is installed by default. | ||
|`true`/`false` | ||
|`true` | ||
| | ||
|
||
|ingress: | ||
enabled: | ||
|This parameter enables/disables ingress for Jaeger. | ||
|`true`/`false` | ||
|`true` | ||
| | ||
|
||
|jaeger: | ||
template: | ||
|This parameter specifies which Jaeger deployment strategy to use. | ||
|`all-in-one`/`production-elasticsearch` | ||
|`all-in-one` | ||
| | ||
|
||
|elasticsearch: | ||
nodeCount: | ||
|Number of Elasticsearch nodes to create. | ||
|Integer value. | ||
|1 | ||
|Proof of concept = 1, | ||
Minimum deployment =3 | ||
|
||
|requests: | ||
cpu: | ||
|Number of central processing units for requests, based on your environment’s configuration. | ||
|Specified in cores or millicores (for example, 200m, 0.5, 1). | ||
|1Gi | ||
|Proof of concept = 500m, | ||
Minimum deployment =1 | ||
|
||
|requests: | ||
memory: | ||
|Available memory for requests, based on your environment’s configuration. | ||
|Specified in bytes (for example, 200Ki, 50Mi, 5Gi). | ||
|500m | ||
|Proof of concept = 1Gi, | ||
Minimum deployment = 16Gi* | ||
|
||
|limits: | ||
cpu: | ||
|Limit on number of central processing units, based on your environment’s configuration. | ||
|Specified in cores or millicores (for example, 200m, 0.5, 1). | ||
| | ||
|Proof of concept = 500m, | ||
Minimum deployment =1 | ||
|
||
|limits: | ||
memory: | ||
|Available memory limit based on your environment’s configuration. | ||
|Specified in bytes (for example, 200Ki, 50Mi, 5Gi). | ||
| | ||
|Proof of concept = 1Gi, | ||
Minimum deployment = 16Gi* | ||
|
||
| | ||
4+|{asterisk} Each Elasticsearch node can operate with a lower memory setting though this is *not* recommended for production deployments. For production use, you should have no less than 16Gi allocated to each pod by default, but preferably allocate as much as you can, up to 64Gi per pod. | ||
|=== | ||
|
||
|
||
.Procedure | ||
|
||
. Log in to the {product-title} web console as a user with the `cluster-admin` role. | ||
|
||
. Navigate to *Operators* -> *Installed Operators*. | ||
|
||
. Click the {ProductName} Operator. | ||
|
||
. Click the *Istio Service Mesh Control Plane* tab. | ||
|
||
. Click the name of your control plane file, for example, `basic-install`. | ||
|
||
. Click the *YAML* tab. | ||
|
||
. Edit the Jaeger parameters, replacing the default `all-in-one` template with parameters for the `production-elasticsearch` template, modified for your use case. Ensure that the indentation is correct. | ||
|
||
. Click *Save*. | ||
|
||
. Click *Reload*. | ||
{product-title} redeploys Jaeger and creates the Elasticsearch resources based on the specified parameters. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,178 +1,15 @@ | ||
// Module included in the following assemblies: | ||
// | ||
// * service_mesh/v1x/customizing-installation-ossm.adoc | ||
// * service_mesh/v2x/customizing-installation-ossm.adoc | ||
|
||
[id="ossm-configuring-jaeger_{context}"] | ||
= Configuring Jaeger | ||
|
||
When the {ProductShortName} Operator creates the `ServiceMeshControlPlane` resource it also creates the Jaeger resource. The Jaeger Operator then uses this object when creating Jaeger instances. | ||
[id="ossm-specifying-jaeger-configuration_{context}"] | ||
= Specifying Jaeger Configuration | ||
|
||
The default Jaeger parameters specified in the `ServiceMeshControlPlane` are as follows: | ||
You configure Jaeger under the `addons` section of `ServiceMeshControlPlane` resource. | ||
|
||
.Default `all-in-one` Jaeger parameters | ||
[source,yaml] | ||
---- | ||
apiVersion: maistra.io/v1 | ||
kind: ServiceMeshControlPlane | ||
spec: | ||
istio: | ||
tracing: | ||
enabled: true | ||
jaeger: | ||
template: all-in-one | ||
---- | ||
You can specify your Jaeger configuration in either of two ways: | ||
|
||
.Jaeger parameters | ||
[options="header"] | ||
[cols="l, a, a, a"] | ||
|=== | ||
|Parameter |Description |Values |Default value | ||
* Specify the 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. | ||
|
||
|tracing | ||
enabled | ||
|This parameter enables/disables tracing in {ProductShortName}. Jaeger is installed by default. | ||
|`true`/`false` | ||
|`true` | ||
|
||
|jaeger | ||
template | ||
|This parameter specifies which Jaeger deployment strategy to use. | ||
|* `all-in-one`- For development, testing, demonstrations, and proof of concept. | ||
* `production-elasticsearch` - For production use. | ||
|`all-in-one` | ||
|=== | ||
|
||
[NOTE] | ||
==== | ||
The default template in the `ServiceMeshControlPlane` resource is the `all-in-one` deployment strategy which uses in-memory storage. For production, the only supported storage option is Elasticsearch, therefore you must configure the `ServiceMeshControlPlane` to request the `production-elasticsearch` template when you deploy {ProductShortName} within a production environment. | ||
==== | ||
|
||
|
||
[id="ossm-configuring-jaeger-elasticsearch_{context}"] | ||
== Configuring Elasticsearch | ||
|
||
The default Jaeger deployment strategy uses the `all-in-one` template so that the installation can be completed using minimal resources. However, because the `all-in-one` template uses in-memory storage, it is only recommended for development, demo, or testing purposes and should NOT be used for production environments. | ||
|
||
If you are deploying {ProductShortName} and Jaeger in a production environment you must change the template to the `production-elasticsearch` template, which uses Elasticsearch for Jaeger's storage needs. | ||
|
||
Elasticsearch is a memory intensive application. The initial set of nodes specified in the default {product-title} installation may not be large enough to support the Elasticsearch cluster. You should modify the default Elasticsearch configuration to match your use case and the resources you have requested for your {product-title} installation. You can adjust both the CPU and memory limits for each component by modifying the resources block with valid CPU and memory values. Additional nodes must be added to the cluster if you want to run with the recommended amount (or more) of memory. Ensure that you do not exceed the resources requested for your {product-title} installation. | ||
|
||
.Default "production" Jaeger parameters with Elasticsearch | ||
[source,yaml] | ||
---- | ||
apiVersion: maistra.io/v1 | ||
kind: ServiceMeshControlPlane | ||
spec: | ||
istio: | ||
tracing: | ||
enabled: true | ||
ingress: | ||
enabled: true | ||
jaeger: | ||
template: production-elasticsearch | ||
elasticsearch: | ||
nodeCount: 3 | ||
redundancyPolicy: | ||
resources: | ||
requests: | ||
cpu: "1" | ||
memory: "16Gi" | ||
limits: | ||
cpu: "1" | ||
memory: "16Gi" | ||
|
||
---- | ||
|
||
.Elasticsearch parameters | ||
[options="header"] | ||
[cols="l, a, a, a, a"] | ||
|=== | ||
|Parameter |Description |Values |Default Value |Examples | ||
|
||
|tracing: | ||
enabled | ||
|This parameter enables/disables tracing in {ProductShortName}. Jaeger is installed by default. | ||
|`true`/`false` | ||
|`true` | ||
| | ||
|
||
|ingress: | ||
enabled | ||
|This parameter enables/disables ingress for Jaeger. | ||
|`true`/`false` | ||
|`true` | ||
| | ||
|
||
|jaeger | ||
template | ||
|This parameter specifies which Jaeger deployment strategy to use. | ||
|`all-in-one`/`production-elasticsearch` | ||
|`all-in-one` | ||
| | ||
|
||
|elasticsearch: | ||
nodeCount | ||
|Number of Elasticsearch nodes to create. | ||
|Integer value. | ||
|1 | ||
|Proof of concept = 1, | ||
Minimum deployment =3 | ||
|
||
|requests: | ||
cpu | ||
|Number of central processing units for requests, based on your environment’s configuration. | ||
|Specified in cores or millicores (for example, 200m, 0.5, 1). | ||
|1Gi | ||
|Proof of concept = 500m, | ||
Minimum deployment =1 | ||
|
||
|requests: | ||
memory | ||
|Available memory for requests, based on your environment’s configuration. | ||
|Specified in bytes (for example, 200Ki, 50Mi, 5Gi). | ||
|500m | ||
|Proof of concept = 1Gi, | ||
Minimum deployment = 16Gi* | ||
|
||
|limits: | ||
cpu | ||
|Limit on number of central processing units, based on your environment’s configuration. | ||
|Specified in cores or millicores (for example, 200m, 0.5, 1). | ||
| | ||
|Proof of concept = 500m, | ||
Minimum deployment =1 | ||
|
||
|limits: | ||
memory | ||
|Available memory limit based on your environment’s configuration. | ||
|Specified in bytes (for example, 200Ki, 50Mi, 5Gi). | ||
| | ||
|Proof of concept = 1Gi, | ||
Minimum deployment = 16Gi* | ||
|
||
| | ||
4+|{asterisk} Each Elasticsearch node can operate with a lower memory setting though this is *not* recommended for production deployments. For production use, you should have no less than 16Gi allocated to each pod by default, but preferably allocate as much as you can, up to 64Gi per pod. | ||
|=== | ||
|
||
|
||
.Procedure | ||
|
||
. Log in to the {product-title} web console as a user with the `cluster-admin` role. | ||
|
||
. Navigate to *Operators* -> *Installed Operators*. | ||
|
||
. Click the {ProductName} Operator. | ||
|
||
. Click the *Istio Service Mesh Control Plane* tab. | ||
|
||
. Click the name of your control plane file, for example, `basic-install`. | ||
|
||
. Click the *YAML* tab. | ||
|
||
. Edit the Jaeger parameters, replacing the default `all-in-one` template with parameters for the `production-elasticsearch` template, modified for your use case. Ensure that the indentation is correct. | ||
|
||
. Click *Save*. | ||
|
||
. Click *Reload*. | ||
{product-title} redeploys Jaeger and creates the Elasticsearch resources based on the specified parameters. | ||
* Configure and deploy a Jaeger instance and then specify the `name` of the Jaeger resource as the value for `spec.addons.jaeger.name` in the `ServiceMeshControlPlane` resource. If a Jaeger resource matching the value of `name` exists, the control plane will use the existing installation. This approach lets you fully customize your Jaeger configuration. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The procedure in this module describes how to replace the allinone parameter with production elasticsearch. Can this title be more descriptive about that? It seems like you're configuring elasticsearch and Jaeger for a production deployment? I think that would be a more descriptive title.
I think it would be better to start this module with the paragraph from configuring elasticsearch. Then move the the procedure from the bottom under that. I think you could add the default allinone Jaeger parameters to that proceedure in step 7 as an example.
If you still need the default elasticsearch examples, you can add them after the procedure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you just look at the files and not view the preview? This section follows the existing format in the Custom Resources chapter but just updates the content.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked at the files and the preview. There may be a format that exists, but from my perspective, I think that changing that format around would improve the readability of this content.