第8章 AMQ Streams のアップグレード
AMQ Streams をバージョン 1.8 にアップグレードすると、新機能および改良された機能、パフォーマンスの向上、およびセキュリティーオプションを利用できます。
アップグレードの一部として、Kafka をサポートされる最新バージョンにアップグレードします。各 Kafka リリースによって、AMQ Streams デプロイメントに新機能、改善点、およびバグ修正が導入されます。
新しいバージョンで問題が発生した場合は、AMQ Streams を以前のバージョンに ダウングレード できます。
リリースされた AMQ Streams バージョンの一覧は、Red Hat カスタマーポータルの「製品ダウンロード」で確認できます。
アップグレードパス
2 つのアップグレードパスが可能です。
- インクリメント
- AMQ Streams を以前のマイナーバージョンからバージョン 1.8 にアップグレードします。
- マルチバージョン
AMQ Streams を 1 回で古いバージョンからバージョン 1.8 にアップグレードします (1 つ以上の中間バージョンを飛ばします)。
たとえば、AMQ Streams 1.5 から直接 AMQ Streams 1.7 にアップグレードします。
1.7 よりも古いバージョンからのアップグレード
すべてのカスタムリソースの v1beta2 API バージョンが AMQ Streams 1.7 で導入されました。AMQ Streams 1.8 では、KafkaTopic および KafkaUser を除くすべての AMQ Streams カスタムリソースから v1alpha1 および v1beta1 API バージョンが削除されました。
バージョン 1.7 より前の AMQ Streams バージョンからアップグレードする場合は、以下を行います。
- AMQ Streams を 1.7 にアップグレードします。
-
カスタムリソースを
v1beta2に変換します。 - AMQ Streams の 1.8 以降へのアップグレード
別の方法として、バージョン 1.7 からカスタムリソースをインストールし、リソースを変換してから 1.8 以降にアップグレードすることができます。
Kafka バージョンのサポート
Kafka バージョン の表には、AMQ Streams 1.8 でサポートされる Kafka バージョンが記載されています。この表では以下に注意してください。
- 最新の Kafka バージョンは実稼働でサポートされます。
- 最新バージョンより前の Kafka バージョンは、AMQ Streams 1.8 へのアップグレードの目的でのみサポートされます。
AMQ Streams のアップグレードプロセスを開始する前に、アップグレードする Kafka バージョンを決定します。
ご使用のバージョンの AMQ Streams によってサポートされれば、上位バージョンの Kafka にアップグレードできます。サポートされる下位バージョンの Kafka にダウングレードできる場合もあります。
ダウンタイムと可用性
高可用性に対してトピックが設定されている場合、AMQ Streams をアップグレードしても、これらのトピックからデータをパブリッシュおよび読み取るコンシューマーとプロデューサーのダウンタイムは発生しません。高可用性トピックのレプリケーション係数は 3 以上であり、パーティションはブローカー間で均等に分散されます。
AMQ Streams をアップグレードするとローリングアップデートがトリガーされ、プロセスのさまざまな段階ですべてのブローカーが順に再起動されます。ローリングアップデート中に、すべてのブローカーがオンライン状態ではないため、クラスター全体の可用性 は一時的に低下します。クラスターの可用性が低下すると、ブローカーの障害によってメッセージが失われる可能性が高くなります。
8.1. 必要なアップグレードシーケンス リンクのコピーリンクがクリップボードにコピーされました!
ダウンタイムなしでブローカーとクライアントをアップグレードするには、以下の順序で Strimzi アップグレード手順を 必ず 完了してください。
v1beta2API バージョンをサポートするように既存のカスタムリソースを更新します。AMQ Streams 1.7 にアップグレードした後、AMQ Streams 1.8 以降にアップグレードする前にこれを行います。バージョン 1.7 よりも前のバージョンからのマルチバージョンアップグレードの場合:
- この手順を省略し、以下の手順にしたがってバージョン 1.7 にアップグレードします。
- この手順に戻り、このアップグレードシーケンスのすべての手順を実行して 1.8 以降にアップグレードします。
Cluster Operator を新しい AMQ Streams バージョンに更新します。
実施する手法は、Cluster Operator のデプロイ 方法によって異なります。
- インストール用の YAML ファイルを使用して Cluster Operator をデプロイした場合は、「Upgrading the Cluster Operator」の説明に従って、Operator のインストールファイルを変更してアップグレードを実行します。
OperatorHub から Cluster Operator をデプロイした場合は、Operator Lifecycle Manager (OLM) を使用して AMQ Streams Operator の更新チャネルを新しい AMQ Streams バージョンに変更します。
選択したアップグレードストラテジーに応じて、チャネルの更新後に以下のいずれかを実行します。
- 自動アップグレードが開始されます。
手動アップグレードでは、インストールを開始する前に承認が必要です。
OperatorHub を使用した Operator のアップグレードについての詳細は、OpenShift ドキュメントの「Upgrading installed Operators」を参照してください。
すべての Kafka ブローカーとクライアントアプリケーションを、サポートされる最新の Kafka バージョンにアップグレードします。
任意手順: Incremental Cooperative Rebalance のアップグレード
パーティションの再分散に Incremental Cooperative Rebalance プロトコルを使用するために、コンシューマーと Kafka Streams アプリケーションのアップグレードを検討します。