5.4.2. AMQ Broker バージョンの指定によるブローカーコンテナーイメージのアップグレード
以下の手順では、AMQ Broker バージョンを指定して、Operator ベースのデプロイメントのブローカーコンテナーイメージをアップグレードする方法を説明します。
前提条件
カスタムリソース (CR) インスタンスを設定して、指定された AMQ Broker バージョンに基づいてブローカーコンテナーイメージをアップグレードする前に、Operator の バージョンとして、少なくとも 0.15 (つまり、AMQ Broker 7.7 で利用可能な最初のバージョン) を使用する必要があります。.Operator を AMQ Broker 7.7 の最新 バージョンにアップグレードする方法については、以下を参照してください。
手順
-
以前のインストール時にダウンロードして抽出した Operator アーカイブの
deploy/crs
ディレクトリーで、メインブローカー CR であるbroker_activemqartemis_cr.yaml
を開きます。 CR の
upgrades
セクションで、7.6.0
と7.7.0
の間など、AMQ Broker のマイナーバージョン間でのブローカーコンテナーイメージのアップグレードを有効にします。spec: ... upgrades: enabled: true minor: true
注記AMQ Broker のマイナーバージョン間のアップグレードを有効にするには、前述のオプションを 両方とも
true
に設定する必要があります。CR の
バージョン
プロパティーを更新して、アップグレードされたブローカーコンテナーイメージが対応する AMQ Broker のマイナーバージョンを指定します。以下に例を示します。spec: version: 7.7.0 ... upgrades: enabled: true minor: true
- CR ファイルを保存します。
CR 変更を適用します。
$ oc apply -f deploy/crs/broker_activemqartemis_cr.yaml
CR の変更を適用すると、Operator はまず、既存のデプロイメントで AMQ Broker の指定されたバージョンへの直接アップグレードが可能であることを検証します。アップグレードする無効なバージョンの AMQ Broker を指定している場合 (たとえば、まだ利用できないバージョンなど)、Operator は警告メッセージをログに記録し、それ以上のアクションを取ることができません。
ただし、指定されたバージョンへのアップグレードが可能な場合、Operator はデプロイメントの CR インスタンスを自動的に変更して、AMQ Broker の指定されたバージョン (
registry.redhat.io/amq7/amq-broker:7.7-2
など) のブローカーコンテナーイメージを指定します。Operator が使用するデフォルトのブローカーイメージは、Operator デプロイメントの環境変数で定義されています。環境変数名は、BROKER_IMAGE_770
など、AMQ Broker のバージョンと一致します。Operator が CR の変更を適用すると、デプロイメントで各ブローカー Pod が再起動し、各 Pod が指定されたイメージバージョンを使用するようにします。デプロイメントに複数のブローカーがある場合、1 つのブローカー Pod のみがシャットダウンし、一度に再起動します。CR を再オープンまたはリロードすると、Operator が
image
属性を更新したことがわかります。以下に例を示します。spec: ... deploymentPlan: ... image: registry.redhat.io/amq7/amq-broker:7.7-2