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 镜像。默认值为配置的 |
| 字符串 | |
| storage |
存储配置(磁盘)。无法更新。类型取决于给定对象中 |
| 监听程序 | 配置 Kafka 代理的监听程序。 |
| 授权 |
Kafka 代理的授权配置。类型取决于给定对象中的 |
|
| |
| 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 |
配置 |
| brokerRackInitImage |
用于初始化 |
| 字符串 | |
| 关联性 |
属性 |
| 容限(tolerations) |
属性 |
| 容限 数组 | |
| livenessProbe | Pod 存活度检查. |
| readinessProbe | Pod 就绪度检查。 |
| jvmOptions | 容器集的 JVM 选项. |
| jmxOptions | Kafka 代理的 JMX 选项. |
| 资源 | 要保留的 CPU 和内存资源。请参阅 内核/v1 资源要求的外部文档。 |
| metrics | Prometheus JMX 导出器配置.有关此配置结构的详情,请查看 https://github.com/prometheus/jmx_exporter。 |
| map | |
| logging |
Kafka 的日志配置。类型取决于给定对象中的 |
| tlsSidecar |
attribute |
| 模板 |
Kafka 集群资源的模板。该模板允许用户指定 |
| version | kafka 代理版本。默认值为 2.6.0。请参阅用户文档以了解升级或降级版本所需的流程。 |
| 字符串 |