3.2.4.3. Jaeger Collector 配置选项

Jaeger Collector 组件负责接收 tracer 捕获的 span,在使用 production 策略时将其写入持久性存储 (Elasticsearch),在使用 streaming 策略时将其写入 AMQ Streams。

收集器是无状态的,因此许多 Jaeger Collector 实例可以并行运行。除了 Elasticsearch 集群的位置,收集器几乎不需要任何配置。

表 3.2. Operator 用来定义 Jaeger Collector 的参数

参数描述
collector:
  replicas:

指定要创建的 Collector 副本数。

整数,如 5

表 3.3. 传递给 Collector 的 Jaeger 参数

参数描述
spec:
 collector:
  options: {}

定义 Jaeger Collector 的配置选项。

 
options:
  collector:
    num-workers:

从队列中拉取的 worker 数量。

整数,如 50

options:
  collector:
    queue-size:

Collector 队列的大小。

整数,如 2000

options:
  kafka:
    producer:
      topic: jaeger-spans

topic 参数标识收集器用来生成消息的 Kafka 配置以及要使用消息的 ingester。

producer 的标签

kafka:
  producer:
    brokers: my-cluster-kafka-brokers.kafka:9092

标识 Collector 用来生成消息的 Kafka 配置。如果没有指定代理,并且安装了 AMQ Streams 1.4.0+,Jaeger 将自助置备 Kafka。

 
log-level:

收集器的日志记录级别。

tracedebuginfowarningerrorfatalpanic

maxReplicas:

指定在自动扩展 Collector 时创建的最大副本数。

整数,如 100

num-workers:

从队列中拉取的 worker 数量。

整数,如 50

queue-size:

Collector 队列的大小。

整数,如 2000

replicas:

指定要创建的 Collector 副本数。

整数,如 5

3.2.4.3.1. 配置 Collector 进行自动扩展
注意

自动扩展只支持 Jaeger 1.20 或更高版本。

您可以将 Collector 配置为自动扩展,Collector 将根据 CPU 和/或内存的使用情况进行扩展或缩减。将 Collector 配置为自动扩展可帮助您确保在负载增加时扩展 Jaeger 环境,并在需要较少资源时缩减资源以节约成本。您可以通过将 autoscale 参数设置为 true 来配置自动扩展,并为您希望 Collector 的 pod 使用的资源指定一个 .spec.collector.maxReplicas 的值。如果没有为 .spec.collector.maxReplicas 设置值,Operator 将把它设置为 100

默认情况下,当没有为 .spec.collector.replicas 提供值时,Jaeger Operator 会为 Collector 创建 Horizontal Pod Autoscaler(HPA)配置。如需有关 HPA 的更多信息,请参阅 Kubernetes 文档

以下是一个自动扩展配置示例,设置 Collector 的限制以及最大副本数:

Collector 自动扩展示例

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simple-prod
spec:
  strategy: production
  collector:
    maxReplicas: 5
    resources:
      limits:
        cpu: 100m
        memory: 128Mi