9.3.2.3. CLI クライアント oc を使用したリレーショナルデータベースバックエンドのサンプルアプリケーションのデプロイメント
このセクションでは、リレーショナルデータベースバックエンドのサンプルアプリケーションを構築し、コマンドラインから OpenShift にデプロイする方法を説明します。
前提条件
- developers.redhat.com/launch を使用して作成されたサンプルアプリケーション。詳細は「developers.redhat.com/launch を使用したサンプルアプリケーションのデプロイメント」を参照してください。
-
認証された
ocクライアント。詳細は「CLI クライアントocの認証」を参照してください。
手順
GitHub からプロジェクトのクローンを作成します。
git clone git@github.com:USERNAME/MY_PROJECT_NAME.git
$ git clone git@github.com:USERNAME/MY_PROJECT_NAME.gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、プロジェクトの ZIP ファイルをダウンロードして、展開します。
unzip MY_PROJECT_NAME.zip
$ unzip MY_PROJECT_NAME.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OpenShift プロジェクトを作成します。
oc new-project MY_PROJECT_NAME
$ oc new-project MY_PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - アプリケーションの root ディレクトリーに移動します。
PostgreSQL データベースを OpenShift にデプロイします。データベースアプリケーションの作成時に、ユーザー名、パスワード、およびデータベース名に以下の値を使用するようにしてください。これらの値を使用するサンプルアプリケーションが事前設定されています。異なる値を使用すると、アプリケーションがデータベースと統合できなくなります。
oc new-app -e POSTGRESQL_USER=luke -ePOSTGRESQL_PASSWORD=secret -ePOSTGRESQL_DATABASE=my_data registry.access.redhat.com/rhscl/postgresql-10-rhel7 --name=my-database
$ oc new-app -e POSTGRESQL_USER=luke -ePOSTGRESQL_PASSWORD=secret -ePOSTGRESQL_DATABASE=my_data registry.access.redhat.com/rhscl/postgresql-10-rhel7 --name=my-databaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow データベースのステータスを確認し、Pod が実行中であることを確認します。
oc get pods -w
$ oc get pods -w my-database-1-aaaaa 1/1 Running 0 45s my-database-1-deploy 0/1 Completed 0 53sCopy to Clipboard Copied! Toggle word wrap Toggle overflow my-database-1-aaaaaPod のステータスはRunningで、完全にデプロイされて起動すると ready と示される必要があります。特定の Pod 名が異なります。中間の数字は新規ビルドごとに増えます。末尾の文字は、Pod の作成時に生成されます。maven を使用して OpenShift へのデプロイメントを開始します。
mvn clean fabric8:deploy -Popenshift
$ mvn clean fabric8:deploy -PopenshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、Fabric8 Maven プラグインを使用して OpenShift で S2I プロセス を起動し、Pod を起動します。
アプリケーションのステータスを確認し、Pod が実行していることを確認します。
oc get pods -w
$ oc get pods -w NAME READY STATUS RESTARTS AGE MY_APP_NAME-1-aaaaa 1/1 Running 0 58s MY_APP_NAME-s2i-1-build 0/1 Completed 0 2mCopy to Clipboard Copied! Toggle word wrap Toggle overflow MY_APP_NAME-1-aaaaaPod のステータスはRunningで、完全にデプロイされて起動すると ready と示される必要があります。アプリケーションのサンプルをデプロイして起動すると、そのルートを決定します。
ルート情報の例
oc get routes
$ oc get routes NAME HOST/PORT PATH SERVICES PORT TERMINATION MY_APP_NAME MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME MY_APP_NAME 8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod のルート情報には、アクセスに使用するベース URL が提供されます。上記の例では、
http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAMEをベース URL として使用し、アプリケーションにアクセスします。