第8章 Red Hat OpenShift Container Platform での SpringBoot ビジネスアプリケーションの実行
Red Hat OpenShift Container Platform で Red Hat Process Automation Manager SpringBoot ビジネスアプリケーションを実行するには、イミュータブルイメージを作成し、このイメージを Red Hat OpenShift Container Platform 環境にプッシュします。
必要に応じて、Business Central Monitoring を使用して、アプリケーションでのビジネスプロセスの実行を監視することもできます。
前提条件
- Red Hat Process Automation Manager Spring Boot ビジネスアプリケーションを開発済みである。アプリケーションの作成方法は、2章ビジネスアプリケーションの作成 を参照してください。
- 必要に応じて、アプリケーションに Spring セキュリティーを設定している。Spring セキュリティーの設定方法は、4章Red Hat Process Automation Manager での Spring Security を参照してください。
- ビジネスアプリケーションに必要な追加の Spring 設定を完了している。ビジネスアプリケーションの Spring 設定に関する方法については、5章Red Hat Process Automation Manager Spring Boot の設定 を参照してください。
- ビジネスアプリケーションに、JAR ファイルを 1 つ作成している。SpringBoot ビジネスアプリケーションに単一の JAR ファイルを作成する方法は、6章自己完結型 Red Hat Process Automation Manager Spring Boot JAR ファイルの作成 を参照してください。
-
ocコマンドを使用して Red Hat OpenShift Container Platform 環境にログインしており、必要なプロジェクトがアクティブである。 Business Central Monitoring を使用する場合は、Operator を使用して Business Central Monitoring がインストールされている。同じ namespace を使用して Business Central Monitoring とビジネスアプリケーションをデプロイします。
重要コントローラーの起動ストラテジーを使用するように Business Central Monitoring を設定する必要があります。Business Central Monitoring でコントローラーストラテジーを有効にするには、Operator 設定の Console タブで、
KIE_SERVER_CONTROLLER_OPENSHIFT_ENABLED環境変数を追加し、falseに設定します。
手順
ビジネスアプリケーションプロジェクトディレクトリー外部で、以下のサブディレクトリーを含めて
ocp-imageディレクトリーを作成します。ocp-image |--/root |--/opt |-- /spring-serviceocp-image |--/root |--/opt |-- /spring-serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow ビジネスアプリケーションの単一の JAR ファイルを
root/opt/spring-serviceサブディレクトリーにコピーします。以下に例を示します。cd ../business-application-service cp target/business-application-service-1.0-SNAPSHOT.jar ../ocp-image/root/opt/spring-service/
cd ../business-application-service cp target/business-application-service-1.0-SNAPSHOT.jar ../ocp-image/root/opt/spring-service/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ocp-imageディレクトリーで、以下の内容を含むDockerfileファイルを作成します。FROM registry.access.redhat.com/ubi8/openjdk-11:latest COPY root / EXPOSE 8090 WORKDIR /opt/spring-service/ CMD ["sh","-c", "java ${JAVA_OPTIONS} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]FROM registry.access.redhat.com/ubi8/openjdk-11:latest COPY root / EXPOSE 8090 WORKDIR /opt/spring-service/ CMD ["sh","-c", "java ${JAVA_OPTIONS} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow <FILENAME>.jarは、ビジネスアプリケーションの単一の JAR ファイルの名前に置き換えます。または、Business Central Monitoring との通信を設定する場合は、
Dockerfileに以下のコンテンツを使用します。FROM registry.access.redhat.com/ubi8/openjdk-11:latest COPY root / EXPOSE 8090 WORKDIR /opt/spring-service/ CMD ["sh","-c", "java ${JAVA_OPTIONS} -Dorg.kie.server.location=${KIESERVER_LOCATION} -Dorg.kie.server.controller=${KIESERVER_CONTROLLERS} -Dorg.kie.server.controller.user=${KIE_SERVER_CONTROLLER_USER} -Dorg.kie.server.controller.pwd=${KIE_SERVER_CONTROLLER_PWD} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]FROM registry.access.redhat.com/ubi8/openjdk-11:latest COPY root / EXPOSE 8090 WORKDIR /opt/spring-service/ CMD ["sh","-c", "java ${JAVA_OPTIONS} -Dorg.kie.server.location=${KIESERVER_LOCATION} -Dorg.kie.server.controller=${KIESERVER_CONTROLLERS} -Dorg.kie.server.controller.user=${KIE_SERVER_CONTROLLER_USER} -Dorg.kie.server.controller.pwd=${KIE_SERVER_CONTROLLER_PWD} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow <FILENAME>.jarは、ビジネスアプリケーションの単一の JAR ファイルの名前に置き換えます。初期イメージをビルドし、Red Hat OpenShift Container Platform 環境にデプロイするには、以下の手順を実行します。
イメージをビルドするには、
ocp-imageディレクトリーで以下のコマンドを実行します。oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --follow
oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --followCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション L:
openshift-kie-springbootは、これらのコマンドと後続の全コマンドのカスタムアプリケーションの名前に置き換えます。Red Hat OpenShift Container Platform 環境でイメージをデプロイするには、以下のコマンドを実行します。
oc new-app openshift-kie-springboot
oc new-app openshift-kie-springbootCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、イメージをデプロイして Business Central Monitoring と通信するように設定するには、以下のコマンドを実行します。
oc new-app openshift-kie-springboot -e KIESERVER_LOCATION=http://<LOCATION>:<PORT>/rest/server -e KIESERVER_CONTROLLERS=ws://<BC-HOSTNAME>:<BC-PORT>/websocket/controller -e KIE_SERVER_CONTROLLER_USER=USER -e KIE_SERVER_CONTROLLER_PWD=PASSWORD
oc new-app openshift-kie-springboot -e KIESERVER_LOCATION=http://<LOCATION>:<PORT>/rest/server -e KIESERVER_CONTROLLERS=ws://<BC-HOSTNAME>:<BC-PORT>/websocket/controller -e KIE_SERVER_CONTROLLER_USER=USER -e KIE_SERVER_CONTROLLER_PWD=PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドでは、以下の値を置き換えてください。
-
<location>: サービスにアクセスするための完全修飾ホスト名を指定します。Business Central Monitoring はサービスにアクセスしてプロセス情報を取得し、このホスト名を持つサービスの URL を表示します。 -
<PORT>: サービスにアクセスするためのポート (例:8090) -
<BC-HOSTNAME>: Business Central Monitoring インスタンスにアクセスするためのホスト名アプリケーションが Business Central Monitoring インスタンスと同じプロジェクト/namespace にデプロイされている場合は、Business Central Monitoring のサービス名 (myapp-rhpamcentrmonなど) を使用します。それ以外の場合は、Business Central Monitoring インスタンスのルートの完全修飾クラス名を使用できます。 -
<BC-PORT>:8080などの Business Central Monitoring インスタンスのポート -
<user>: Business Central Monitoring インスタンスに設定したユーザーのユーザー名 <password>: Business Central Monitoring インスタンスに設定したユーザーのパスワード注記この設定では、サービスにセキュアでない HTTP 通信を使用します。Spring Boot ビジネスアプリケーションを有効な SSL 証明書で設定する場合は、
http:はhttps:に置き換えてセキュアな HTTPS 通信を使用できます。Spring Boot での SSL の設定に関する詳細は、Spring Boot の ドキュメント を参照してください。注記Business Central Monitoring からプロセス情報を表示する場合は、Business Central Monitoring にログインしたユーザーが、同じパスワードを使用してサービスで認証できるようにする必要があります。
-
オプション: イメージのルートを公開するには、以下のコマンドを実行します。
oc expose service/openshift-kie-springboot --port=8090
oc expose service/openshift-kie-springboot --port=8090Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新しいバージョンの Red Hat Process Automation Manager または Spring Boot の JAR ファイルをビルドした場合など、すでにイメージをビルドし、更新する必要がある場合には、
ocp-imageディレクトリーで以下のコマンドを実行します。oc start-build openshift-kie-springboot --from-dir=. --follow
oc start-build openshift-kie-springboot --from-dir=. --followCopy to Clipboard Copied! Toggle word wrap Toggle overflow