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
env:
- name: STRIMZI_FEATURE_GATES
value: -ControlPlaneListener
ControlPlaneListener フィーチャーゲートの有効化
env:
- name: STRIMZI_FEATURE_GATES
value: +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 バージョンに対応することを必ず確認してください。