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


以下の手順では、AMQ Broker バージョンを指定して、Operator ベースのブローカーデプロイメントのブローカーコンテナーイメージをアップグレードする方法を説明します。これは、たとえば Operator を AMQ Broker 7.10.0 にアップグレードする際に、CR の spec.upgrades.enabled プロパティーがすでに true に設定され、spec.version プロパティーが 7.9.0 を指定している場合に実行します。ブローカーコンテナーイメージをアップグレードするには、新しい AMQ Broker バージョン (例: 7.10.0) を手動で指定する必要があります。新しいバージョンの AMQ Broker を指定する場合、Operator はこのバージョンに対応するブローカーコンテナーイメージを自動的に選択します。

前提条件

  • 「Operator によるコンテナーイメージの選択方法」 で説明されているように、CR をデプロイし、ブローカーコンテナーイメージを明示的に指定しない場合、Operator は使用する適切なコンテナーイメージを自動的に選択します。このセクションで説明されているアップグレードプロセスを使用するには、このデフォルトの動作を使用する必要があります。CR でブローカーコンテナーイメージを直接指定し、デフォルト動作を上書きする場合、Operator は以下で説明されているように、ブローカーコンテナーイメージを自動的に AMQ Broker バージョンに対応するようにアップグレードすることはできません

手順

  1. ブローカーデプロイメントのメインブローカー CR インスタンスを編集します。

    1. OpenShift コマンドラインインターフェイスの使用:

      1. ブローカーデプロイメントのプロジェクトで CR を編集およびデプロイする権限を持つユーザーとして OpenShift にログインします。

        $ oc login -u <user> -p <password> --server=<host:port>
      2. テキストエディターで、ブローカーデプロイメントに使用した CR ファイルを開きます。たとえば、これは以前にダウンロードおよび抽出した Operator インストールアーカイブの deploy/crs ディレクトリーにある broker_activemqartemis_cr.yaml ファイルである可能性があります。
    2. OpenShift Container Platform Web コンソールの使用

      1. ブローカーデプロイメントのプロジェクトに CR を編集およびデプロイする権限を持つユーザーとしてコンソールにログインします。
      2. 左側のペインで、Administration Custom Resource Definitions をクリックします。
      3. ActiveMQArtemis CRD をクリックします。
      4. Instances タブをクリックします。
      5. プロジェクトの namespace に対応する CR インスタンスを見つけます。
      6. CR インスタンスの場合は、右側の More Options アイコン (3 つの点) をクリックします。Edit ActiveMQArtemis を選択します。

        コンソールで、YAML エディターが開き、CR インスタンスを編集できるようになります。

  2. ブローカーコンテナーイメージをアップグレードする AMQ Broker のバージョンを指定するには、CR の spec.version プロパティーの値を設定します。以下に例を示します。

    spec:
        version: 7.10.0
        ...
  3. CR の spec セクションで、upgrades セクションを見つけます。このセクションが CR に含まれていない場合は、これを追加します。

    spec:
        version: 7.10.0
        ...
        upgrades:
  4. upgrades セクションに、enabled および minor プロパティーが含まれていることを確認します。

    spec:
        version: 7.10.0
        ...
        upgrades:
            enabled:
            minor:
  5. 指定されたバージョンの AMQ Broker に基づくブローカーコンテナーイメージのアップグレードを有効にするには、enabled プロパティーの値を true に設定します。

    spec:
        version: 7.10.0
        ...
        upgrades:
            enabled: true
            minor:
  6. ブローカーのアップグレード動作を定義するには、minor プロパティーの値を設定します。

    1. AMQ Broker のマイナーバージョン間のアップグレードを許可するには 、minor の値を true に設定します。

      spec:
          version: 7.10.0
          ...
          upgrades:
              enabled: true
              minor: true

      たとえば、現在のブローカーコンテナーイメージが 7.9.0 に対応し、spec.version に指定された 7.10.0 バージョンに対応する新しいイメージが利用できるとします。この場合、Operator は 7.9.0 および 7.10.0 のマイナーバージョン間で利用可能なアップグレードがあることを判別します。マイナーバージョン間のアップグレードを可能にする前述の設定に基づいて、Operator によってブローカーのコンテナーイメージがアップグレードされます。

      反対に、現在のブローカーコンテナーイメージが 7.10.0 に対応し、spec.version7.10.1 という新しい 値を指定するとします。7.10.1 に対応するイメージが存在する場合、Operator は、7.10.07.10.1 のマイクロバージョンの間で、利用可能なアップグレードがあると判断します。マイナーバージョン間のアップグレードのみを許可する前述の設定に基づいて、Operator はブローカーのコンテナーイメージをアップグレードしません

    2. マイクロ AMQ Broker バージョン間のアップグレードを許可するには、minor の値を false に設定します。

      spec:
          version: 7.10.0
          ...
          upgrades:
              enabled: true
              minor: false

      たとえば、現在のブローカーコンテナーイメージが 7.9.0 に対応し、spec.version に指定された 7.10.0 バージョンに対応する新しいイメージが利用できるとします。この場合、Operator は 7.9.0 および 7.10.0 のマイナーバージョン間で利用可能なアップグレードがあることを判別します。前述の設定に基づいて、マイナーバージョン間のアップグレードを許可しない (マイクロバージョン間のアップグレードのみ)、Operator はブローカーのコンテナーイメージをアップグレードしません

      反対に、現在のブローカーコンテナーイメージが 7.10.0 に対応し、spec.version7.10.1 という新しい 値を指定するとします。7.10.1 に対応するイメージが存在する場合、Operator は、7.10.07.10.1 のマイクロバージョンの間で、利用可能なアップグレードがあると判断します。マイクロバージョン間のアップグレードを可能にする前述の設定に基づいて、Operator によってブローカーのコンテナーイメージがアップグレードされます。

  7. 変更を CR に適用します。

    1. OpenShift コマンドラインインターフェイスの使用:

      1. CR ファイルを保存します。
      2. ブローカーデプロイメントのプロジェクトに切り替えます。

        $ oc project <project_name>
      3. CR を適用します。

        $ oc apply -f <path/to/broker_custom_resource_instance>.yaml
    2. OpenShift Web コンソールの使用

      1. CR の編集が完了したら、Save をクリックします。

    CR の変更を適用する際に、Operator はまず spec.version に指定された AMQ Broker バージョンへのアップグレードが利用可能であることを検証します。アップグレードする無効なバージョンの AMQ Broker を指定している場合 (たとえば、まだ利用できないバージョンなど)、Operator は警告メッセージをログに記録し、それ以上のアクションを取ることができません。

    ただし、指定されたバージョンにアップグレードできupgrade.enabled および upgrades.minor に指定される値を指定すると、デプロイメントの各ブローカーが、新しい AMQ Broker バージョンに対応するブローカーコンテナーイメージを使用するようになります。

    Operator が使用するブローカーコンテナーイメージは、Operator デプロイメントの operator.yaml 設定ファイルの環境変数で定義されます。環境変数名には、AMQ Broker バージョンの ID が含まれます。たとえば、環境変数 RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7100 は AMQ Broker 7.10.7 に対応しています。

    Operator が CR の変更を適用すると、デプロイメントで各ブローカー Pod が再起動し、各 Pod が指定されたイメージバージョンを使用するようにします。デプロイメントに複数のブローカーがある場合、1 つのブローカー Pod のみがシャットダウンし、一度に再起動します。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.