7.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 設定のサンプル
- 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で参照される必要があります。