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

3.2.3 Red Hat OpenShift上でのJakarta EEアプリケーションの実行

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

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

注意

  • 本製品のGlassFishの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では本製品が出力するログ(例えば、サーバーログやJava VMログ)は永続ストレージを指定できません。

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

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

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

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

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

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

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

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

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

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

    • IPCパラメーターの設定

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

    • livenessProbeでGlassFishを監視する設定

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

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

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

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

    # oc create -f glassfishmyapp.yaml

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

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

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

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

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

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

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

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

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

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

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

    注意

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

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

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

      • Webサーバの連携設定で指定するGlassFish ServerクラスターのIPアドレスに、GlassFish ServerクラスターのPodのIPアドレスを設定する。

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

      Webサーバの連携設定については「GlassFish 設計・構築・運用ガイド」の「Jakarta EEアプリケーションの運用」-「Webサーバーを経由する場合の運用準備」-「WebサーバーとGlassFish Serverクラスターの連携設定」-「WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合」を参照してください。

      「要求を受け付けるIPアドレス」については「GlassFish 設計・構築・運用ガイド」の「定義項目一覧」-「動作環境に関する定義項目」-「HTTPサービスの定義項目」を参照してください。

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

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

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