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.converter
with default valueorg.apache.kafka.connect.json.JsonConverter
-
value.converter
with 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 属性来
启用或禁用主机名验证。