ページの先頭行へ戻る
Interstage Application Server V12.2.0 Red Hat OpenShift上での利用手順書
FUJITSU Software

4.2.3 Red Hat OpenShift上でのJ2EEアプリケーションの実行

Red Hat OpenShift上でのJ2EEアプリケーションの実行の流れを以下に示します。

以下の手順を実施して、本製品に配備したJ2EEアプリケーションをRed Hat OpenShift上で実行します。

注意

  • 本製品のJ2EEのDockerイメージの実行はroot権限が必要です。root権限でDockerイメージを実行できるようにRed Hat OpenShiftのユーザ、プロジェクトを設定してください。詳細は以下を参照してください。

    Red Hat OpenShift Documentation  (https://docs.openshift.com/)
     OpenShift Container Platform
      Cluster Administration
       Managing Security Context Constraints
  • Podを再起動すると、Dockerコンテナが削除され、Dockerイメージから新たなDockerコンテナが生成されます。

    ユーザーアプリケーションが出力するログやシスログは永続ストレージを指定してください。詳細は以下を参照してください。

    Red Hat OpenShift Documentation  (https://docs.openshift.com/)
     OpenShift Container Platform
      Developer Guide
       Using Persistent Volumes

    なお、Red Hat OpenShiftでは本製品が出力するログ(例えば、IJServerのコンテナログやコンテナ情報ログ)は永続ストレージを指定できません。

    そのため、livenessProbeの設定は無効にすることを推奨します。livenessProbeを設定すると、Interstageサービスがダウンした場合にPodが再起動します。livenessProbeの設定については、「B.2 J2EE」を参照してください。

  1. Red Hat OpenShiftからアクセス可能なリポジトリに、Dockerイメージを登録します。

    本手順は、Dockerイメージ作成環境で実行します。

    以下は、ローカルリポジトリ"docker-registry.aps.svc:5000"に、Dockerイメージ"j2eemyapp:1.0"を"docker-registry.aps.svc:5000/j2eemyapp1.0"として登録する例です。

    # docker tag j2eemyapp:1.0 docker-registry.aps.svc:5000/j2eemyapp:1.0
    # docker push docker-registry.aps.svc:5000/j2eemyapp:1.0
  2. Red Hat OpenShiftにログインします。

  3. oc new-appコマンドに-oオプションを指定して、J2EEのコンテナをRed Hat OpenShift上で作成するための設定ファイルをJ2EEアプリケーション配備済みDockerイメージから作成します。

    以下は、J2EEのコンテナをRed Hat OpenShift上で作成するための設定ファイルを作成する例です。

    # oc new-app --docker-image=docker-registry.aps.svc:5000/j2eemyapp:1.0 --name j2eemyapp -o yaml > j2eemyapp.yaml

    上記例では、イメージ名"docker-registry.aps.svc:5000/j2eemyapp:1.0"のDockerイメージからファイル名"j2eemyapp.yaml"のyaml形式の設定ファイルを作成しています。

  4. 「手順3」で出力された設定ファイルを編集して、以下の設定を行います。

    • IPCパラメーターの設定

    • J2EEが動作するDockerコンテナを特権コンテナとして起動する設定

    • livenessProbeでJ2EEの生存状態を監視する設定

    • 永続ボリュームを利用する設定

    • サービス定義の設定

    設定ファイルのテンプレートの編集内容については、「B.2 J2EE」を参照してください。

  5. 「手順4」で編集した設定ファイルを使ってコンテナを起動します。

    以下は、oc createコマンドを使用して、「手順4」で編集した設定ファイルからコンテナを起動する例です。

    # oc create -f j2eemyapp.yaml

    上記例は、設定ファイルのファイル名が"j2eemyapp.yaml"の場合の例です。

  6. J2EEアプリケーションにアクセスするURLを外部へ公開するためのrouteを作成します。

    システム要件に合わせて以下のいずれかを作成し、--hostnameオプションに指定したホスト名でサービスを公開します。

    • セキュリティ保護されていないroute

      oc exposeコマンドを使用します。

      以下は、ポート番号80をURL http://myapp.example.comで公開するrouteを作成する例です。アプリケーションには、http://myapp.example.com/<Webアプリケーション名>等でアクセスできるようになります。赤字の部分を適宜変更してください。

      # oc expose deploymentconfigs/j2eemyapp --name=j2eemyapp --port=80
      # oc expose svc/j2eemyapp --hostname=myapp.example.com
    • セキュリティ保護されたroute

      oc createコマンドを使用します。

      TLSでHTTP通信を暗号化する場合、routeの--hostnameオプションに指定したホスト名で証明書を作成します。

      以下は、ポート番号80をURL https://myapp.example.comで公開するroute(Edge Termination)を作成する例です。アプリケーションには、https://myapp.example.com/<Webアプリケーション名>等でアクセスできるようになります。赤字の部分を適宜変更してください。

      # oc expose deploymentconfigs/j2eemyapp --name=j2eemyapp --port=80
      # oc create route edge --service=svc/j2eemyapp --hostname=myapp.example.com --key=myapp.key --cert=myapp.crt

    注意

    • シングル・サインオンの業務サーバ機能を利用する場合は、routeに設定するポート番号とホスト名に業務システムの公開URLを設定してください。

      業務システムの公開URLについては、Interstage 管理コンソールの[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム]の[一覧]タブで確認できます。

    • WebサーバとIJServerを別Podで運用し、IJServerで要求を受け付けるWebサーバのIPアドレスを制限する場合は、以下のように設定してください。なお、Webサーバ用のPodやIJServer用のPodを再起動した場合は再設定が必要です。

      • Webサーバの連携設定の「ServletコンテナのIPアドレス」に、IJServerのPodのIPアドレスを設定する。

      • IJServerの「要求を受け付けるWebサーバのIPアドレス」に、WebサーバのPodのIPアドレスを設定する。

      Webサーバの連携設定および「要求を受け付けるWebサーバのIPアドレス」については「J2EE ユーザーズガイド(旧版互換)」の「IJServerとWebサーバを分離して運用する場合の手順」を参照してください。

  7. 「手順6」で--hostnameオプションに指定したホスト名を名前解決できるようにします。

    以下は、Linuxサーバ環境でhostsファイルを修正してホスト名(myapp.example.com)をIPアドレス(203.0.113.2)で名前解決するときの設定例です。

    # cat /etc/hosts
    203.0.113.2   myapp.example.com