第 5 章 KafkaClusterSpec 模式参考
使用于: KafkaSpec
使用 Kafka 自定义资源配置 Kafka
集群。
config
属性是资源整体配置的一部分。使用 config
属性将 Kafka 代理选项配置为密钥。
Kafka 配置示例
这些值可以是以下 JSON 类型之一:
- 字符串
- Number
- 布尔值
例外
您可以指定并配置 Apache Kafka 文档 中列出的选项。
但是,Apache Kafka 的流负责配置和管理与以下内容相关的选项,而这无法更改:
- 安全性(加密、身份验证和授权)
- 侦听器配置
- 代理 ID 配置
- 配置日志数据目录
- Inter-broker 通信
- ZooKeeper 连接
无法设置具有以下前缀的属性:
-
advertised.
-
授权者.
-
broker.
-
controller
-
cruise.control.metrics.reporter.bootstrap.
-
cruise.control.metrics.topic
-
host.name
-
inter.broker.listener.name
-
侦听器.
-
监听器.
-
log.dir
-
密码。
-
端口
-
process.roles
-
SASL。
-
安全性。
-
servers,node.id
-
ssl.
-
super.user
-
zookeeper.clientCnxnSocket
-
zookeeper.connect
-
zookeeper.set.acl
-
zookeeper.ssl
如果 config
属性包含一个无法更改的选项,它将被忽略,并将警告信息记录到 Cluster Operator 日志文件。所有其他支持选项都转发到 Kafka,包括对 Apache Kafka 的 Streams 配置的选项的以下例外:
-
支持的 TLS 版本和密码套件的任何
ssl
配置 -
zookeeper.connection.timeout.ms
属性的配置,以设置建立 ZooKeeper 连接的最大时间 Cruise Control 指标属性:
-
cruise.control.metrics.topic.num.partitions
-
cruise.control.metrics.topic.replication.factor
-
cruise.control.metrics.topic.retention.ms
-
cruise.control.metrics.topic.auto.create.retries
-
cruise.control.metrics.topic.auto.create.timeout.ms
-
cruise.control.metrics.topic.min.insync.replicas
-
控制器属性:
-
controller.quorum.election.backoff.max.ms
-
controller.quorum.election.timeout.ms
-
controller.quorum.fetch.timeout.ms
-
5.1. 配置机架感知和 init 容器镜像 复制链接链接已复制到粘贴板!
使用 rack
属性启用机架感知。启用机架感知后,Kafka 代理 pod 使用 init 容器从 OpenShift 集群节点收集标签。此 init 容器的容器镜像可以使用 brokerRackInitImage
属性来指定。如果没有提供 brokerRackInitImage
字段,则使用的镜像会优先选择,如下所示:
-
在 Cluster Operator 配置中的
STRIMZI_DEFAULT_KAFKA_INIT_IMAGE
环境变量中指定的容器镜像。 -
registry.redhat.io/amq-streams/strimzi-rhel9-operator:2.8.0
container image.
brokerRackInitImage
配置示例
建议在特殊情况下覆盖容器镜像,例如当您的网络不允许访问 Apache Kafka 使用的容器 registry 时。在这种情况下,您应该复制 Apache Kafka 镜像的 Streams,或者从源构建它们。请注意,如果配置的镜像与 Apache Kafka 镜像的 Streams 不兼容,它可能无法正常工作。