8.6. 配置 Kafka Connect
				更新 KafkaConnect 自定义资源的 spec 属性来配置 Kafka Connect 部署。
			
				使用 Kafka Connect 为 Kafka 集群设置外部数据连接。使用 KafkaConnect 资源的属性来配置 Kafka Connect 部署。
			
要深入了解 Kafka Connect 集群配置选项,请参阅 AMQ Streams 自定义资源 API 参考。
KafkaConnector 配置
					KafkaConnector 资源允许您以 OpenShift 原生的方式创建和管理 Kafka Connect 的连接器实例。
				
				在 Kafka Connect 配置中,您可以通过添加 strimzi.io/use-connector-resources 注解来为 Kafka Connect 集群启用 KafkaConnectors。您还可以添加 构建配置,以便 AMQ Streams 自动使用您数据连接所需的连接器插件构建容器镜像。Kafka Connect 连接器的外部配置通过 externalConfiguration 属性指定。
			
				要管理连接器,您可以使用 KafkaConnector 自定义资源或 Kafka Connect REST API。KafkaConnector 资源必须部署到它们所链接的 Kafka Connect 集群相同的命名空间中。有关使用这些方法创建、重新配置或删除连接器的更多信息,请参阅 添加连接器。
			
连接器配置作为 HTTP 请求的一部分传递给 Kafka Connect,并存储在 Kafka 本身中。ConfigMap 和机密是用于存储配置和机密数据的标准 OpenShift 资源。您可以使用 ConfigMap 和 Secret 来配置连接器的特定元素。然后,您可以在 HTTP REST 命令中引用配置值,这样可保持配置独立且更安全。此方法特别适用于机密数据,如用户名、密码或证书。
处理大量信息
您可以调整配置以处理大量信息。如需更多信息,请参阅处理大量信息。
KafkaConnect 自定义资源配置示例
- 1
- 使用KafkaConnect。
- 2
- 为 Kafka Connect 集群启用 KafkaConnectors。
- 3
- 运行任务的 worker 的副本节点数量。
- 4
- Kafka Connect 集群的身份验证,指定为 mTLS、基于令牌的 OAuth、基于 SASL 的 SCRAM-SHA-256/SCRAM-SHA-512 或 PLAIN。默认情况下,Kafka Connect 使用纯文本连接连接到 Kafka 代理。
- 5
- 用于连接到 Kafka 集群的 bootstrap 服务器。
- 6
- TLS 加密,使用密钥名称,其中 TLS 证书存储为集群的 X.509 格式。如果证书存储在同一 secret 中,则可以多次列出。
- 7
- worker 的 Kafka 连接配置(而不是连接器)。标准 Apache Kafka 配置可能会提供,仅限于不直接由 AMQ Streams 管理的属性。
- 8
- 构建用于自动使用连接器插件构建容器镜像的配置属性。
- 9
- (必需)推送新镜像的容器 registry 的配置。
- 10
- (必需)添加到新容器镜像的连接器插件及其工件列表。每个插件必须配置至少一个工件。
- 11
- 使用环境变量的连接器的外部配置,如此处或卷所示。您还可以使用配置供应商插件从外部来源加载配置值。
- 12
- 用于保留支持的资源、当前cpu和内存以及限制的请求,以指定可消耗的最大资源。
- 13
- 指定 Kafka Connect 日志记录器和日志级别直接(内联)或通过 ConfigMap 间接(外部)。自定义 Log4j 配置必须放在 ConfigMap 中的log4j.properties或log4j2.properties键下。对于 Kafka Connectlog4j.rootLogger日志记录器,您可以将日志级别设置为 INFO, ERROR, WARN, TRACE, DEBUG,FATAL 或 OFF。
- 14
- 健康检查以了解何时重启容器(持续)以及容器可以接受流量(就绪状态)。
- 15
- Prometheus 指标,通过引用包含在此示例中 Prometheus JMX 导出器配置的 ConfigMap 启用。您可以使用对metricsConfig.valueFrom.configMapKeyRef.key下包含空文件的 ConfigMap 的引用来启用指标。
- 16
- JVM 配置选项,用于优化运行 Kafka Connect 的虚拟机(VM)的性能。
- 17
- ADVANCED OPTION:容器镜像配置,这只在特殊情况下建议使用。
- 18
- SPECIALIZED OPTION:部署的机架感知配置。这是用于在同一位置(而非跨地区)部署的专用选项。如果您希望连接器从最接近的副本而不是领导副本使用,则使用此选项。在某些情况下,使用来自最接近的副本的消耗可以提高网络利用率或降低成本。topologyKey必须与包含机架 ID 的节点标签匹配。此配置中使用的示例使用标准topology.kubernetes.io/zone标签指定区。要从最接近的副本使用,请在 Kafka 代理配置中启用RackAwareReplicaSelector。
- 19
- 模板自定义。此处的 pod 使用反关联性调度,因此 pod 不会调度到具有相同主机名的节点。
- 20
- 为分布式追踪设置环境变量。
- 21
- 使用 OpenTelemetry 启用分布式追踪。
8.6.1. 配置 Kafka Connect 用户授权
这个步骤描述了如何授权用户对 Kafka Connect 的访问。
当在 Kafka 中使用任何类型的授权时,Kafka Connect 用户需要对消费者组和 Kafka Connect 的内部主题的读/写权限。
					消费者组和内部主题的属性由 AMQ Streams 自动配置,也可以在 KafkaConnect 资源的 spec 中明确指定。
				
KafkaConnect 资源中的配置属性示例
					此流程演示了如何在使用 简单 授权时提供访问权限。
				
					简单授权使用由 Kafka AclAuthorizer 插件处理的 ACL 规则,以提供正确的访问级别。有关将 KafkaUser 资源配置为使用简单授权的更多信息,请参阅 AclRule 模式参考。
				
先决条件
- 一个 OpenShift 集群
- 正在运行的 Cluster Operator
流程
- 编辑 - KafkaUser资源中的- authorization属性,为用户提供访问权限。- 在以下示例中,使用 - 字面名称值为 Kafka Connect 主题和消费者组配置访问权限:- Expand - 属性 - 名称 - offset.storage.topic- connect-cluster-offsets- status.storage.topic- connect-cluster-status- config.storage.topic- connect-cluster-configs- group- connect-cluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建或更新资源。 - oc apply -f KAFKA-USER-CONFIG-FILE - oc apply -f KAFKA-USER-CONFIG-FILE- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow