5.4. ブローカーコンテナーイメージのアップグレード
Operator ベースのブローカーのデプロイメントの場合、このセクションの手順では、以下の方法を説明します。
ブローカーコンテナーイメージをアップグレードするどちらのアプローチにも、デプロイの作成に使用されるカスタムリソース (CR) インスタンスの編集が含まれます。
AMQ Broker バージョンを指定してブローカーコンテナーイメージをアップグレードすると、CR で指定されたイメージタグが Red Hat Container Registry の有効なイメージに対応していることを確認する必要がないという点が利点です。代わりに、CR を更新して AMQ Broker のバージョン (たとえば、7.7.0) を指定すると、Operator は最初に既存のデプロイメントで AMQ Broker の指定されたバージョンへの直接アップグレードが可能であることを検証します。アップグレードが可能な場合、Operator は CR を更新して、指定されたバージョンの AMQ Broker (registry.redhat.io/amq7/amq-broker:7.7-2 など) のブローカーコンテナーイメージを指定します。Operator が指定するブローカーイメージは、Operator デプロイメントの環境変数でデフォルトで定義されます。環境変数名は、BROKER_IMAGE_770 など、AMQ Broker のバージョンと一致します。Operator が CR の変更を適用すると、デプロイメントで各ブローカー Pod が再起動し、各 Pod が指定されたイメージバージョンを使用するようにします。
AMQ Broker バージョンを指定してブローカーコンテナーイメージをアップグレードする場合に欠点として考えられるのは、ブローカーイメージが Operator デプロイメントで静的に定義される点です。Operator は、利用可能になった新しいイメージバージョンを Red Hat Container Registry で動的に検索できません。このため、Operator が最初のアップグレードを実行した後にイメージタグを手動で更新するオプションが必要になる場合があります。したがって、ブローカーのデプロイメントが最新バージョンのブローカーコンテナーイメージを引き続き使用することを保証する戦略では、両方のアップグレード方法が混在する可能性があります。
以下の手順は、両方のアプローチを示しています。
5.4.1. イメージタグを指定してブローカーコンテナーイメージをアップグレードする方法 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、イメージタグを指定して、Operator ベースのデプロイメントのブローカーコンテナーイメージをアップグレードする方法を説明します。
前提条件
この手順では、Operator のバージョン 0.15 または 0.13 (つまり、AMQ Broker 7.7 で利用可能な 最初 のバージョンまたは AMQ Broker 7.6 で利用可能なバージョン) を使用して以前のブローカーデプロイメントを作成したことを前提としています。これらのバージョンの Operator に含まれるメインブローカーのカスタムリソース (CR) インスタンスの名前は、
broker_activemqartemis_cr.yamlであること。同様の手順を使用して、Operator のバージョン 0.9 (つまり、AMQ Broker 7.5 で利用可能なバージョンまたは AMQ Broker 7.4 で利用可能な長期サポートバージョン) に基づくデプロイメントのブローカーコンテナーイメージをアップグレードできます。Operator のバージョン 0.9 に含まれるメインブローカー CR の名前は、
broker_v2alpha1_activemqartemis_cr.yamlであること。
手順
-
以前のインストール時にダウンロードして抽出した Operator アーカイブの
deploy/crsディレクトリーで、メインブローカー CR であるbroker_activemqartemis_cr.yamlを開きます。 以下に示すように、
image要素を編集して、最新の AMQ Broker 7.7 コンテナーイメージを指定します。spec: ... deploymentPlan: ... image: registry.redhat.io/amq7/amq-broker:7.7注記前の手順では、完全なイメージタグ (例:
7.7-2) ではなく、floating イメージタグ (つまり、7.7) を指定します。このフローティングタグを指定して変更を適用すると、デプロイメントは 7.7 イメージストリームで利用可能な最新のイメージを 自動的に プルして使用します。さらに、フローティングタグを指定するときに、Stateful Set のimagePullPolicy属性がAlwaysに設定されている場合に、Red Hat Container Registry で利用可能になったときに、デプロイメントは新しい micro イメージバージョン (例:7.7-3、7-7-4など) を自動的にプルして使用します)。- CR ファイルを保存します。
CR 変更を適用します。
$ oc apply -f deploy/crs/broker_activemqartemis_cr.yamlCR の変更を適用すると、デプロイ内の各ブローカー Pod がシャットダウンされ、新しいブローカーコンテナーイメージを使用して再起動されます。デプロイメントに複数のブローカーがある場合、1 つのブローカー Pod のみがシャットダウンし、一度に再起動します。