5.2. Kafka を使用した Flow Collector リソースの設定
Kafka を高スループットかつ低遅延のデータフィードのために使用するように、FlowCollector
リソースを設定できます。Kafka インスタンスを実行する必要があり、そのインスタンスで OpenShift Container Platform Network Observability 専用の Kafka トピックを作成する必要があります。詳細は、AMQ Streams を使用した Kafka ドキュメント を参照してください。
前提条件
- Kafka がインストールされている。Red Hat は、AMQ Streams Operator を使用する Kafka をサポートします。
手順
-
Web コンソールで、Operators
Installed Operators に移動します。 - Network Observability Operator の Provided APIs という見出しの下で、Flow Collector を選択します。
- クラスターを選択し、YAML タブをクリックします。
-
次のサンプル YAML に示すように、Kafka を使用するように OpenShift Container Platform Network Observability Operator の
FlowCollector
リソースを変更します。
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
- Kafka デプロイメントモデルを有効にするには、
spec.deploymentModel
をDirect
ではなくKafka
に設定します。 - 2
spec.kafka.address
は、Kafka ブートストラップサーバーのアドレスを参照します。ポート 9093 で TLS を使用するため、kafka-cluster-kafka-bootstrap.netobserv:9093
など、必要に応じてポートを指定できます。- 3
spec.kafka.topic
は、Kafka で作成されたトピックの名前と一致する必要があります。- 4
spec.kafka.tls
を使用して、Kafka との間のすべての通信を TLS または mTLS で暗号化できます。有効にした場合、Kafka CA 証明書は、flowlogs-pipeline
プロセッサーコンポーネントがデプロイされている namespace (デフォルト:netobserv
) と eBPF エージェントがデプロイされている namespace (デフォルト:netobserv-privileged
) の両方で ConfigMap または Secret として使用できる必要があります。spec.kafka.tls.caCert
で参照する必要があります。mTLS を使用する場合、クライアントシークレットはこれらの namespace でも利用でき (たとえば、AMQ Streams User Operator を使用して生成できます)、spec.kafka.tls.userCert
で参照される必要があります。