Comments
Transcript
Red Hat OpenShift上でのInterstage Application Serverの
Red Hat OpenShift 上での Interstage Application Server の動作手順(Java EE 6 編) 2016/12/22 富士通株式会社 1. はじめに 本資料は、Interstage Application Server の Java EE 6 を Red Hat OpenShift V3 上で動 かす手順について説明します。 1.1. 対象製品 本資料の対象製品は以下です。 Interstage Application Server Enterprise Edition V11.1.1 以降 (for Intel64) Interstage Application Server Standard-J Edition V11.1.1 以降 (for Intel64) 以下の環境、媒体が必要です。 Red Hat Enterprise Linux 7 Red Hat OpenShift Container Platform (Red Hat OpenShift Online は対象外) Interstage Application Server のサーバパッケージ DVD 本資料の手順は以下を使用して検証しています。 Red Hat Enterprise Linux 7.3 Red Hat OpenShift Container Platform 3.3 Interstage Application Server Enterprise Edition V11.2.0 サーバパッケージ DVD のサイズは約 1.5GB、アプリケーション未配備の Docker イメージ のサイズは約 2GB です。 1.2. 前提知識 本資料を読む場合、以下の知識が必要です。 Red Hat Enterprise Linux に関する基本的な知識 Docker に関する基本的な知識 Red Hat OpenShift に関する基本的な知識 Interstage Apllication Server に関する基本的な知識 1/6 All Rights Reserved, Copyright (C) FUJITSU LIMITED 2016 1.3. 商標 Linux(R)は、Linus Torvalds 氏の日本およびその他の国における登録商標または商標です。 Red Hat(R)、OpenShift(R)は、米国およびその他の国において登録された Red Hat, Inc. の 商標です。その他、本資料に記載されている会社名および製品名は、それぞれ各社の商標ま たは登録商標です。 2. 概要 Red Hat OpenShift 上での、Interstage Application Server の Java EE 6 の動作は以下の 手順で構成されます。 1. Interstage Application Server の Java EE 6 の Docker イメージ作成 2. Red Hat OpenShift における作成した Docker イメージの実行 Interstage Application Server の Java EE 6 の Docker イメージ・Pod について、以下の注 意事項があります。 Interstage HTTP Server 2.2 は Docker イメージにインストールされません。 Docker イメージへの Interstage Application Server の修正パッチ適用は本手順に含ま れていません。 syslog のメッセージは Pod(Docker コンテナ)内に出力されません。 3. Interstage Application Server の Java EE 6 の Docker イメージ作成 本手順は root ユーザで実施してください。 3.1. Interstage Application Server のサーバパッケージ DVD のコピー Interstage Application Server のサーバパッケージ DVD をローカルディスクのディレクト リに"iaps"としてコピーします。 以下は、サーバパッケージ DVD を/mnt にマウントして、ローカルディスクの/docker/iaps にコピーする例です。 1. ローカルディスクにコピー先のディレクトリを作成します。 # mkdir -p /docker/iaps 2. サーバパッケージ DVD をマウントします。 # mount -t iso9660 -r /dev/cdrom /mnt 3. サーバパッケージ DVD をローカルディスクにコピーします。 # cp -a /mnt/* /docker/iaps 4. サーバパッケージ DVD をアンマウントします。 # umount /mnt 2/6 All Rights Reserved, Copyright (C) FUJITSU LIMITED 2016 3.2. インストールパラメーターCSV ファイルの作成 図 1 の内容のインストールパラメーターCSV ファイルをファイル名"javaee6.csv"で作成し ます。"parameters,JavaEE6AdminPassword,"で始まる行の changeit については、Java EE 6 の管理者パスワードに変更してください。 図 1: インストールパラメーターCSV ファイルの例 installInfo,Name,isasinst parameters,ServerType,application parameters,InstallType,custom parameters,SecurityMode,secure parameters,SecurityGroup,root parameters,JavaSEKind,JDK parameters,JavaEE6AdminPassword,changeit parameters,FN_JAVASE7,Y parameters,FN_JAVAEE6,Y インストールパラメーターCSV ファイルの詳細は「Interstage Application Server インス トールガイド」の「インストールパラメーターCSV ファイルの作成」を参照してください。 3.3. Dockerfile の作成 図 2 の 内 容 の Dockerfile を 作 成 し ま す 。 以 下 は 、 ベ ー ス イ メ ー ジ に registry.access.redhat.com/rhel7.3 を使用する例です。紙面の都合上、Dockerfile の 1 命令 を複数行に記載してる箇所がありますが、ファイル作成時は 1 行で記述してください。 図 2: Dockerfile の例 FROM registry.access.redhat.com/rhel7.3 COPY iaps /tmp/iaps COPY javaee6.csv /tmp/javaee6.csv RUN /bin/mkdir -p /etc/selinux/targeted/contexts/ RUN echo '<busconfig><selinux></selinux></busconfig>' > /etc/selinux/targeted/contexts/dbus_contexts ENV LANG=ja_JP.UTF-8 RUN sed -ri 's/en_US/ja_JP/' /etc/locale.conf 3/6 All Rights Reserved, Copyright (C) FUJITSU LIMITED 2016 RUN /bin/mv /usr/bin/systemctl /usr/bin/systemctl.org RUN echo 'exit 0' > /usr/bin/systemctl RUN /usr/bin/chmod +x /usr/bin/systemctl ENV CIR_INST_SKIP yes ENV TERM xterm RUN /tmp/iaps/installer/install.sh -s /tmp/javaee6.csv RUN /bin/mv /usr/bin/systemctl.org /usr/bin/systemctl RUN /bin/rm -f /tmp/javaee6.csv RUN /bin/rm -rf /tmp/iaps ENV IS_PCMI_INSTALL /opt/FJSVpcmi CMD [ "/opt/FJSVawjbk/jdk7/bin/java","-XX:+UnlockDiagnosticVMOptions","XX:+LogVMOutput","XX:LogFile=/var/opt/FJSVisje6/pcmi/isje6/trace/jvm.log","classpath","/opt/FJSVisje6/glassfish/lib/gf3-pcmiadapter.jar:/opt/FJSVpcmi/lib/pcmi.jar:/opt/FJSVpcmi/lib/pcmiapi.jar:/opt/FJSVpcmi/lib/protocol.jar","com.fujitsu.interstage.pcmi.Pcmi Main","/var/opt/FJSVisje6/pcmi/isje6" ] 3.4. Docker イメージの作成 以下の手順を実施して、Interstage Application Server の Java EE 6 の Docker イメージ を作成します。 1. Java EE 6 のベアイメージ(Java EE アプリケーション未配備)の Docker イメージ作 成 2. Java EE アプリケーションを配備した Docker イメージ作成 3.4.1. Interstage Application Server の Java EE 6 のベアイメージ作成 1. 以下を同じディレクトリに配置します。 3.1 で Interstage Application Server のサーバパッケージ DVD をコピーしたディ レクトリ"iaps" 2. 3.2 で作成したインストールパラメーターCSV ファイル"javaee6.csv" 3.3 で作成した"Dockerfile" Docker イメージを作成します。 4/6 All Rights Reserved, Copyright (C) FUJITSU LIMITED 2016 以下は、Dockerfile をディレクトリ"/docker"に配置して、名前"javaee6interstage"の Docker イメージを作成する例です。 # docker build -t javaee6interstage /docker 3.4.2. Java EE アプリケーションを配備した Docker イメージの作成 Java EE 6 のベアイメージ(Java EE アプリケーション未配備)の Docker コンテナを開始 すると、PCMI サービスだけが起動されます。Interstage Java EE 6 DAS サービスを起動 してから、Java EE アプリケーションを配備します。また、IJServer クラスタの自動起動 を設定します。 1. 3.4.1 で作成した Docker イメージから Docker コンテナを起動します。 以下は Docker イメージ"javaee6interstage"から Docker コンテナ"javaee6container" を起動する例です。 # docker run --name javaee6container -di javaee6interstage 2. Interstage Application Server の Java EE 6 実行環境をセットアップします。 アプリケーションはコピーするなどして、Docker コンテナに配置します。Docker コン テナに乗り込んで、Java EE アプリケーションの配備や、IJServer クラスタの自動起 動など必要な定義変更を実施します。 # docker cp my-app.war javaee6container:/tmp/ # docker exec -it javaee6container bash # /opt/FJSVisje6/glassfish/bin/asadmin start-domain Interstage Java EE 6 DAS サービスを起動したら、IJServer クラスタの作成や Java EE アプリケーションの配備、定義変更を実施します。また、Interstage Java EE 6 DAS サービスと IJServer クラスタの自動起動を設定します。 3. Java EE アプリケーションを配備した Docker コンテナをコミットして、Docker イメ ージを作成します。 以 下 は 、 Docker コ ンテナ "javaee6container" をコ ミ ッ ト し て 、 Docker イ メ ー ジ "javaee6appimage"を作成する例です。 # docker commit javaee6container javaee6appimage 4. Red Hat OpenShift 上での Interstage Application Server Java EE 6 の実行 以下の手順を実施して、Interstage Application Server の Java EE 6 を Red Hat OpenShift で実行します。 (注意事項) 5/6 All Rights Reserved, Copyright (C) FUJITSU LIMITED 2016 Interstage Application Server の Java EE 6 の Docker イメージの実行は root 権限が必要 です。root 権限で Docker イメージを実行できるように Red Hat OpenShift のユーザ、プ ロジェクトを設定してください。詳細は以下を参照してください。 Red Hat OpenShift Documentation [1] OpenShift Container Platform Cluster Administration Managing Security Context Constraints 1. Red Hat OpenShift からアクセス可能なリポジトリに、Docker イメージを登録します。 本手順は、Docker イメージを作成した環境で実行します。 以 下 は 、 ロ ー カ ル リ ポ ジ ト リ "192.168.100.102:5000" に 、 Docker イ メ ー ジ を "192.168.100.102:5000/javaee6appimage:latest "として登録する例です。 # docker tag javaee6appimage 192.168.100.102:5000/javaee6appimage:latest # docker push 192.168.100.102:5000/javaee6appimage:latest 2. Red Hat OpenShift にログインします。 3. Red Hat OpenShift 上で、リポジトリに登録した Docker イメージを実行します。 以下は、Docker イメージ"192.168.100.102:5000/javaee6appimage:latest"を "javaee6app"として実行する例です。 # oc new-app --dockerimage=192.168.100.102:5000/javaee6appimage:latest --name javaee6app 4. Java EE アプリケーションを配備したサーバーインスタンスの HTTP リスナーや HTTPS リスナーのポート番号を公開します。 以下は、http://192.168.100.6:28292/として HTTP リスナーを公開する例です。 # oc expose dc/javaee6app --port=28292 --external-ip=192.168.100.6 以上 [1] Red Hat OpenShift Documentation "https://docs.openshift.com/" 6/6 All Rights Reserved, Copyright (C) FUJITSU LIMITED 2016