5.3. Kafka 3.9.x のサポート
Streams for Apache Kafka は Apache Kafka 3.9.x をサポートおよび使用します。Apache Kafka 3.9.1 の更新は 2.9.1 パッチリリースで導入されました。2.9.3 パッチリリースは引き続きこのバージョンを使用します。サポート対象は、Red Hat によってビルドされた Kafka ディストリビューションのみです。
ブローカーとクライアントアプリケーションを Kafka 3.9.x にアップグレードする前に、Cluster Operator を Streams for Apache Kafka バージョン 2.9 にアップグレードする必要があります。アップグレードの手順は、Streams for Apache Kafka のアップグレード を参照してください。
詳細は、Kafka 3.9.0 および Kafka 3.9.1 のリリースノートを参照してください。
Kafka 3.8.x は、Streams for Apache Kafka 2.9 へのアップグレードの目的でのみサポートされます。
ZooKeeper をサポートする最新リリース
Kafka 3.9.x は KRaft モードへのアクセスを提供します。KRaft モードでは、Raft プロトコルを利用することで ZooKeeper なしで Kafka が実行します。Kafka 3.9 は ZooKeeper をサポートする最終バージョンです。したがって、Streams for Apache Kafka 2.9.x が ZooKeeper を使用する Kafka クラスターと互換性のある最後のバージョンとなります。
ZooKeeper を使用せずに、KRaft (Kafka Raft メタデータ) モードの Kafka クラスターをデプロイするには、Kafka カスタムリソースに strimzi.io/kraft="enabled" アノテーションを含め、KafkaNodePool リソースを使用してノードのグループの設定を管理する必要があります。
KRaft モードでの Kafka への移行
Streams for Apache Kafka 3.0 を準備するには、KRaft モードの Kafka に移行します。
KRaft 移行の手順をロールバックすることは可能ですが、ロールバック手順を正しく実行しないと、メタデータの不整合によりクラスター障害が発生する可能性があります。詳細は、移行時のロールバックの実行 を参照してください。
KRaft モードの制限
Kafka 3.9 では動的コントローラークォーラムが導入され、クラスターを再作成せずに KRaft モードでコントローラーをスケーリングできるようになりました。ただし、現在、静的から動的コントローラークォーラムへの移行はサポートされていません。この制限は、静的コントローラークォーラムを使用している既存の Kafka クラスターを、動的クォーラムを使用するように移行できないことを意味します。
既存の KRaft ベースのデプロイメントとの互換性を維持するために、OpenShift 上の Streams for Apache Kafka は、新規インストールの場合でも静的コントローラークォーラムのみを引き続き使用します。その結果、新しいクラスターを作成する場合でも、既存のクラスターを移行または管理する場合でも、動的コントローラークォーラムはまだサポートされていません。
動的クォーラムは、今後の Kafka リリースでサポート予定です。