B.4.2. config


使用 配置 属性将 Kafka 代理配置为带有以下 JSON 类型值之一的密钥:

  • 字符串
  • 数字
  • 布尔值

您可以指定并配置 Apache Kafka 文档中的 "Broker Configs"部分中除由 AMQ Streams 直接管理的选项之外的所有选项。具体来说,所有键为等于或以以下任一字符串开头的配置选项将被禁止:

  • 监听程序
  • 已公告.
  • broker.
  • listener.
  • host.name
  • 端口
  • inter.broker.listener.name
  • SASL.
  • ssl.
  • 安全性.
  • password.
  • principal.builder.class
  • log.dir
  • zookeeper.connect
  • zookeeper.set.acl
  • authorizer.
  • super.user

config 属性中存在禁止选项时,会忽略它,并把警告信息输出到 Cluster Operator 日志文件中。所有其他支持的选项都传递给 Kafka。

禁止的选项有例外。对于使用特定 密码套件 作为 TLS 版本进行客户端连接,您可以配置 allowed ssl 属性。您还可以配置 zookeeper.connection.timeout.ms 属性,以设置建立 ZooKeeper 连接的最长时间。

Kafka 代理配置示例

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    config:
      num.partitions: 1
      num.recovery.threads.per.data.dir: 1
      default.replication.factor: 3
      offsets.topic.replication.factor: 3
      transaction.state.log.replication.factor: 3
      transaction.state.log.min.isr: 1
      log.retention.hours: 168
      log.segment.bytes: 1073741824
      log.retention.check.interval.ms: 300000
      num.network.threads: 3
      num.io.threads: 8
      socket.send.buffer.bytes: 102400
      socket.receive.buffer.bytes: 102400
      socket.request.max.bytes: 104857600
      group.initial.rebalance.delay.ms: 0
      ssl.cipher.suites: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
      ssl.enabled.protocols: "TLSv1.2"
      ssl.protocol: "TLSv1.2"
      zookeeper.connection.timeout.ms: 6000
    # ...

属性描述

replicas

集群中的 pod 数量。

整数

镜像

容器集的 docker 镜像。默认值为配置的 Kafka.spec.kafka.version

字符串

storage

存储配置(磁盘)。无法更新。类型取决于给定对象中 storage.type 属性的值,它必须是 [ephemeral, persistent-claim, jbod] 之一。

EphemeralStoragePersistentClaimStorageJbodStorage

监听程序

配置 Kafka 代理的监听程序。

GenericKafkaListener 阵列或 KafkaListeners

授权

Kafka 代理的授权配置。类型取决于给定对象中的 authorization.type 属性的值,必须是 [simple、opa、keycloak] 中的一个。

KafkaAuthorizationSimple, KafkaAuthorizationOpa, KafkaAuthorizationKeycloak

config

无法设置带有以下前缀的 Kafka 代理配置属性:监听器、公告的.、代理.、监听器.、host.name、端口、inter.broker.listener.name、sasl.、ssl.、security.、security.builder.class、log.dir、zookeeper.connect、zookeeper.set.acl、 zookeeper.ssl, zookeeper.clientCnxnSocket, authorizer., super.user, cruise.control.metrics.topic, cruise.control.metrics.reporter.bootstrap.servers(以下除外: zookeeper.connection.timeout.ms, ssl.cipher.suites, SSL.protocol, ssl.enabled.protocols,cruise.control.metrics.topic.num.partitions, cruise.control.metrics.topic.replication.factor, cruise.control.metrics.topic.retention.ms,cruise.control.metrics.topic.auto.create.reries, cruise.control.metrics.topic.auto.create.timeout.ms。

map

rack

配置 broker.rack 代理配置。

rack

brokerRackInitImage

用于初始化 broker.rack 的 init 容器镜像。

字符串

关联性

属性 关联性 已弃用。现在,这个功能应该在路径 spec.kafka.template.pod.affinity 中配置。pod 的关联性规则。请参阅有关 内核/v1 关联性 的外部文档.

关联性

容限(tolerations)

属性 容限 已弃用。现在应该在路径 spec.kafka.template.pod.tolerations 中配置这个功能。pod 的容限。请参阅 内核/v1 容限 的外部文档。

容限 数组

livenessProbe

Pod 存活度检查.

probe

readinessProbe

Pod 就绪度检查。

probe

jvmOptions

容器集的 JVM 选项.

JvmOptions

jmxOptions

Kafka 代理的 JMX 选项.

KafkaJmxOptions

资源

要保留的 CPU 和内存资源。请参阅 内核/v1 资源要求的外部文档

ResourceRequirements

metrics

Prometheus JMX 导出器配置.有关此配置结构的详情,请查看 https://github.com/prometheus/jmx_exporter

map

logging

Kafka 的日志配置。类型取决于给定对象中的 logging.type 属性的值,它必须是 [inline, external] 之一。

InlineLogging, ExternalLogging

tlsSidecar

attribute tlsSidecar 已被弃用。TLS sidecar 配置.

TlsSidecar

模板

Kafka 集群资源的模板。该模板允许用户指定 StatefulSetPod 和服务 生成的方式。

KafkaClusterTemplate

version

kafka 代理版本。默认值为 2.6.0。请参阅用户文档以了解升级或降级版本所需的流程。

字符串

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.