...

Red Hat OpenShift上でのInterstage Application Serverの

by user

on
Category: Documents
53

views

Report

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
Fly UP