13.3.2.3. CLI クライアント oc を使用した Relational Database Backend サンプルアプリケーションのデプロイメント

このセクションでは、Relational Database Backend サンプルアプリケーションを構築し、コマンドラインから OpenShift にデプロイする方法を説明します。

前提条件

手順

  1. GitHub からプロジェクトのクローンを作成します。

    $ git clone git@github.com:USERNAME/MY_PROJECT_NAME.git

    または、プロジェクトの ZIP ファイルをダウンロードして、展開します。

    $ unzip MY_PROJECT_NAME.zip
  2. 新しい OpenShift プロジェクトを作成します。

    $ oc new-project MY_PROJECT_NAME
  3. アプリケーションの root ディレクトリーに移動します。
  4. 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
  5. データベースのステータスを確認し、Pod が実行されていることを確認します。

    $ oc get pods -w
    my-database-1-aaaaa   1/1       Running   0         45s
    my-database-1-deploy   0/1       Completed   0         53s

    my-database-1-aaaaa Pod のステータスは Running で、完全にデプロイされて起動すると ready と示される必要があります。特定の Pod 名が異なります。中間の数字は新しいビルドごとに増えます。末尾の文字は、Pod の作成時に生成されます。

  6. maven を使用して OpenShift へのデプロイメントを開始します。

    $ mvn clean oc:deploy -Popenshift

    このコマンドは、OpenShift Maven プラグインを使用して OpenShift で S2I プロセス を起動し、Pod を起動します。

  7. アプリケーションのステータスを確認し、Pod が実行していることを確認します。

    $ 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          2m

    MY_APP_NAME-1-aaaaa Pod のステータスは Running で、完全にデプロイされて起動すると ready と示される必要があります。

  8. サンプルアプリケーションをデプロイして起動すると、そのルートを決定します。

    ルート情報の例

    $ oc get routes
    NAME                 HOST/PORT                                     PATH      SERVICES             PORT      TERMINATION
    MY_APP_NAME   MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME      MY_APP_NAME   8080

    Pod のルート情報は、アクセスに使用するベース URL を提供します。上記の例では、http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME をベース URL として使用し、アプリケーションにアクセスします。