26.2. KRaft ベースの Kafka クラスターとクライアントアプリケーションのダウングレード
KRaft ベースの Streams for Apache Kafka クラスターを以前のバージョンにダウングレードします。KRaft ベースの Streams for Apache Kafka クラスターを下位バージョンにダウングレードする場合 (3.7.0 から 3.6.0 に移行する場合など)、Kafka クラスターで使用されているメタデータバージョンが、ダウングレード先の Kafka バージョンでサポートされているバージョンであることを確認してください。ダウングレード元の Kafka バージョンのメタデータバージョンは、ダウングレード先のバージョンより高くすることはできません。
KRaft ベースのダウングレードに関連するサポートと制限事項については、Apache Kafka のドキュメントを参照してください。
前提条件
- Cluster Operator が稼働中である。
Streams for Apache Kafka クラスターをダウングレードする前に、
Kafka
リソースについて次の点を確認してください。-
Kafka
カスタムリソースには、ダウングレードされる Kafka バージョンでサポートされていないオプションは含まれません。 -
spec.kafka.metadataVersion
は、ダウングレードされる Kafka バージョンでサポートされるバージョンに設定されます。
-
手順
Kafka クラスター設定を更新します。
oc edit kafka <kafka_configuration_file>
metadataVersion
バージョンを、ダウングレードする Kafka バージョンでサポートされているバージョンに変更します。Kafka.spec.kafka.version
は 現在の Kafka バージョンのままにしておきます。たとえば、Kafka 3.7.0 から 3.6.0 にダウングレードする場合:
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: replicas: 3 metadataVersion: 3.6-IV2 1 version: 3.7.0 2 # ...
注記metadataVersion
の値は、浮動小数点数として解釈されないように文字列にする必要があります。-
変更を保存し、Cluster Operator が
Kafka
リソースの.status.kafkaMetadataVersion
を更新するまで待ちます。 Kafka.spec.kafka.version
を以前のバージョンに変更します。たとえば、Kafka 3.7.0 から 3.6.0 にダウングレードする場合:
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: replicas: 3 metadataVersion: 3.6-IV2 1 version: 3.6.0 2 # ...
Kafka バージョンのイメージが Cluster Operator の
STRIMZI_KAFKA_IMAGES
に定義されているイメージとは異なる場合は、Kafka.spec.kafka.image
を更新します。「Kafka バージョンおよびイメージマッピング」を参照してください。
Cluster Operator によってクラスターが更新されるまで待ちます。
すべてのクライアントアプリケーション (コンシューマー) をダウングレードして、以前のバージョンのクライアントバイナリーを使用します。
これで、Kafka クラスターおよびクライアントは以前の Kafka バージョンを使用するようになります。