第9章 デプロイメントの設定
Streams for Apache Kafka カスタムリソースを使用して、Streams for Apache Kafka デプロイメントをニーズに正確に合わせて設定および管理します。Streams for Apache Kafka では、リリースごとにサンプルのカスタムリソースが用意されており、サポートされている Kafka コンポーネントのインスタンスを設定および作成できます。特定の要件に応じて追加機能を組み込むようにカスタムリソースを設定することで、デプロイメントを微調整します。
カスタムリソースを使用して、次のコンポーネントのインスタンスを設定および作成します。
- Kafka クラスター
- Kafka Connect クラスター
- Kafka MirrorMaker
- Kafka Bridge
- Cruise Control
設定を使用すると、インスタンスを管理したり、デプロイメントを変更して追加機能を導入したりできます。場合によっては、新しい機能がフィーチャーゲートによって導入されることもあります。フィーチャーゲートは Operator 設定により制御されます。
Streams for Apache Kafka カスタムリソース API リファレンス で、設定で使用できるプロパティーを説明しています。
重要な Kafka 設定オプション
Kafka リソースの設定を通じて、次のものを導入できます。
- データストレージ
- ラックアウェアネス
- Kafka クラスターへの認証済みクライアントアクセス用のリスナー
- Kafka トピックを管理するための Topic Operator
- Kafka ユーザー (クライアント) を管理するための User Operator
- クラスターのリバランスのための Cruise Control
- ラグメトリクスを収集するための Kafka エクスポーター
Kafka クラスター内の個別のノードグループを設定するには、KafkaNodePool リソースを使用します。
共通の設定
共通の設定は、次のような各コンポーネントごとに個別に設定されます。
- メトリクスの設定
- ヘルスチェックと liveness プローブ
- リソースの制限と要求 (CPU/メモリー)
- ロギングの頻度
- 最大および最小メモリー割り当ての JVM オプション
設定を一元管理するための config map
設定の特定の領域、つまりメトリクス、ロギング、Kafka Connect コネクターの外部設定は、ConfigMap リソースを使用することもできます。ConfigMap リソースを使用して設定を組み込むことで、メンテナンスを一元化できます。設定プロバイダーを使用して外部ソースから設定をロードすることもできます。これは、Kafka Connect コネクター設定の認証情報を提供するために推奨されます。
TLS 証明書管理
Kafka をデプロイする場合、Cluster Operator は自動で TLS 証明書の設定および更新を行い、クラスター内での暗号化および認証を有効にします。必要な場合は、更新期間の開始前にクラスターおよびクライアント CA 証明書を手動で更新できます。クラスターおよびクライアント CA 証明書によって使用される鍵を置き換えることもできます。詳細は、CA 証明書の手動更新 および 秘密鍵の置換 を参照してください。
カスタムリソース設定ファイルへの変更の適用
spec プロパティーを使用してカスタムリソースに設定を追加します。設定を追加した後、oc を使用して変更をカスタムリソース設定ファイルに適用できます。
リソース設定ファイルへの変更の適用
oc apply -f <kafka_configuration_file>
oc apply -f <kafka_configuration_file>
カスタムリソースに適用されるラベルは、クラスターを設定する OpenShift リソースにも適用されます。そのため、必要に応じてリソースに簡単にラベルを付けることができます。
9.1. サンプル設定ファイルの使用 リンクのコピーリンクがクリップボードにコピーされました!
追加のサポートされる設定を組み込むことで、デプロイメントをさらに強化します。サンプル設定ファイルは、Streams for Apache Kafka ソフトウェアダウンロードページ からダウンロード可能なリリースアーティファクトに付属しています。
サンプルファイルには、デフォルトでカスタムリソースの必須のプロパティーと値のみが含まれています。oc コマンドラインツールを使用してサンプルをダウンロードおよび適用できます。これらの例は、デプロイメントに独自の Kafka コンポーネント設定を構築する際の開始点として使用できます。
Operator を使用して Streams for Apache Kafka をインストールした場合でも、サンプルファイルをダウンロードし、それらを使用して設定をアップロードできます。
リリースアーティファクトには、examples ディレクトリーがあり、そこに設定例が含まれています。
Streams for Apache Kafka で提供される設定ファイルの例
- 1
- User Operator によって管理される
KafkaUserカスタムリソース設定。 - 2
- Topic Operator によって管理される
KafkaTopicカスタムリソースの設定。 - 3
- Kafka コンポーネントの認証および認可設定。TLS および SCRAM-SHA-512 認証の設定例が含まれています。Red Hat build of Keycloak の例には、
Kafkaカスタムリソース設定と、Red Hat build of Keycloak のレルム仕様が含まれています。この例を使用して、Red Hat build of Keycloak の認可サービスを試すことができます。また、oauth認証とkeycloak認可メトリクスを有効にした例もあります。 - 4
- MirrorMaker のデプロイメント用の
KafkaMirrorMakerおよびKafkaMirrorMaker2カスタムリソース設定。レプリケーションポリシーおよび同期頻度の設定例が含まれます。 - 5
- Prometheus インストールおよび Grafana ダッシュボードファイルが含まれる メトリック設定。
- 6
- ZooKeeper モードを使用する Kafka クラスターのデプロイメント用の
KafkaおよびKafkaNodePoolカスタムリソース設定。一時的または永続的なシングルまたはマルチノードデプロイメントの設定例が含まれています。 - 7
- KRaft (Kafka Raft メタデータ) モードを使用する Kafka クラスターのデプロイメント用の
KafkaおよびKafkaNodePool設定。 - 8
- Cruise Control のデプロイ設定を含む
Kafkaカスタムリソース。デフォルトまたはユーザー最適化ゴールを使用する設定の例とともに、Cruise Control から最適化プロポーザルを生成するためのKafkaRebalanceカスタムリソースが含まれます。 - 9
- Kafka Connect をデプロイするための
KafkaConnectおよびKafkaConnectorカスタムリソース設定。シングルまたはマルチノードデプロイメントの設定例が含まれています。 - 10
- Kafka Bridge をデプロイするための
KafkaBridgeカスタムリソース設定。