第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-service
ビジネスアプリケーションの単一の JAR ファイルを
root/opt/spring-service
サブディレクトリーにコピーします。以下に例を示します。cd ../business-application-service cp target/business-application-service-1.0-SNAPSHOT.jar ../ocp-image/root/opt/spring-service/
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"]
<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"]
<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
オプション L:
openshift-kie-springboot
は、これらのコマンドと後続の全コマンドのカスタムアプリケーションの名前に置き換えます。Red Hat OpenShift Container Platform 環境でイメージをデプロイするには、以下のコマンドを実行します。
oc new-app openshift-kie-springboot
または、イメージをデプロイして 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
このコマンドでは、以下の値を置き換えてください。
-
<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
新しいバージョンの Red Hat Process Automation Manager または Spring Boot の JAR ファイルをビルドした場合など、すでにイメージをビルドし、更新する必要がある場合には、
ocp-image
ディレクトリーで以下のコマンドを実行します。oc start-build openshift-kie-springboot --from-dir=. --follow