第25章 Streams for Apache Kafka のアップグレード
Streams for Apache Kafka インストールをバージョン 2.7 にアップグレードすると、新機能、パフォーマンスの向上、強化されたセキュリティーオプションのメリットが得られます。アップグレード中に、Kafka もサポートされている最新バージョンに更新され、Streams for Apache Kafka のデプロイメントに追加機能とバグ修正が導入されます。
Cluster Operator をアップグレードするには、最初のデプロイ方法と同じ方法を使用します。たとえば、Streams for Apache Kafka のインストールファイルを使用した場合は、そのファイルを変更してアップグレードを実行します。Cluster Operator を 2.7 にアップグレードした後の次のステップは、すべての Kafka ノードをサポートされている最新バージョンの Kafka にアップグレードすることです。Kafka のアップグレードは、Kafka ノードのローリング更新によって Cluster Operator によって実行されます。
新しいバージョンで問題が発生した場合は、Streams for Apache Kafka を以前のバージョンに ダウングレード できます。
リリース済みの Streams for Apache Kafka のバージョンは、Streams for Apache Kafka ソフトウェアダウンロードページ で確認できます。
ダウンタイムなしのアップグレード
高可用性 (レプリケーション係数 3 以上、および均等に分散されたパーティション) で設定されたトピックの場合、アップグレードプロセスによってコンシューマーとプロデューサーにダウンタイムが発生することはありません。
アップグレードによりローリング更新がトリガーされ、プロセスのさまざまな段階でブローカーが 1 つずつ再起動されます。この間、クラスター全体の可用性が一時的に低下するため、ブローカーに障害が発生した場合にメッセージが失われるリスクが増加する可能性があります。
25.1. 必要なアップグレード手順
ダウンタイムなしでブローカーとクライアントをアップグレードするには、Streams for Apache Kafka のアップグレード手順を次の順序で完了する 必要があります。
OpenShift クラスターのバージョンがサポート対象であることを確認します。
Streams for Apache Kafka 2.7 には OpenShift 4.12 - 4.15 が必要です。
- Cluster Operator をアップグレードします。
クラスター設定に応じて Kafka をアップグレードします。
-
KRaft モードで Kafka を使用している場合は、Kafka バージョンと
spec.kafka.metadataVersion
を更新して、すべての Kafka ブローカーとクライアントアプリケーションをアップグレードします。 -
ZooKeeper ベースの Kafka を使用している場合は、Kafka バージョンと
inter.broker.protocol.version
を更新して、すべての Kafka ブローカーとクライアントアプリケーションをアップグレード します。
-
KRaft モードで Kafka を使用している場合は、Kafka バージョンと
Streams for Apache Kafka 2.7 以降、KRaft ベースのクラスター間のアップグレードとダウングレードがサポートされています。