5.4.2. AMQ Broker バージョンの指定によるブローカーコンテナーイメージのアップグレード

以下の手順では、AMQ Broker バージョンを指定して、Operator ベースのデプロイメントのブローカーコンテナーイメージをアップグレードする方法を説明します。

前提条件

  • カスタムリソース (CR) インスタンスを設定して、指定された AMQ Broker バージョンに基づいてブローカーコンテナーイメージをアップグレードする前に、Operator の バージョンとして、少なくとも 0.15 (つまり、AMQ Broker 7.7 で利用可能な最初のバージョン) を使用する必要があります。.Operator を AMQ Broker 7.7 の最新 バージョンにアップグレードする方法については、以下を参照してください。

手順

  1. 以前のインストール時にダウンロードして抽出した Operator アーカイブの deploy/crs ディレクトリーで、メインブローカー CR である broker_activemqartemis_cr.yaml を開きます。
  2. CR の upgrades セクションで、7.6.07.7.0 の間など、AMQ Broker のマイナーバージョン間でのブローカーコンテナーイメージのアップグレードを有効にします。

    spec:
        ...
        upgrades:
            enabled: true
            minor: true
    注記

    AMQ Broker のマイナーバージョン間のアップグレードを有効にするには、前述のオプションを 両方ともtrue に設定する必要があります。

  3. CR の バージョン プロパティーを更新して、アップグレードされたブローカーコンテナーイメージが対応する AMQ Broker のマイナーバージョンを指定します。以下に例を示します。

    spec:
        version: 7.7.0
        ...
        upgrades:
            enabled: true
            minor: true
  4. CR ファイルを保存します。
  5. 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