第6章 アプリケーションの移行
6.1. 概要
以下のトピックでは、OpenShift version 2 (v2) アプリケーションから OpenShift version 3 (v3) に移行する手順を説明します。
以下のトピックでは、OpenShift v2 に固有の用語を使用します。Comparing OpenShift Enterprise 2 and OpenShift Enterprise 3 では、これら 2 つのバージョンや、使用する用語の違いについて詳しく説明しています。
OpenShift v2 アプリケーションから OpenShift Container Platform v3 に移行するには、各 v2 カートリッジは OpenShift Container Platform v3 の対応のイメージまたはテンプレートと同等であり、個別に移行する必要があるので、v2 アプリケーションのすべてのカートリッジを記録する必要があります。またそれぞれのカートリッジについて、すべての依存関係または必要なパッケージは v3 イメージに含める必要があるため、それらを記録する必要もあります。
一般的な移行手順は以下のとおりです。
v2 アプリケーションをバックアップします。
- Web カートリッジ: ソースコードは、GitHub のリポジトリーにプッシュするなど、Git リポジトリーにバックアップすることができます。
-
データベースカートリッジ: データベースは、dump コマンドを使用してバックアップすることができます (
mongodump
、mysqldump
、pg_dump
)。 Web およびデータベースカートリッジ:
rhc
クライアントツールには、複数のカートリッジをバックアップするスナップショットの機能があります。$ rhc snapshot save <app_name>
スナップショットは展開可能な tar ファイルであり、このファイルには、アプリケーションのソースコードとデータベースのダンプが含まれます。
- アプリケーションにデータベースカートリッジが含まれる場合には、v3 データベースアプリケーションを作成し、データベースダンプを新しい v3 データベースアプリケーションの Pod に同期してから、データベースの復元コマンドを使用して v3 データベースアプリケーションに v2 データベースを復元します。
- Web フレームワークアプリケーションの場合には、v3 と互換性を持たせるようにアプリケーションのソースコードを編集します。次に、Git リポジトリーの適切なファイルに必要な依存関係またはパッケージを追加します。v2 環境変数を対応する v3 環境変数に変換します。
- ソース (Git リポジトリー) または Git URL のクイックスタートから v3 アプリケーションを作成します。また、データベースのサービスパラメーターを新規アプリケーションに追加して、データベースアプリケーションと Web アプリケーションをリンクします。
- v2 には統合 git 環境があり、アプリケーションは v2 git リポジトリーに変更がプッシュされるたびに自動的に再ビルドされ、再起動されます。v3 では、ビルドがパブリックの git リポジトリーにプッシュされるソースコードの変更で自動的にトリガーされるようにするために、v3 の初期ビルドの完了後に webhook を設定する必要があります。