第8章 テンプレートベースのブローカーデプロイメントのアップロード
以下の手順では、アプリケーションテンプレートをベースとするデプロイメントのブローカーコンテナーイメージをアップグレードする方法を説明します。
OpenShift Container Platform 3.11 で既存の AMQ Broker デプロイメントを OpenShift Container Platform 4.1 以降で実行するには、既存のデプロイメントに一致する AMQ Broker をクリーンインストールする前に、まず OpenShift Container Platform インストールをアップグレードする必要があります。AMQ Broker をクリーンインストールするには、以下のいずれかの方法を使用します。
以下の手順では、マイナー バージョン間でイメージ仕様を手動でアップグレードする方法を説明します (例:
7.x
から7.y
)。イメージ仕様で7.y
などの Floating タグを使用する場合、StatefulSet または DeploymentConfig のimagePullPolicy
属性がAlways
に設定されていると、デプロイメントは、新しい micro イメージバージョン (7.y-z
) が利用できるように 自動的 にプルし、使用します。たとえば、デプロイメントの
image
属性が7.7
の Floating タグを指定するとします。デプロイメントで現在マイナーバージョン7.7-2
を使用し、新しいマイナーバージョン7.7-3
がレジストリーで利用可能な場合に、デプロイメントは新しいマイナーバージョンを自動的にプルし、これを使用します。新しいイメージを使用するには、デプロイメントの各ブローカー Pod が再起動します。デプロイメントに複数のブローカーがある場合、ブローカー Pod は一度に 1 つずつ再起動されます。
8.1. 永続的でないブローカーデプロイメントのアップグレード
この手順では、永続的ではないブローカーデプロイメントをアップグレードする方法を説明します。OpenShift Container Platform サービスカタログの永続ではないブローカーテンプレートには、以下のようなラベルがあります。
- Red Hat AMQ Broker 7.x(Ephemeral, no SSL)
- Red Hat AMQ Broker 7.x(Ephemeral, with SSL)
- Red Hat AMQ Broker 7.x(Custom Config、Ephemeral、no SSL)
前提条件
- AMQ Broker 7.3 以降では、新しいバージョンの Red Hat Container Registry を使用してコンテナーイメージにアクセスします。この新しいバージョンのレジストリーでは、イメージにアクセスして OpenShift プロジェクトにプルする前に、認証されたユーザーである必要があります。このセクションの手順を実施する前に、Red Hat コンテナーレジストリーの認証 で説明されている手順を完了する必要があります。
手順
- OpenShift Container Platform Web コンソールに移動し、ログインします。
- 永続的ではないブローカーデプロイメントをアップグレードするプロジェクトをクリックします。
ブローカーのデプロイメントに対応する DeploymentConfig (DC) を選択します。
-
OpenShift Container Platform 4.1 以降では、
をクリックします。 -
OpenShift Container Platform 3.11 で、
をクリックします。ブローカーのデプロイメント内で、Configuration タブをクリックします。
-
OpenShift Container Platform 4.1 以降では、
Actions メニューから Edit DeploymentConfig (OpenShift Container Platform 4.1 以降) または Edit YAML (OpenShift Container Platform 3.11) をクリックします。
DeploymentConfig の YAML タブが開き、編集可能なモードの
.yaml
ファイルが表示されます。-
image
属性を編集して、最新の AMQ Broker 7.7 コンテナーイメージregistry.redhat.io/amq7/amq-broker:7.7
を指定します。 imagePullSecrets
属性を追加し、Red Hat コンテナーレジストリーで認証に使用するアカウントに関連付けられたイメージプルシークレットを指定します。前述の 2 つの手順に基づく変更は、以下の例で示されています。
... spec: containers: image: 'registry.redhat.io/amq7/amq-broker:7.7' .. imagePullSecrets: - name: {PULL-SECRET-NAME}
注記AMQ Broker では、Red Hat イメージレジストリーに追加されたコンテナーイメージの新しいバージョンごとにコンテナーイメージタグが
1
ずつ増えます (例: 7.7-1、7.7-2 など)。最後の数字なしでタグ名を指定した場合 (例:7.7
)、このタグは Floating タグ と呼ばれています。Floating タグを指定する場合、OpenShift Container Platform は利用可能な最新のイメージ (最後の番号が最も大きいイメージタグ) を自動的に識別し、このイメージを使用してブローカーデプロイメントをアップグレードします。Save をクリックします。
現在インストールされているものよりも新しいブローカーイメージが Red Hat Container Registry で利用可能な場合に、OpenShift Container Platform はブローカーのデプロイメントをアップグレードします。これを実行するには、OpenShift Container Platform は既存ブローカー Pod を停止し、新規イメージを使用する新規 Pod を起動します。