25.2. Streams for Apache Kafka のアップグレードパス
Streams for Apache Kafka には 2 つのアップグレードパスがあります。
- 増分アップグレード
- 増分アップグレードでは、Streams for Apache Kafka を前のマイナーバージョンからバージョン 2.7 にアップグレードします。
- マルチバージョンアップグレード
- マルチバージョンアップグレードでは、1 つ以上の中間バージョンをスキップして、1 回のアップグレードで Streams for Apache Kafka の古いバージョンをバージョン 2.7 にアップグレードします。たとえば、Streams for Apache Kafka 2.3.0 から Streams for Apache Kafka 2.7 に直接アップグレードすることが可能です。
25.2.1. アップグレード時の Kafka バージョンのサポート
Streams for Apache Kafka をアップグレードする場合、使用中の Kafka バージョンとの互換性を確保することが重要です。
サポートされている Kafka バージョンが新旧バージョンで異なる場合でも、マルチバージョンアップグレードが可能です。ただし、現在の Kafka バージョンをサポートしていない新しい Streams for Apache Kafka バージョンにアップグレードしようとすると、Kafka バージョンがサポートされていないことを示すエラーが生成 されます。この場合、Kafka
カスタムリソースの spec.kafka.version
を、新しい Streams for Apache Kafka バージョンでサポートされているバージョンに変更して、Streams for Apache Kafka のアップグレード中に Kafka バージョンをアップグレードする必要があります。
25.2.2. 1.7 より前のバージョンの Streams for Apache Kafka からアップグレードする
バージョン 1.7 より前のバージョンから Streams for Apache Kafka の最新バージョンにアップグレードする場合は、次の手順を実行します。
- 標準の手順 に従って、Streams for Apache Kafka をバージョン 1.7 にアップグレードします。
-
Streams for Apache Kafka に付属する API 変換ツール を使用して、Streams for Apache Kafka カスタムリソースを
v1beta2
に変換します。 次のいずれかを行います。
-
Streams for Apache Kafka をバージョン 1.8 にアップグレードします(
ControlPlaneListener
フィーチャーゲートはデフォルトで無効になっています)。 -
ControlPlaneListener
フィーチャーゲートを無効にして、Streams for Apache Kafka をバージョン 2.0 - 0.31 (ControlPlaneListener
フィーチャーゲートがデフォルトで有効) にアップグレードします。
-
Streams for Apache Kafka をバージョン 1.8 にアップグレードします(
-
ControlPlaneListener
フィーチャーゲートを有効化します。 - 標準の手順 に従って、Streams for Apache Kafka 2.7 にアップグレードします。
Streams for Apache Kafka のカスタムリソースでは、リリース 1.7 から v1beta2
API バージョンの使用を開始しました。Streams for Apache Kafka 1.8 にアップグレードする 前 に、CRD とカスタムリソースを変換する必要があります。API 変換ツールの使用方法については、Streams for Apache Kafka 1.7 アップグレードドキュメント を参照してください。
最初にバージョン 1.7 にアップグレードする代わりに、カスタムリソースをバージョン 1.7 からインストールしてから、リソースを変換することができます。
ControlPlaneListener
機能が、Streams for Apache Kafka で永続的に有効になりました。この機能が無効な Streams for Apache Kafka のバージョンにアップグレードしてから、Cluster Operator 設定の STRIMZI_FEATURE_GATES
環境変数を使用して有効にする必要があります。
ControlPlaneListener
フィーチャーゲートの無効化
env: - name: STRIMZI_FEATURE_GATES value: -ControlPlaneListener
ControlPlaneListener
フィーチャーゲートの有効化
env: - name: STRIMZI_FEATURE_GATES value: +ControlPlaneListener
25.2.3. Kafka バージョンおよびイメージマッピング
Kafka のアップグレード時に、STRIMZI_KAFKA_IMAGES
環境変数と Kafka.spec.kafka.version
プロパティーの設定について考慮してください。
-
各
Kafka
リソースはKafka.spec.kafka.version
を使用して設定できます。指定しない場合は、デフォルトでサポートされている最新の Kafka バージョン (3.7.0) が設定されます。 Cluster Operator の
STRIMZI_KAFKA_IMAGES
環境変数は、Kafka バージョンと、特定のKafka
リソースで特定の Kafka バージョンが要求されたときに使用されるイメージとの間のマッピング (<kafka_version>=<image>) を提供します。たとえば、3.7.0=registry.redhat.io/amq-streams/kafka-37-rhel9:2.7.0 です。-
Kafka.spec.kafka.image
を設定しないと、そのバージョンのデフォルトのイメージが使用されます。 -
Kafka.spec.kafka.image
を設定すると、デフォルトのイメージがオーバーライドされます。
-
Cluster Operator は、Kafka ブローカーの想定されるバージョンが実際にイメージに含まれているかどうかを検証できません。所定のイメージが所定の Kafka バージョンに対応することを必ず確認してください。