8.2.2. Kafka ブローカーおよびクライアントアプリケーションのダウングレード

この手順では、AMQ Streams Kafka クラスターを Kafka の下位 (以前の) バージョンにダウングレードする方法 (2.6.0 から 2.5.0 へのダウングレードなど) を説明します。

前提条件

Kafka リソースをダウングレードするには、以下を確認します。

  • 重要:Kafka バージョンの互換性
  • 両バージョンの Kafka をサポートする Cluster Operator が稼働している。
  • Kafka.spec.kafka.config に、ダウングレードする Kafka バージョンでサポートされていないオプションが含まれていない。
  • Kafka.spec.kafka.config に、ダウングレード先の Kafka バージョンでサポートされる log.message.format.versioninter.broker.protocol.version がある。

手順

  1. 必要に応じてエディターで Kafka クラスター設定を更新します。

    oc edit kafka my-cluster
  2. Kafka.spec.kafka.version を変更して、以前のバージョンを指定します。

    たとえば、Kafka 2.6.0 から 2.5.0 へのダウングレードは以下のようになります。

    apiVersion: kafka.strimzi.io/v1beta1
    kind: Kafka
    spec:
      # ...
      kafka:
        version: 2.5.0 1
        config:
          log.message.format.version: "2.5" 2
          inter.broker.protocol.version: "2.5" 3
          # ...
    1
    Kafka のバージョンが以前のバージョンに変更されます。
    2
    メッセージ形式のバージョンは変更されません。
    3
    ブローカー間のプロトコルバージョンは変更されません。
    注記

    log.message.format.version の値と inter.broker.protocol.version の値は、浮動小数点数として解釈されないように、文字列にする必要があります。

  3. Kafka バージョンのイメージが Cluster Operator の STRIMZI_KAFKA_IMAGES に定義されているイメージとは異なる場合は、Kafka.spec.kafka.image を更新します。

    「Kafka バージョンおよびイメージマッピング」 を参照してください。

  4. エディターを保存して終了し、ローリングアップデートの完了を待ちます。

    更新をログで確認するか、または Pod 状態の遷移を監視して確認します。

    oc logs -f CLUSTER-OPERATOR-POD-NAME | grep -E "Kafka version downgrade from [0-9.]+ to [0-9.]+, phase ([0-9]+) of \1 completed"
    oc get pod -w

    Cluster Operator ログで INFO レベルのメッセージを確認します。

    Reconciliation #NUM(watch) Kafka(NAMESPACE/NAME): Kafka version downgrade from FROM-VERSION to TO-VERSION, phase 1 of 1 completed
  5. すべてのクライアントアプリケーション (コンシューマー) をダウングレードして、以前のバージョンのクライアントバイナリーを使用します。

    これで、Kafka クラスターおよびクライアントは以前の Kafka バージョンを使用するようになります。