5.2. 使用 Kafka 配置流收集器资源
您可以将 FlowCollector
资源配置为使用 Kafka 进行高吞吐量和低延迟数据源。需要运行一个 Kafka 实例,并在该实例中创建专用于 OpenShift Container Platform Network Observability 的 Kafka 主题。如需更多信息,请参阅 AMQ Streams 的 Kafka 文档。
先决条件
- Kafka 已安装。红帽支持使用 AMQ Streams Operator 的 Kafka。
流程
-
在 Web 控制台中,进入到 Operators
Installed Operators。 - 在 Network Observability Operator 的 Provided APIs 标题下,选择 Flow Collector。
- 选择集群,然后点 YAML 选项卡。
-
修改 OpenShift Container Platform Network Observability Operator 的
FlowCollector
资源以使用 Kafka,如下例所示:
FlowCollector
资源中的 Kafka 配置示例
apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: deploymentModel: Kafka 1 kafka: address: "kafka-cluster-kafka-bootstrap.netobserv" 2 topic: network-flows 3 tls: enable: false 4
- 1
- 将
spec.deploymentModel
设置为Kafka
,而不是Direct
来启用 Kafka 部署模型。 - 2
spec.kafka.address
是指 Kafka bootstrap 服务器地址。如果需要,您可以指定一个端口,如kafka-cluster-kafka-bootstrap.netobserv:9093
,以便在端口 9093 上使用 TLS。- 3
spec.kafka.topic
应与 Kafka 中创建的主题名称匹配。- 4
spec.kafka.tls
可用于加密所有与带有 TLS 或 mTLS 的 Kafka 的通信。启用后,Kafka CA 证书必须作为 ConfigMap 或 Secret 提供,两者都位于部署了flowlogs-pipeline
处理器组件的命名空间中(默认为netobserv
)以及 eBPF 代理被部署的位置(默认为netobserv-privileged
)。它必须通过spec.kafka.tls.caCert
引用。使用 mTLS 时,客户端 secret 还必须在这些命名空间中可用(它们也可以使用 AMQ Streams User Operator 生成并使用spec.kafka.tls.userCert
)。