Jaeger Streaming 策略:如何在 CRD 中配置 Kafka 凭证

问题描述

我正在尝试使用流策略将 Jaeger 安装到我的 K8s 集群中。我需要使用来自我的云提供商的现有 Kafka 集群。它需要用户名密码。 Jaeger 文档仅提及经纪人和主题

 spec:
     strategy: streaming
  collector:
    options:
      kafka: # <1>
        producer:
          topic: jaeger-spans
          brokers: my-cluster-kafka-brokers.kafka:9092 

如何在 CRD 中配置 Kafka 凭证?

-提前致谢!

解决方法

基于以下来自 jaeger docs 的示例:

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simple-streaming
spec:
  strategy: streaming
  collector:
    options:
      kafka: # <1>
        producer:
          topic: jaeger-spans
          brokers: my-cluster-kafka-brokers.kafka:9092
  ingester:
    options:
      kafka: # <1>
        consumer:
          topic: jaeger-spans
          brokers: my-cluster-kafka-brokers.kafka:9092
      ingester:
        deadlockInterval: 5s # <2>
  storage:
    type: elasticsearch
    options:
      es:
        server-urls: http://elasticsearch:9200

以及示例 cli falgs

--kafka.producer.topic  jaeger-spans
The name of the kafka topic
--kafka.producer.brokers    127.0.0.1:9092
The comma-separated list of kafka brokers. i.e. '127.0.0.1:9092,0.0.0:1234'
--kafka.producer.plaintext.password 
The plaintext Password for SASL/PLAIN authentication
--kafka.producer.plaintext.username 
The plaintext Username for SASL/PLAIN authentication

我推断您应该能够执行以下操作:

spec:
     strategy: streaming
  collector:
    options:
      kafka: # <1>
        producer:
          topic: jaeger-spans
          brokers: my-cluster-kafka-brokers.kafka:9092
          plaintext:
            username: <username>
            password: <password> 

请注意,我将 cli 选项与点分开,并将其添加为 yaml 中的嵌套字段。其他参数以此类推。