jaegerTracing

DEPRECATED

The use of Jaeger Tracing is deprecated.

The Operator will reject the use of this field on operands with version 10.6.0.0 or higher.

Note: External pages may be missing from Jaeger Documentation.

Description

The jaegerTracing property contains the necessary information to configure and run a Jaeger Tracing agent sidecar container. By default, Jaeger Tracing is disabled. To enable Jaeger Tracing, the jaegerTracing property must be defined, with at least the jaegerCollectorEndpoint property specified.

Unlike the odTracing feature, jaegerTracing creates only an agent container, not a collector. Thus, a Jaeger Collector must be configured independently, e.g., with the Jaeger Operator

Required:

  • jaegerCollectorEndpoint

Optional:

  • agentImage
  • agentLivenessProbe
  • agentPullPolicy
  • agentReadinessProbe
  • propagationFormat
  • samplingRate
  • samplingType
  • tls
  • env

jaegerCollectorEndpoint

Required

The jaegerCollectorEndpoint property specifies the host and port for the Jaeger Collector's gRPC port. For example: jaeger-collector-headless.cp4i.svc.cluster.local:14250.

agentImage

Optional

Specifies the image to be used for the Jaeger Agent container. The default agent image is jaegertracing/jaeger-agent:latest.

agentLivenessProbe

Optional

Custom liveness probe settings for the Jaeger Agent container. Allows the following subset of typical liveness probe settings:

  • failureThreshold
  • initialDelaySeconds
  • periodSeconds
  • timeoutSeconds

agentPullPolicy

Optional

Pull policy for the Jaeger Agent container image. Defaults to IfNotPresent.

agentReadinessProbe

Optional

Custom readiness probe settings for the Jaeger Agent container. Allows the following subset of typical readiness probe settings:

  • failureThreshold
  • initialDelaySeconds
  • periodSeconds
  • timeoutSeconds

propagationFormat

Optional

Specifies whether to use the Jaeger native propagation format or the W3C Trace-Context propagation format.

Valid values are jaeger and w3c. Default: jaeger

samplingRate

Optional

Sampling rate for Jaeger Client, based on sampling type.

The default value and valid values depends on the selected samplingType:

samplingType Default samplingRate Valid samplingRate values
remote 0.001 0 ≤ samplingRate ≤ 1
probabilistic 0.001 0 ≤ samplingRate ≤ 1
const 0 0 or 1
ratelimiting 0 samplingRate ≥ 0

See Client Sampling Configuration for details, where samplingRate corresponds with sampler.param.

samplingType

Optional

Type of sampling to use: remote, const, ratelimiting, or probabilistic. Default: remote.

See Client Sampling Configuration for details, where samplingType corresponds with sampler.type.

tls

Optional

TLS configuration for the Jaeger Agent Reporter. By default, TLS with server host verification (using the system truststore) is enabled, though client authentication is disabled. See --reporter.grpc.tls.* under the jaeger-agent CLI args for details.

Note: While the tls property is optional, it will likely need to be configured to align with the Jaeger Collector's TLS configuration for the agent to be able to successfully connect to the collector. By default, TLS with host verification is enabled. In most cases, tls.collectorEndpoint.secretName may need to specify the name of a secret containing the Jaeger Collector TLS server certificate's issuing CA with filename ca.crt.

The following properties are available for configuration:

  • disabled

    Required. When true, disables TLS between the Jaeger Agent Reporter and the Jaeger Collector Endpoint. Default: false

  • collectorEndpoint

    Optional. Credentials for validating the Jaeger Collector Endpoint's TLS server credentials. If Collector Endpoint server host verification is enabled (as is the default case), these credentials will likely need to be configured for connections to succeed.

    The following properties are available for the collectorEndpoint:

    • secretName

      Required. Name of a secret with the Jaeger Collector's TLS server certificates issuing CA. The CA must be in a file named either ca.crt or tls.crt.

    • serverName

      Optional. Specify the TLS server name we expect to find in the Collector Endpoint's TLS server certificate.

  • reporterClientSecretName

    Optional. The name of the secret that stores the TLS client credentials used to identify the Jaeger Agent Reporter. If the Jaeger Collector is configured to authenticate TLS client connections, this secret will be necessary for connections to succeed.

  • skipHostVerify

    Optional. Disable Collector Endpoint server host verification. Default: false

    See --reporter.grpc.tls.skip-host-verify under jaeger-agent CLI args.

Warning: Setting skipHostVerify: true is insecure and should only be used for testing in development environments.

env

Optional

The env property allows you to set custom environment variables that will be set and used within the jaeger-tracing-agent container in the DataPower pod(s). This property exposes the Kubernetes API for declaring environment variables in the container, and thus follows the same schema. For more information, please see the Kubernetes documentation.

Example

A typical configuration will likely be similar to this:

apiVersion: datapower.ibm.com/v1beta3
kind: DataPowerService
metadata:
  name: example-dpservice
spec:
  jaegerTracing:
    jaegerCollectorEndpoint: jaeger-collector-headless.cp4i.svc.cluster.local:14250
    tls:
      collectorEndpoint:
        secretName: jaeger-collector-headless-tls
      disabled: false