13.2.60. KafkaConnectSpec 模式参考
用于: KafkaConnect
KafkaConnectSpec schema 属性的完整列表
配置 Kafka Connect 集群。
13.2.60.1. config
使用 config 属性将 Kafka 选项配置为密钥。
标准 Apache Kafka Connect 配置可能会提供,仅限于那些不是由 AMQ Streams 直接管理的属性。
无法配置的选项与以下内容相关:
- Kafka 集群 bootstrap 地址
- 安全(加密、身份验证和授权)
- 侦听器/REST 接口配置
- 插件路径配置
这些值可以是以下 JSON 类型之一:
- 字符串
- 数字
- 布尔值
您可以指定并配置 Apache Kafka 文档 中列出的选项,但那些直接由 AMQ Streams 管理的选项除外。具体来说,键等于或以以下任一字符串开头的配置选项将被禁止:
-
ssl. -
sasl. -
安全性. -
监听程序 -
plugin.path -
rest. -
bootstrap.servers
当 config 属性中存在禁止选项时,会忽略它,并把警告信息输出到 Cluster Operator 日志文件中。所有其他选项将传递给 Kafka Connect。
Cluster Operator 不会验证提供的 config 对象中的密钥或值。当提供无效的配置时,Kafka Connect 集群可能无法启动或变得不稳定。在这种情形中,修复 KafkaConnect.spec.config 或 KafkaConnectS2I.spec.config 对象中的配置,然后 Cluster Operator 可将新配置部署到所有 Kafka Connect 节点。
某些选项有默认值:
-
默认值
connect-cluster的 Group.id -
默认值为
connect-cluster-offsets的offset.storage.topic -
带有默认值
connect-cluster-configs的config.storage.topic -
status.storage.topic,默认值为connect-cluster-status -
key.converterwith default valueorg.apache.kafka.connect.json.JsonConverter -
value.converterwith default valueorg.apache.kafka.connect.json.JsonConverter
如果 KafkaConnect.spec. config 或 属性中不存在这些选项,则会自动配置这些选项。
KafkaConnectS2I.spec.config
禁止的选项有例外。您可以使用三个允许的 ssl 配置选项用于使用 TLS 版本的特定 密码套件 进行客户端连接。密码套件组合了用于安全连接和数据传输的算法。您还可以配置 ssl.endpoint.identification.algorithm 属性来 启用或禁用主机名验证。
Kafka Connect 配置示例
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect
spec:
# ...
config:
group.id: my-connect-cluster
offset.storage.topic: my-connect-cluster-offsets
config.storage.topic: my-connect-cluster-configs
status.storage.topic: my-connect-cluster-status
key.converter: org.apache.kafka.connect.json.JsonConverter
value.converter: org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable: true
value.converter.schemas.enable: true
config.storage.replication.factor: 3
offset.storage.replication.factor: 3
status.storage.replication.factor: 3
ssl.cipher.suites: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
ssl.enabled.protocols: "TLSv1.2"
ssl.protocol: "TLSv1.2"
ssl.endpoint.identification.algorithm: HTTPS
# ...
对于使用特定 密码套件 作为 TLS 版本进行客户端连接,您可以配置 allowed ssl 属性。您还可以 配置 ssl.endpoint.identification.algorithm 属性来 启用或禁用主机名验证。