4.6. Fuse Online のアップグレード
時々、パッチとセキュリティー修正が組み込まれた新しいアプリケーションイメージが Fuse Online に対してリリースされます。これらの更新は、Red Hat のエラータ更新チャネルを介して通知されます。その後、Fuse Online イメージをアップグレードできます。
OCP 4.x の場合、Upgrading Fuse Online by using the OperatorHub の手順に従って、Fuse Online 7.11 から 7.12 にアップグレードします。
OCP 3.11 の場合は、「インストールスクリプトを使用した Fuse Online のアップグレード」の説明にしたがって、インストールスクリプトを使用して Fuse Online 7.9 から 7.10 にアップグレードします。
Fuse Online 7.12 へのアップグレードにより、既存のインテグレーションを変更する必要があるかどうかを判断する必要があります。変更が必要ない場合でも、Fuse Online をアップグレードするときに、実行中のインテグレーションを再パブリッシュする必要があります。
4.6.1. OperatorHub (OCP 4.x) を使用した Fuse Online のアップグレード
OpenShift OperatorHub を使用して Fuse Online 7.9 から 7.10 にアップグレードします。
- Fuse Online 7.9.x から Fuse Online 7.10.1 にアップグレードする場合は、リリースノートの Upgrading from Fuse Online 7.9.x to 7.10.1 requires manual upgrade steps の説明にしたがって、最初に Fuse Online 7.10.0 に手動でアップグレードする必要があります。
- Fuse Online 7.10 には OpenShift Container Platform (OCP) 4.6 以降が必要です。OCP 4.5 以前を使用している場合、Fuse Online 7.10 にアップグレードするには、OCP 4.6 以降にアップグレードする必要があります。
OCP 4.9 では、7.10 にアップグレードすると、Fuse Online Operator のアップグレードプロセス時に以下の警告が表示されます。
W1219 18:38:58.064578 1 warnings.go:70] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
この警告は、クライアント (Fuse Online が Kubernetes/OpenShift API 初期化コードに使用する) が非推奨の Ingress バージョンにアクセスするために表示されます。この警告は、非推奨の API が完全に使用されていることを示すものでは なく、Fuse Online7.10 へアップグレードすることに問題はありません。
Fuse Online 7.9 から、または 7.10 の初期バージョンから、Fuse Online 7.10 の新しいバージョンへのアップグレードプロセスは、Fuse Online のインストール時に選択した Approval Strategy によって異なります。
- Automatic (自動) 更新の場合、新しいバージョンの Fuse Online Operator が使用できるようになると、人的な介入なしで OpenShfit Operator Lifecycle Manager (OLM) によって、Fuse Online の稼働中のインスタンスが自動的にアップグレードされます。
- Manual (手動) 更新の場合、Operator の新しいバージョンが使用できるようになると、OLM によって更新リクエストが作成されます。クラスター管理者は、OpenShift ドキュメントの Manually approving a pending Operator upgrade セクションで説明されているように、更新リクエストを手動で承認して Fuse Online Operator を新しいバージョンに更新する必要があります。
インフラストラクチャーのアップグレード中およびアップグレード後も、既存のインテグレーションは引き続き Fuse Online ライブラリーおよび依存関係の古いバージョンで実行されます。
更新された Fuse Online バージョンで既存のインテグレーションを実行するには、インテグレーションを再パブリッシュする必要があります。
4.6.2. インストールスクリプト (OCP 3.11) を使用した Fuse Online のアップグレード
OCP 3.11 の場合、以下のアップグレードにおけるインストールスクリプトの手順は同じになります。
- Fuse Online 7.9 から Fuse Online 7.10 へ
- Fuse Online 7.10 バージョンから Fuse Online 7.10 のさらに新しいバージョンへ
前提条件
オンサイトで OCP 3.11 に Fuse Online バージョン 7.9 をインストールして実行しているか、または OCP 3.11 に Fuse Online バージョン 7.10 をインストールして実行していて、新しいアプリケーションイメージにアップグレードする必要がある。
以前のバージョンの場合は以下が必要になります。
- OCP で Fuse Online バージョン 7.8 を実行している場合は、7.9 にアップグレード してから 7.10 にアップグレードする必要があります。
- OCP で Fuse Online バージョン 7.7 を実行している場合は、7.8 にアップグレード してから 7.9 にアップグレードする必要があります。
- OCP で Fuse Online バージョン 7.6 を実行している場合は、7.7 にアップグレード してから 7.8 にアップグレードする必要があります。
- OCP で Fuse Online バージョン 7.5 を実行している場合は、7.6 にアップグレード してから 7.7 にアップグレードする必要があります。
- OCP で Fuse Online バージョン 7.4 を実行している場合は、7.5 にアップグレード してから 7.6 にアップグレードする必要があります。
- OCP で Fuse Online バージョン 7.3 を実行している場合は、7.4 にアップグレード してから 7.5 にアップグレードする必要があります。
- OCP で Fuse Online バージョン 7.2 を実行している場合は、7.3 にアップグレード する必要があります。
- OCP で Fuse Online バージョン 7.1 を実行している場合は、7.2 にアップグレード する必要があります。
-
oc
クライアントツールをインストール済みであり、Fuse Online がインストールされている OCP クラスターに接続されている。 - クラスター管理者権限が必要です。この手順の最初の 2 つのステップで必要になります。
手順
- Docker の制限エラーが発生しないようにするため、クラスター管理者は、Access Docker images before an upgrade の説明にしたがって、Docker イメージへのアクセスを設定します。
クラスター管理者は、Fuse Online パッケージをダウンロードしてして、特定のプロジェクトでユーザーに対して Fuse Online のアップグレード権限を割り当てる必要があります。
以下の場所から Fuse Online インストールスクリプトが含まれるパッケージをダウンロードします。
https://github.com/syndesisio/fuse-online-install/releases/tag/1.13
ファイルシステムの任意の場所で、ダウンロードしたアーカイブを展開します。
fuse-online-install-1.13
ディレクトリーには、Fuse Online のアップグレード用のスクリプトとサポートファイルが含まれます。展開したアーカイブが含まれるディレクトリーに移動します。以下に例を示します。
cd fuse-online-install-1.13
以下のように、クラスター管理者アカウントで OpenShift にログインします。
oc login -u admin -p admin
Fuse Online をアップグレードする必要のある OpenShift プロジェクトに切り替えます。
oc project fuse-online-project
Fuse Online のカスタムリソース定義を更新します。
bash install_ocp.sh --setup
そのプロジェクト内だけで、Fuse Online のアップグレード権限を割り当てます。たとえば、以下のコマンドは、
developer
ユーザーに、Fuse Online のアップグレード権限を割り当てます。クラスター管理者がこのコマンドを実行した後に、developer
ユーザーは対象のプロジェクトでのみ (fuse-online-project
) Fuse Online をアップグレードできます。bash install_ocp.sh --grant developer
Fuse Online のアップグレード権限を割り当てられたユーザーは、アプリケーションを実行できます。
以下のように、OpenShift にログインします。
oc login -u developer
以下のように、Fuse Online をアップグレードするプロジェクトに切り替えます。
oc project fuse-online-project
アップグレードするバージョンを確認するには、以下のように
--version
オプションを指定して更新スクリプトを実行します。bash update_ocp.sh --version
以下のような更新スクリプトを実行します。
bash update_ocp.sh
このスクリプトの詳細を確認するには、
$ bash update_ocp.sh --help
を実行します。インフラストラクチャーのアップグレード中およびアップグレード後も、既存のインテグレーションは引き続き Fuse Online ライブラリーおよび依存関係の古いバージョンで実行されます。
次のように稼働中の Fuse Online インテグレーションをアップグレードします。
- Fuse Online で、アップグレードするインテグレーションを選択します。
- Edit を選択します。
- Publish を選択してインテグレーションを再パブリッシュします。
インテグレーションの再パブリッシュを行うと、最新の Fuse Online 依存関係を使用して再ビルドが強制されます。
4.6.3. Fuse Online インテグレーションのアップグレード
Fuse Online 7.10 にアップグレードする場合、既存のインテグレーションに変更を加える必要があるかどうかを判別する必要があります。
Camel Migration Considerations に記載の Apache Camel の更新を確認します。
インテグレーションで変更が必要ない場合でも、インフラストラクチャーのアップグレード中およびアップグレード後に、引き続き古いバージョンの Fuse Online ライブラリーおよび依存関係で既存のインテグレーションが実行されるため、稼働中のインテグレーションを再パブリッシュする必要があります。更新されたバージョンで実行するには、再パブリッシュする必要があります。
手順
Fuse Online 環境でインテグレーションを再パブリッシュするには、以下を行います。
- Fuse Online の左側のナビゲーションパネルで Integrations をクリックします。
インテグレーションごとに以下を行います。
- インテグレーションエントリーの右側で をクリックし、Edit を選択します。
- Fuse Online で編集するインテグレーションが表示されたら、右上の Publish をクリックします。
パブリッシュを行うと、最新の Fuse Online 依存関係を使用して再ビルドが強制されます。
インテグレーションのいずれかの要素に更新の必要がある新しい依存関係がある場合、Fuse Online ユーザーインターフェイスに警告が表示されます。