13.2.3.2. config
使用 config
属性将 Kafka 代理选项配置为密钥。
标准 Apache Kafka 配置可能会提供,仅限于不是由 AMQ Streams 直接管理的属性。
无法配置的选项与以下内容相关:
- 安全(加密、身份验证和授权)
- 监听程序配置
- 代理 ID 配置
- 日志数据目录的配置
- Broker 间通信
- zookeeper 连接
这些值可以是以下 JSON 类型之一:
- 字符串
- 数字
- 布尔值
您可以指定并配置 Apache Kafka 文档 中列出的选项,但那些直接由 AMQ Streams 管理的选项除外。具体来说,所有键为等于或以以下任一字符串开头的配置选项将被禁止:
-
监听程序
-
advertised.
-
代理.
-
listener.
-
host.name
-
port
-
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/v1beta2 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 # ...