4.2. Streams for Apache Kafka
4.2.1. KRaft: JBOD ストレージのサポート
JBOD ストレージが KRaft モードでサポートされるようになりました。KafkaNodePool
リソースのストレージ設定で kraftMetadata
プロパティーを使用して、KRaft メタデータログを保存する JBOD ボリュームを指定します。デフォルトでは、ログは ID が最も小さいボリュームに保存されます。
詳細は、KRaft メタデータログを保存するために使用するストレージボリュームの設定 を参照してください。
4.2.2. KRaft: スケールダウン後の KRaft ノードの登録解除
ノードがクラスターから削除されると、ノードは登録解除され、追跡されなくなりました。Kafka カスタムリソースの .status.nodeIds
プロパティーに、ノード ID の完全なリストが格納されます。このリストは、削除されたノードを特定して登録解除するために使用されます。
これは一時的な修正であり、ノードの登録解除のために Kafka KIP-1073 が実装されるときに削除される予定です。
4.2.3. OAuth 2.0: 新しい JWT 検証およびクライアント認証プロパティー
リスナーとクライアントの OAuth 2.0 認証用に OAuth 設定オプションが追加されました。
-
リスナーでは、
serverBearerTokenLocation
とuserNamePrefix
が追加されました。 -
クライアントでは、
accessTokenLocation
、clientAssertion
、clientAssertionLocation
、clientAssertionType
、oauth.sasl.extension
が追加されました。
詳細は、リスナーでの OAuth 2.0 認証の設定 および Kafka コンポーネントでの OAuth 2.0 の設定 を参照してください。
4.2.4. コンポーネントへのボリュームの追加
Streams for Apache Kafka で、Kafka コンポーネント、User Operator、Topic Operator の追加ボリュームとボリュームマウントの指定がサポートされるようになりました。ボリュームは Pod テンプレート (template.pod
) で設定できます。ボリュームマウントはコンポーネントのリソース内のコンテナーテンプレート (template.KafkaContainer
) で定義できます。今後の Kafka および Streams for Apache Kafka 更新との互換性を確保するために、マウントされた追加パスは、すべて /mnt
内に配置されます。
詳細は、追加ボリューム を参照してください。
4.2.5. 信頼済み証明書のファイル名パターンのサポート
証明書名を使用する代わりに、新しい pattern
プロパティーを使用して、パターンに基づいてリソース設定で証明書を指定できるようになりました。たとえば、信頼済み証明書を設定するときに、特定の証明書名ではなく、pattern: "*.crt"
を指定できます。これにより、証明書ファイル名が変更されても、関連するカスタムリソースを更新する必要がなくなります。
この設定を Kafka Connect、Kafka MirrorMaker、および Kafka Bridge コンポーネントに追加して、Kafka クラスターへの TLS 接続を実現できます。pattern プロパティーは、認可サーバーと統合する oauth
、keycloak
、opa
認証および認可タイプの設定で使用することもできます。
詳細は、CertSecretSource
スキーマリファレンス を参照してください。
4.2.6. リスナーでのアドレスの公開
publishNotReadyAddresses
プロパティーを使用して外部 Kafka リスナーを設定し、Pod が準備完了でなくてもサービスエンドポイントを 準備完了 と見なせるようになりました。
詳細は、GenericKafkaListenerConfiguration
スキーマプロパティー を参照してください。
4.2.7. ノードポートリスナーでの外部 IP アドレスのサポート
ノードポートを設定するときに、外部 IP アドレスを指定できるようになりました。externalIPs
プロパティーを使用して、外部 IP アドレスを Kafka ブートストラップサービスおよびノードポートサービスに関連付けます。このアドレスは、Kubernetes クラスター外部のクライアントが Kafka ブローカーにアクセスするために使用します。
詳細は、GenericKafkaListenerConfigurationBootstrap
スキーマプロパティー および GenericKafkaListenerConfigurationBroker
スキーマプロパティー を参照してください。
4.2.8. スタンドアロン Topic Operator のカスタム SASL 設定
カスタムの SASL 認証を設定する必要がある場合、スタンドアロン Topic Operator の STRIMZI_SASL_CUSTOM_CONFIG_JSON
環境変数を使用して、必要な認証プロパティーを定義できるようになりました。たとえば、この設定は、カスタムログインモジュールを使用してクラウドプロバイダーの Kafka クラスターにアクセスするために使用できます。
詳細は、スタンドアロン Topic Operator のデプロイ を参照してください。
4.2.9. フィーチャーゲートの Operator サポートの拡張
サポートされているフィーチャーゲートを、すべての Streams for Apache Kafka Operator に適用できるようになりました。フィーチャーゲートは、ある Operator では使用され、他の Operator では無視されることがありますが、すべての Operator で設定できます。`Kafka` カスタムリソースのコンテキスト内で User Operator と Topic Operator をデプロイすると、それらにフィーチャーゲート設定が Cluster Operator によって自動的に伝播されます。User Operator と Topic Operator をスタンドアロンでデプロイし、フィーチャーゲートを設定できる Cluster Operator がない場合は、それらの Operator をデプロイメント内で直接設定する必要があります。
4.2.10. MirrorMaker 2 ターゲットクラスターのチェック
KafkaMirrorMaker2
リソースの connectCluster
設定で ターゲット Kafka クラスターが指定されていない場合、警告がトリガーされるようになりました。
4.2.11. 失敗したコネクターおよびコネクタータスクに関するアラート
失敗したコネクターとタスクに関する新しいアラートが、メトリクス例 (prometheus-rules.yaml
) に追加されました。
4.2.12. 証明書の有効期限のメトリクス
証明書の有効期限を監視するためのメトリクスが利用できるようになりました。Operator の Grafana ダッシュボードの例 (strimzi-operators.json
) では、クラスターごとに証明書の有効期限が示されます。