9.11. 配置 Kafka Bridge


更新 KafkaBridge 自定义资源的 spec 属性来配置 Kafka Bridge 部署。

为了防止在不同 Kafka Bridge 实例处理客户端消费者请求时出现问题,必须使用基于地址的路由来确保将请求路由到正确的 Kafka Bridge 实例。另外,每个独立的 Kafka Bridge 实例都必须有副本。Kafka Bridge 实例有自己的状态,它不与另一个实例共享。

要深入了解 Kafka Bridge 及其集群配置选项,请参阅使用 Kafka Bridge 指南和 自定义资源 API 参考

KafkaBridge 自定义资源配置示例

# Basic configuration (required)
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaBridge
metadata:
  name: my-bridge
spec:
  # Replicas (required)
  replicas: 3 
1

  # Kafka bootstrap servers (required)
  bootstrapServers: <cluster_name>-cluster-kafka-bootstrap:9092 
2

  # HTTP configuration (required)
  http: 
3

    port: 8080
    # CORS configuration (optional)
    cors: 
4

      allowedOrigins: "https://strimzi.io"
      allowedMethods: "GET,POST,PUT,DELETE,OPTIONS,PATCH"
  # Resources requests and limits (recommended)
  resources: 
5

    requests:
      cpu: "1"
      memory: 2Gi
    limits:
      cpu: "2"
      memory: 2Gi
  # TLS configuration (optional)
  tls: 
6

    trustedCertificates:
      - secretName: my-cluster-cluster-cert
        pattern: "*.crt"
      - secretName: my-cluster-cluster-cert
        certificate: ca2.crt
  # Authentication (optional)
  authentication: 
7

    type: tls
    certificateAndKey:
      secretName: my-secret
      certificate: public.crt
      key: private.key
  # Consumer configuration (optional)
  consumer: 
8

    config:
      auto.offset.reset: earliest
  # Producer configuration (optional)
  producer: 
9

    config:
      delivery.timeout.ms: 300000
  # Logging configuration (optional)
  logging: 
10

    type: inline
    loggers:
      logger.bridge.level: INFO
      # Enabling DEBUG just for send operation
      logger.send.name: "http.openapi.operation.send"
      logger.send.level: DEBUG
  # JVM options (optional)
  jvmOptions: 
11

    "-Xmx": "1g"
    "-Xms": "1g"
  # Readiness probe (optional)
  readinessProbe: 
12

    initialDelaySeconds: 15
    timeoutSeconds: 5
  # Liveness probe (optional)
  livenessProbe:
    initialDelaySeconds: 15
    timeoutSeconds: 5
  # Custom image (optional)
  image: my-org/my-image:latest 
13

  # Pod template (optional)
  template: 
14

    pod:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchExpressions:
                  - key: application
                    operator: In
                    values:
                      - postgresql
                      - mongodb
              topologyKey: "kubernetes.io/hostname"
    bridgeContainer: 
15

      env:
        - name: OTEL_SERVICE_NAME
          value: my-otel-service
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: "http://otlp-host:4317"
  # Tracing configuration (optional)
  tracing:
    type: opentelemetry 
16
Copy to Clipboard Toggle word wrap

1
副本节点的数量。
2
连接到目标 Kafka 集群的 bootstrap 地址。该地址采用 < cluster_name>-kafka-bootstrap:<port_number> 格式。Kafka 集群不需要由 Streams for Apache Kafka 管理,或部署到 Kubernetes 集群。
3
对 Kafka 代理的 HTTP 访问。
4
CORS 访问指定所选资源和访问方法。请求中的其他 HTTP 标头描述了允许访问 Kafka 集群的源。
5
为保留支持的资源(当前 cpumemory )的请求,以及指定可消耗的最大资源的限制。
6
用于加密到 Kafka 集群的 TLS 配置,可信证书存储在指定 secret 中的 X.509 格式。
7
Kafka Bridge 集群的身份验证,指定为 mTLS、基于令牌的 OAuth、基于 SASL 的 SCRAM-SHA-256/SCRAM-SHA-512 或 PLAIN。默认情况下,Kafka Bridge 在没有身份验证的情况下连接到 Kafka 代理。
8
消费者配置选项。
9
制作者配置选项。
10
指定 Kafka Bridge 日志记录器和日志级别直接(内联)或通过 ConfigMap 间接(外部)。自定义 Log4j 配置必须放在 ConfigMap 中的 log4j.propertieslog4j2.properties 键下。对于 Kafka Bridge loggers,您可以将日志级别设置为 INFO, ERROR, WARN, TRACE, DEBUG, FATAL 或 OFF。
11
JVM 配置选项,用于优化运行 Kafka Bridge 的虚拟机(VM)的性能。
12
检查检查以了解何时重启容器(存活度)以及何时容器可以接受流量(就绪度)。
13
可选:容器镜像配置,仅在特殊情况下推荐。
14
模板自定义。此处的 pod 使用反关联性调度,因此 pod 不会调度到具有相同主机名的节点。
15
为分布式追踪设置环境变量。
16
使用 OpenTelemetry 启用分布式追踪。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat