Operator を使用した Red Hat OpenShift Container Platform への Red Hat Process Automation Manager 環境のデプロイメント

Red Hat Process Automation Manager 7.4

ガイド

概要

本書では、Red Hat OpenShift Container Platform に Operator を使用して Red Hat Process Automation Manager 7.4 環境をデプロイする方法を説明します。

前書き

システムエンジニアは、Red Hat OpenShift Container Platform に Red Hat Process Automation Manager 環境をデプロイしてプロセスや他のビジネスアセットを開発または実行するインフラストラクチャーを提供できます。OpenShift Operator を使用して、構造化された YAML ファイルに定義された環境をデプロイして、必要に応じてこの環境を維持して変更できます。

前提条件

  • Red Hat OpenShift Container Platform 環境が利用可能であること。Operator は Red Hat OpenShift Container Platform バージョン 4.1 以降でサポートされます。
  • OpenShift 環境で 4 ギガバイト以上のメモリーが利用できる。
  • デプロイメントする OpenShift プロジェクトが作成されている。
  • OpenShift Web コンソールを使用してプロジェクトにログインしている。
  • 動的永続ボリューム (PV) のプロビジョニングが有効になっている。または、動的 PV プロビジョニングが有効でない場合は、十分な永続ボリュームが利用できる状態でなければなりません。デフォルトでは、以下のサイズが必要です。

    • それぞれのデプロイされた Process Server Pod のセットには、デフォルトでデータベースに 1 つの 1Gi PV が必要になります。データベース PV のサイズは変更できます。複数のイミュータブルサーバーをデプロイでき、それぞれには別個のデータベース PV が必要になります。この要件は、外部データベースサーバーを使用する場合には適用されません。
    • デフォルトでは、Business Central は 1 Gi 分の PV が必要です。Business Central 永続ストレージの PV サイズを変更できます。
    • Business Central Monitoring には、1 つの 64Mi PV が必要です。
    • Smart Router には、1 つの 64Mi PV が必要です。
  • Business Central または Business Central Monitoring Pod のいずれかをスケーリングする予定がある場合は、OpenShift 環境では、ReadWriteMany モードで永続ボリュームがサポートされます。

    重要

    ReadWriteMany モードは、OpenShift Online および OpenShift Dedicated ではサポートされません。

第1章 Red Hat OpenShift Container Platform における Red Hat Process Automation Manager の概要

Red Hat Process Automation Manager は、Red Hat OpenShift Container Platform 環境にデプロイすることができます。

この場合に、Red Hat Process Automation Manager のコンポーネントは、別の OpenShift Pod としてデプロイされます。各 Pod のスケールアップおよびスケールダウンを個別に行い、特定のコンポーネントに必要な数だけコンテナーを提供できます。標準の OpenShift の手法を使用して Pod を管理し、負荷を分散できます。

以下の Red Hat Process Automation Manager の主要コンポーネントが OpenShift で利用できます。

  • Process Server (実行サーバー (Execution Server) または KIE Server とも呼ばれる) は、意思決定サービス、プロセスアプリケーションおよびその他のデプロイ可能なアセット (サービス と総称される) を実行するインフラストラクチャー要素です。サービスのすべてのロジックは実行サーバーで実行されます。

    通常、Process Server にはデータベースサーバーが必要です。別の OpenShift Pod にデータベースサーバーを提供したり、別のデータベースサーバーを使用するように OpenShift で実行サーバーを設定したりできます。また、Process Server では H2 データベースを使用できますが、使用する場合は、Pod をスケーリングできません。

    Process Server Pod をスケールアップして、同一または異なるホストで実行するコピーを必要な数だけ提供できます。Pod をスケールアップまたはスケールダウンすると、そのコピーはすべて同じデータベースサーバーを使用し、同じサービスを実行します。OpenShift は負荷分散を提供しているため、要求はどの Pod でも処理できます。

    Process Server Pod を個別にデプロイし、サービスの異なるグループを実行することができます。この Pod もスケールアップやスケールダウンが可能です。複製された個別の Process Server Pod を必要な数だけ設定することができます。

  • Business Central は、オーサリングサービスに対する Web ベースのインタラクティブ環境です。また、管理および監視コンソールも提供します。Business Central を使用してサービスを開発し、Process Server にデプロイできます。また、Business Central を使用してプロセスの実行を監視することもできます。

    Business Central は一元化アプリケーションです。複数の Pod を実行し、同じデータを共有する高可用性用に設定できます。

    Business Central には開発するサービスのソースを保管する Git リポジトリーが含まれます。また、ビルトインの Maven リポジトリーも含まれます。設定に応じて、Business Central はコンパイルしたサービス (KJAR ファイル) をビルドイン Maven リポジトリーに配置できます (設定した場合は外部 Maven リポジトリーにも可能)。

    重要

    現在のバージョンでは、高可用性の Business Central 機能はテクノロジープレビュー機能となっています。Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

  • Business Central Monitoring は Web ベースの管理および監視コンソールです。Process Server へのサービスのデプロイメントを管理し、監視情報を提供しますが、オーサリング機能は含まれません。このコンポーネントを使用して、ステージング環境および実稼働環境を管理できます。
  • Smart Router は、Process Server と、Process Server と対話するその他のコンポーネントとの間の任意のレイヤーです。環境に、複数の Process Server で実行するサービスが多数含まれる場合、Smart Router はすべてのクライアントアプリケーションに対応するエンドポイントを 1 つ提供します。クライアントアプリケーションは、サービスを要求する REST API 呼び出しを実行できます。Smart Router は、特定の要求を処理できる Process Server を自動的に呼び出します。

OpenShift 内でさまざまな環境設定にこのコンポーネントおよびその他のコンポーネントを配置できます。

第2章 OpenShift 環境に Red Hat Process Automation Manager をデプロイする準備

OpenShift 環境に Red Hat Process Automation Manager をデプロイする前に、タスクをいくつか完了する必要があります。追加イメージ (たとえば、プロセスの新しいバージョン、または別のプロセス) をデプロイする場合は、このタスクを繰り返す必要はありません。

2.1. Red Hat レジストリーに対してお使いの環境が認証されていることを確認する方法

Red Hat OpenShift Container Platform の Red Hat Process Automation Manager コンポーネントをデプロイするには、OpenShift が Red Hat レジストリーから適切なイメージをダウンロードできることを確認します。OpenShift は、お使いのサービスアカウントのユーザー名とパスワードを使用して Red Hat レジストリーへの認証が行われるように設定する必要があります。

手順

  1. Red Hat OpenShift Container Platform が Red Hat レジストリーへのアクセス用に、ユーザー名とパスワードで設定されているかを判断します。必須 の設定に関する詳細は、「レジストリーの場所の設定」を 参照してください。OpenShift オンラインサブスクリプションを使用する場合は、Red Hat レジストリー用のアクセスはすでに設定されています。
  2. Red Hat OpenShift Container Platform は、ユーザー名とパスワードで Red Hat レジストリーにアクセスするように設定した場合には、これ以上何もする必要はありません。設定していない場合には、以下の手順を実行してください。

    1. oc コマンドで OpenShift にログインして、プロジェクトがアクティブであることを確認します。
    2. Registry Service Accounts for Shared Environments で説明されている手順を実行します。Red Hat カスタマーポータルにログインして、このドキュメントにアクセスし、レジストリーサービスアカウントを作成する手順を実行します。
    3. OpenShift Secret タブを選択し、Download secret のリンクをクリックして、YAML シークレットファイルをダウンロードします。
    4. ダウンロードしたファイルを確認して、name: エントリーに記載の名前をメモします。
    5. 以下のコマンドを実行します。

      oc create -f <file_name>.yaml
      oc secrets link default <secret_name> --for=pull
      oc secrets link builder <secret_name> --for=pull

      <file_name> はダウンロードしたファイルに、<secret_name> はファイルの name: のエントリーに記載されている名前に置き換えてください。

2.2. Process Server にシークレットの作成

OpenShift は シークレット と呼ばれるオブジェクトを使用してパスワードやキーストアなどの機密情報を保持します。OpenShift のシークレットに関する詳細は、OpenShift ドキュメントの「シークレット 」の章 を参照してください。

HTTPS アクセスを提供するために、Process Server では SSL 証明書を使用します。このデプロイメントでは、サンプルシークレットを自動的に作成できます。ただし、実稼働環境では、Process Server に SSL 証明書を作成し、これをシークレットとして OpenShift 環境に提供する必要があります。

手順

  1. Process Server の SSL 暗号化の秘密鍵および公開鍵を使用して SSL キーストアを生成します。自己署名または購入した SSL 証明書でキーストアを作成する方法は、SSL 暗号化キーおよび証明書 を参照してください。

    注記

    実稼働環境で、Process Server の予想される URL と一致する有効な署名済み証明書を生成します。

  2. キーストアを keystore.jks ファイルに保存します。
  3. 証明書の名前をメモします。Red Hat Process Automation Manager 設定におけるこのデフォルト名は jboss です。
  4. キーストアファイルのパスワードをメモします。Red Hat Process Automation Manager 設定におけるこのデフォルトの値は mykeystorepass です。
  5. oc コマンドを使用して、新しいキーストアファイルからシークレット kieserver-app-secret を生成します。

    $ oc create secret generic kieserver-app-secret --from-file=keystore.jks

2.3. Business Central へのシークレットの作成

HTTPS アクセスを提供するために、Business Central では SSL 証明書を使用します。このデプロイメントでは、サンプルシークレットを自動的に作成できます。ただし、実稼働環境では、Business Central の SSL 証明書を作成し、これをシークレットとして OpenShift 環境に提供する必要があります。

Business Central と Process Server に同じ証明書およびキーストアを使用しないでください。

手順

  1. Business Central の SSL 暗号化の秘密鍵および公開鍵を使用して、SSL キーストアを生成します。自己署名または購入した SSL 証明書でキーストアを作成する方法は、SSL 暗号化キーおよび証明書 を参照してください。

    注記

    実稼働環境で、Business Central の予想される URL と一致する有効な署名済み証明書を生成します。

  2. キーストアを keystore.jks ファイルに保存します。
  3. 証明書の名前をメモします。Red Hat Process Automation Manager 設定におけるこのデフォルト名は jboss です。
  4. キーストアファイルのパスワードをメモします。Red Hat Process Automation Manager 設定におけるこのデフォルトの値は mykeystorepass です。
  5. oc コマンドを使用して、新しいキーストアファイルからシークレット businesscentral-app-secret を生成します。

    $ oc create secret generic businesscentral-app-secret --from-file=keystore.jks

2.4. Smart Router のシークレットの作成

HTTPS アクセスを提供するために、Smart Router では SSL 証明書を使用します。このデプロイメントでは、サンプルシークレットを自動的に作成できます。ただし、実稼働環境では、Smart Router の SSL 証明書を作成し、これをシークレットとして OpenShift 環境に提供する必要があります。

Smart Router の証明書およびキーストアに、Process Server または Business Central で使用されているものと同じものを指定しないでください。

手順

  1. Smart Router の SSL 暗号化の秘密鍵および公開鍵を使用して SSL キーストアを生成します。自己署名または購入した SSL 証明書でキーストアを作成する方法は、SSL 暗号化キーおよび証明書 を参照してください。

    注記

    実稼働環境で、Smart Router の予想される URL と一致する有効な署名済み証明書を生成します。

  2. キーストアを keystore.jks ファイルに保存します。
  3. 証明書の名前をメモします。Red Hat Process Automation Manager 設定におけるこのデフォルト名は jboss です。
  4. キーストアファイルのパスワードをメモします。Red Hat Process Automation Manager 設定におけるこのデフォルトの値は mykeystorepass です。
  5. oc コマンドを使用して、新しいキーストアファイルからシークレット smartrouter-app-secret を生成します。

    $ oc create secret generic smartrouter-app-secret --from-file=keystore.jks

2.5. GlusterFS 設定の変更

OpenShift 環境が GlusterFS を使用して永続ストレージボリュームを提供するかどうかを確認する必要があります。GlusterFS を使用している場合は、最適なパフォーマンスを確保するために、ストレージクラスの設定を変更して GlusterFS ストレージをチューニングする必要があります。

手順

  1. お使いの環境で GlusterFS が使用されているかどうかを確認するには、以下のコマンドを実行します。

    oc get storageclass

    この結果で、(default) マーカーが、glusterfs をリストするストレージクラスにあるかどうかを確認します。たとえば、以下の結果では、デフォルトのストレージクラスが gluster-container であり、glusterfs をリストします。

    NAME              PROVISIONER                       AGE
    gluster-block     gluster.org/glusterblock          8d
    gluster-container (default) kubernetes.io/glusterfs 8d

    結果に、glusterfs をリストしないデフォルトストレージクラスが含まれる場合、または結果が空の場合は、変更する必要がありません。変更しない場合は、残りの手順を省略します。

  2. デフォルトストレージクラスの設定を YAML ファイルに保存するには、以下のコマンドを実行します。

    oc get storageclass <class-name> -o yaml >storage_config.yaml

    <class-name> はデフォルトのストレージクラス名に置き換えます。たとえば、以下のようになります。

    oc get storageclass gluster-container -o yaml >storage_config.yaml
  3. storage_config.yaml ファイルを編集します。

    1. 以下のキーがある行を削除します。

      • creationTimestamp
      • resourceVersion
      • selfLink
      • uid
    2. volumeoptions キーのある行に、features.cache-invalidation on および performance.nl-cache on の 2 つのパラメーターを追加します。以下に例を示します。

      volumeoptions: client.ssl off, server.ssl off, features.cache-invalidation on, performance.nl-cache on
  4. 既存のデフォルトストレージクラスを削除するには、以下のコマンドを実行します。

    oc delete storageclass <class-name>

    <class-name> はデフォルトのストレージクラス名に置き換えます。たとえば、以下のようになります。

    oc delete storageclass gluster-container
  5. 新しい設定を使用してストレージクラスを再作成するには、以下のコマンドを実行します。

    oc create -f storage_config.yaml

2.6. オフラインで使用する Maven ミラーリポジトリーの用意

Red Hat OpenShift Container Platform 環境に公開インターネットへの送信アクセスが設定されていない場合には、必要なアーティファクトすべてのミラーが含まれる Maven リポジトリーを用意して、このリポジトリーを使用できるようにする必要があります。

注記

Red Hat OpenShift Container Platform 環境がインターネットに接続されている場合は、この手順を飛ばして次に進むことができます。

前提条件

  • 公開インターネットへの送信アクセスが設定されているコンピューターが利用できる。

手順

  1. 書き込み可能な Maven リリースリポジトリーを準備します。このリポジトリーは、認証なしに読み込みアクセスを許可する必要があります。OpenShift 環境は、このリポジトリーへのアクセスが必要です。OpenShift 環境に、Nexus リポジトリーマネージャーをデプロイできます。OpenShift への Nexus の設定方法は、「Nexus の 設定」を参照 してください。このリポジトリーを別個のミラーリポジトリーとして使用します。

    または、サービスにカスタムの外部リポジトリー (Nexus など) を使用する場合、同じリポジトリーをミラーリポジトリーとして使用できます。

  2. 公開インターネットに送信アクセスができるコンピューターで、以下のアクションを実行します。

    1. 最新バージョンの Offliner ツール をダウンロードします。
    2. Red Hat カスタマーポータルの Software Downloads ページから利用可能な rhpam-7.4.0-offliner.txt の製品配信可能ファイルをダウンロードします。
    3. 以下のコマンドを入力して、Offliner ツールを使用し、必要なアーティファクトをダウンロードします。

      java -jar offliner-<version>.jar -r https://maven.repository.redhat.com/ga/ -r https://repo1.maven.org/maven2/ -d /home/user/temp rhpam-7.4.0-offliner.txt

      /home/user/temp は空の一時ディレクトリーに、<version> はダウンロードした Offliner ツールのバージョンに置き換えます。ダウンロードにはかなり時間がかかる可能性があります。

    4. このツールにより、ダウンロードの失敗が報告された場合には、以下のコマンドを入力して初回にダウンロードに失敗したアーティファクトをダウンロードします。

      grep Path: errors.log | sed -n -e 's/^.*Path: //p' > failed-downloads.txt
      java -jar offliner-<version>.jar -r https://maven.repository.redhat.com/ga/ -r https://repo1.maven.org/maven2/ -d /home/user/temp failed-downloads.txt

      もう一度ダウンロードの失敗が報告され、失敗数が初回のダウンロード合計数と比較して少しの場合には、続行してください。

    5. 一時ディレクトリーから作成した Maven リポジトリーにすべてのアーティファクトをアップロードします。アーティファクトのアップロードには、Maven Repository Provisioner ユーティリティーを使用できます。
  3. Business Central 外でサービスを開発し、追加の依存関係がある場合は、ミラーリポジトリーにその依存関係を追加します。サービスを Maven プロジェクトとして開発した場合は、以下の手順を使用し、これらの依存関係を自動的に用意します。公開インターネットへに送信接続できるコンピューターで、この手順を実行します。

    1. ローカルの Maven キャッシュディレクトリー (~/.m2/repository) のバックアップを作成して、ディレクトリーを削除します。
    2. mvn clean install コマンドを使用してプロジェクトのソースをビルドします。
    3. すべてのプロジェクトで以下のコマンドを入力し、Maven を使用してプロジェクトで生成したすべてのアーティファクトのランタイムの依存関係をすべてダウンロードするようにします。

      mvn -e -DskipTests dependency:go-offline -f /path/to/project/pom.xml --batch-mode -Djava.net.preferIPv4Stack=true

      /path/to/project/pom.xml は、プロジェクトの pom.xml ファイルへの正しいパスに置き換えます。

    4. ローカルの Maven キャッシュディレクトリー (~/.m2/repository) から作成した Maven ミラーリポジトリーにすべてのアーティファクトをアップロードします。アーティファクトのアップロードには、Maven Repository Provisioner ユーティリティーを使用できます。

第3章 OpenShift Operator を使用した Red Hat Process Automation Manager 環境のデプロイと管理

Red Hat Process Automation Manager 環境をデプロイするために、OpenShift Operator は環境を記述する YAML ソースを使用します。Red Hat Process Automation Manager は、YAML ソースを作成し、環境をデプロイするために使用できるインストーラーを提供します。

Business Automation Operator で環境をデプロイする場合は、環境の YAML 記述を作成し、環境が常にこの記述と一致していることを確認します。記述を編集して環境を変更することができます。

3.1. Business Automation Operator のサブスクライブ

Operator を使用して Red Hat Process Automation Manager をデプロイできるようにするには、OpenShift で Business Automation Operator にサブスクライブする必要があります。Operator がカタログで利用できない場合は、これをダウンロードし、インストールする必要があります。

手順

  1. OpenShift Web クラスターコンソールでプロジェクトに移動します。
  2. OpenShift Web コンソールのナビゲーションパネルで、Catalog を選択してから、OperatorHub を選択します。
  3. Business Automation を検索し、これを選択してから Install をクリックします。
  4. Create Operator Subscription ページで、ターゲットの名前空間および承認ストラテジーを選択します。

    必要に応じて、承認ストラテジーAutomatic に設定して、Operator の自動更新を有効にします。Operator の更新は直ちに製品を更新しませんが、製品を更新する前に必要になります。特定のすべての製品デプロイメントの設定を使用して、自動または手動の製品更新を設定します。

  5. Subscribe をクリックしてサブスクリプションを作成します。

3.2. Operator を使用した Red Hat Process Automation Manager 環境のデプロイ

Business Automation Operator にサブスクライブした後に、インストーラーウィザードを使用して Red Hat Process Automation Manager 環境を設定し、デプロイできます。

重要

Red Hat Process Automation Manager 7.4 では、Operator インストーラーウィザードはテクノロジープレビュー機能となっています。Red Hat のテクノロジープレビュー機能の詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

3.2.1. Business Automation Operator の使用による Red Hat Process Automation Manager 環境のデプロイメントの開始

Business Automation Operator を使用して Red Hat Process Automation Manager 環境のデプロイメントを開始するには、インストーラーウィザードにアクセスします。インストーラーウィザードは Operator にサブスクライブする際にデプロイされます。

前提条件

手順

  1. Red Hat OpenShift Container Platform Web クラスターコンソールメニューで、Catalog → Installed operators を選択します。
  2. businessautomation が含まれる Operator の名前をクリックします。この Operator の情報が表示されます。
  3. ウィンドウの左側にある Installer リンクをクリックします。
  4. プロンプトが出されたら、OpenShift 認証情報でログインします。

結果

ウィザードの Installation タブが表示されます。

3.2.2. 環境の基本設定の設定

Business Automation Operator を使用して Red Hat Process Automation Manager 環境のデプロイを開始した後に、環境のタイプを選択し、他の基本的な設定を行う必要があります。

前提条件

手順

  1. Application Name フィールドに、OpenShift アプリケーションの名前を入力します。この名前は、すべてのコンポーネントのデフォルト URL で使用されます。
  2. Environment 一覧で、環境のタイプを選択します。このタイプは、デフォルトの設定を定めるものです。この設定を必要に応じて変更することができます。以下のタイプは Red Hat Process Automation Manager で利用できます。

    • rhpam-trial: すばやく設定でき、アセットの開発や実行の評価やデモに使用できる試用版の環境。Business Central と Process Server 1 台が含まれています。この環境では永続ストレージを使用しないため、この環境で実行した作業内容は保存されません。
    • rhpam-authoring: Business Central を使用してサービスを作成および修正する環境。この環境は、オーサリングの作業用の Business Central と、サービスのテスト実行用の Process Server 1 台で設定されます。
    • rhpam-authoring-ha: Business Central を使用してサービスを作成し、変更する環境。この環境は、オーサリングの作業用の Business Central と、サービスのテスト実行用の Process Server 1 台で設定されます。このバージョンのオーサリング環境は、高可用性が確保されるように Business Central Pod のスケーリングをサポートします。

      重要

      現行バージョンでは、高可用性 Business Central 機能はテクノロジープレビュー機能となっています。Red Hat のテクノロジープレビュー機能の詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

    • rhpam-production: ステージングおよび実稼働用として既存のサービスを実行するのに使用する環境。この環境には、Business Central Monitoring、Smart Router、および Process Server Pod の 2 つのグループが含まれます。このようなすべてのグループに対してサービスのデプロイおよびデプロイ解除を実行できます。Business Central Monitoring を使用してサービスをデプロイし、実行し、停止し、またそれらの実行を監視します。
    • rhpam-production-immutable: ステージングおよび実稼働の目的で既存のサービスを実行するための別の環境。ソースからサービスをビルドする 1 つ以上の Process Server Pod を設定したり、Maven リポジトリーからサービスをプルしたりできます。その後、必要に応じて各 Pod を複製できます。

      Pod からサービスを削除したり、新しいサービスを Pod に追加したりすることはできません。サービスの別のバージョンを使用するか、他の方法で設定を変更する場合は、新規のサーバーイメージをデプロイして、以前のイメージを置き換えます。コンテナーベースの統合ワークフローを使用して、Pod を管理できます。

      この環境を設定する場合は、KIE Servers タブで Process Server をカスタマイズし、Set immutable server configuration ボタンをクリックするか、KIE_SERVER_CONTAINER_DEPLOYMENT 環境変数を設定します。Process Server の設定手順は、「環境のカスタム Process Server 設定の設定」 を参照してください。

      必要に応じて、Console タブを使用して、この環境に Business Central Monitoring を追加して、プロセスサービスの実行を監視、停止、および再起動することもできます。Business Central Monitoring の設定手順は、「環境の Business Central 設定の設定」 を参照してください。

  3. Custom registry のカスタムイメージレジストリーを使用する場合は、Image registry フィールドにレジストリーの URL を入力します。このレジストリーに適切に署名され、認識された SSL 証明書がない場合は、Insecure ボックスを選択します。
  4. Admin userUsername フィールドおよび Password フィールドに、Red Hat Process Automation Manager の管理者ユーザーのユーザー名およびパスワードを入力します。RH-SSO または LDAP 認証を使用する場合は、同じユーザーを、Red Hat Process Automation Manager の kie-server,rest-all,admin ロールで認証システムに設定する必要があります。
  5. イメージのカスタムバージョンタグを使用する必要がある場合は、以下の手順を実行します。

    1. Next をクリックして Security タブにアクセスします。
    2. ウィンドウの下部までスクロールします。
    3. イメージタグを Image tag フィールドに入力します。

次のステップ

デフォルト設定で環境をデプロイする必要がある場合は、Finish をクリックしてから Deploy をクリックして環境をデプロイします。それ以外の場合は、引き続き他の設定パラメーターの設定を行います。

3.2.3. 環境のセキュリティー設定の設定

Business Automation Operator を使用して Red Hat Process Automation Manager 環境の基本的な設定を行ったら、必要に応じて環境の認証 (セキュリティー) を設定できます。

前提条件

  • 「環境の基本設定の設定」 の説明に従って、インストーラーウィザードで Business Automation Operator を使用して Red Hat Process Automation Manager 環境の基本設定を行っていること。
  • 認証に RH-SSO または LDAP を使用する必要がある場合には、認証システムに適切なロールを持つユーザーを作成していること。少なくとも以下のユーザーを作成する必要があります。

    • kie-server,rest-all,admin ロールを持つ管理者ユーザー (例: adminUser)
    • kie-server,rest-all,guest ロールを持つ controllerUser という名前のユーザー
    • kie-server,rest-all,guest ロールを持つ executionUser という名前のユーザー
  • RH-SSO 認証を使用する必要がある場合は、環境のすべてのコンポーネントの RH-SSO システムでクライアントを作成しており、正しい URL を指定している。この動作により、最大限の制御が確保されます。他の方法として、デプロイメントでクライアントを作成できます。

手順

  1. Installation タブが開いている場合は、Next をクリックして Security タブを表示します。
  2. Authentication mode 一覧で、以下のモードのいずれかを選択します。

    • Internal: 環境のデプロイ時に初期ユーザーを設定します。このユーザーは Business Central を使用して他のユーザーを随時セットアップできます。
    • RH-SSO: Red Hat Process Automation Manager は認証に Red Hat Single Sign-On を使用します。
    • LDAP: Red Hat Process Automation Manager は認証に LDAP を使用します。
  3. 選択した Authentication mode に基づいてセキュリティー設定を完了します。

    Internal を選択している場合、KIE Server password フィールドをオプションで設定できます。アプリケーションはこのパスワードを持つ executionUser ユーザー名を使用して、REST API 要求をこの環境の Process Server に送信します。

    RH-SSO を選択してい場合は、RH-SSO 認証を設定します。

    1. RH-SSO URL フィールドに、RH-SSO URL を入力します。
    2. Realm フィールドに、RH-SSO レルム名を入力します。
    3. 環境のコンポーネントに RH-SSO クライアントを作成していない場合は、SSO admin user フィールドおよび SSO admin password フィールドに、RH-SSO システムの管理者ユーザーの認証情報を入力します。
    4. RH-SSO システムに適切な署名済みの SSL 証明書がない場合は、Disable SSL cert validation ボックスを選択します。
    5. Principal attribute フィールドで、ユーザー名に使用される RH-SSO プリンシパル属性を変更する必要がある場合は、新規属性の名前を入力します。
    6. Controller password フィールドで、 controllerUser ユーザーの RH-SSO に設定したパスワードを入力します。
    7. KIE Server password フィールドで、 executionUser ユーザーの RH-SSO に設定したパスワードを入力します。

    LDAP を選択した場合は、LDAP 認証を設定します。

    1. LDAP URL フィールドに、LDAP URL を入力します。
    2. Red Hat JBoss EAP の LdapExtended ログインモジュールの設定に対応する LDAP パラメーターを設定します。これらの設定に関する説明は、「 LdapExtended ログインモジュール 」を参照してください。
    3. Controller password フィールドで、 controllerUser ユーザーの RH-SSO に設定したパスワードを入力します。
    4. KIE Server password フィールドで、 executionUser ユーザーの RH-SSO に設定したパスワードを入力します。
  4. 他のパスワードを設定します (必要な場合)。

    • AMQ password および AMQ cluster password は、JMS API を使用した ActiveMQ との対話に使用するパスワードです。
    • Maven passwordmavenUser のパスワードです。環境に Business Central が含まれている場合には、このユーザーを使用してビルトイン Maven リポジトリーにアクセスできます。
    • Database password は、環境の一部であるデータベースサーバー Pod のパスワードです。

次のステップ

すべてのコンポーネントのデフォルト設定で環境をデプロイする必要がある場合は、Finish をクリックしてから Deploy をクリックして環境をデプロイします。それ以外の場合には、引き続き Business Central、Process Server、および Smart Router の設定パラメーターを設定します。

3.2.4. 環境の Business Central 設定の設定

Business Automation Operator を使用して Red Hat Process Automation Manager 環境の基本的なセキュリティー設定を行った後に、必要に応じて環境の Business Central または Business Central Monitoring コンポーネントを設定できます。

前提条件

手順

  1. Installation または Security タブが開いている場合は、Console タブが表示されるまで Next をクリックします。
  2. 「Business Central へのシークレットの作成」 の説明に従って Business Central のシークレットを作成している場合、Secret フィールドにシークレットの名前を入力します。
  3. 必要に応じて、Business Central または Business Central monitoring のレプリカ数を Replicas フィールドに入力します。この数は rhpam-authoring 環境では変更しません。
  4. 必要に応じて、Resource quotas 下のフィールドに必要な CPU およびメモリーの上限値を入力します。
  5. RH-SSO 認証を選択している場合は、Business Central の RH-SSO を設定します。

    1. Client name フィールドにクライアント名を入力し、Client secret フィールドにクライアントシークレットを入力します。この名前を持つクライアントが存在しない場合は、デプロイメントでこの名前およびシークレットを持つ新規クライアントの作成を試行します。
    2. デプロイメントで新規クライアントを作成する場合、Process Server へのアクセスに使用する HTTP および HTTPS URL を SSO HTTP URL および SSO HTTPS URL フィールドに入力します。この情報は、クライアントに記録されます。
  6. 必要に応じて、環境変数を随時設定します。環境変数を設定するには、Add new Environment variable をクリックしてから、変数の名前および値を Name フィールドおよび Value フィールドに入力します。

    • 外部 Maven リポジトリーを使用する必要がある場合は、以下の変数を設定します。

      • MAVEN_REPO_URL: Maven リポジトリーの URL
      • MAVEN_REPO_ID: Maven リポジトリーの ID (例: repo-custom)
      • MAVEN_REPO_USERNAME: Maven リポジトリーのユーザー名
      • MAVEN_REPO_PASSWORD Maven リポジトリーのパスワード

        重要

        オーサリング環境で、Business Central を使用して外部の Maven リポジトリーにプロジェクトをプッシュする場合は、デプロイメント時にこのリポジトリーを設定して、全プロジェクトのリポジトリーへのエクスポートを設定する必要があります。外部の Maven リポジトリーへの Business Central プロジェクトのエクスポートに関する情報は、『 Red Hat Process Automation Manager プロジェクトのパッケージ化およびデプロイ 』を参照してください。

    • OpenShift 環境に公開インターネットに接続されていない場合は、「オフラインで使用する Maven ミラーリポジトリーの用意」 に従って設定した Maven ミラーにアクセスできるように設定します。以下の変数を設定してください。

      • MAVEN_MIRROR_URL: 「オフラインで使用する Maven ミラーリポジトリーの用意」 で設定した Maven ミラーリポジトリーの URL。この URL は、OpenShift 環境の Pod からアクセスできるようにする必要があります。
      • MAVEN_MIRROR_OF: ミラーから取得されるアーティファクトを定める値。mirrorOf 値の設定方法は、Apache Maven ドキュメントの Mirror Settings を参照してください。デフォルト値は external:* です。この値の場合、Maven はミラーから必要なアーティファクトをすべて取得し、他のリポジトリーにクエリーを送信しません。

        外部の Maven リポジトリー (MAVEN_REPO_URL) を設定する場合は、ミラーからこのリポジトリー内のアーティファクトを除外するように MAVEN_MIRROR_OF を変更します (例: external:*,!repo-custom)。repo-custom は、MAVEN_REPO_ID で設定した ID に置き換えます。

        オーサリング環境でビルトイン Business Central Maven リポジトリーを使用する場合は、ミラーからこのリポジトリーのアーティファクトを除外するように MAVEN_MIRROR_OF を変更します (例: external:*,!repo-rhpamcentr)。

次のステップ

Process Server および Smart Router のデフォルト設定で環境をデプロイする必要がある場合には、Finish をクリックしてから Deploy をクリックして環境をデプロイします。それ以外の場合には、引き続き Process Server および Smart Router の設定パラメーターを設定します。

3.2.5. 環境のカスタム Process Server 設定の設定

Business Automation Operator のすべての環境タイプには、デフォルトで 1 つまたは複数の Process Server が含まれます。

オプションで、Process Server のカスタム設定を設定できます。この場合、デフォルトの Process Server は作成されず、設定する Process Server のみがデプロイされます。

前提条件

手順

  1. InstallationSecurity、または Console タブが開いている場合は、KIE Servers タブが表示されるまで Next をクリックします。
  2. Add new KIE Server をクリックして、新規の Process Server 設定を追加します。
  3. Id フィールドに、Process Server の ID を入力します。Process Server が Business Central または Business Central Monitoring インスタンスに接続される場合、この ID はサーバーが加わるサーバーグループを決めるものとなります。
  4. Name フィールドで、Process Server の名前を入力します。
  5. Deployments フィールドで、デプロイする同様の Process Server の数を入力します。インストーラーは、同じ設定で複数の Process Server をデプロイできます。Process Server の ID および名前は自動的に変更され、一意な状態に保たれます。
  6. 「Process Server にシークレットの作成」 の説明に従って Process Server のシークレットを作成している場合、Secret フィールドにシークレットの名前を入力します。
  7. オプションで、Process Server のレプリカ数を Replicas フィールドに入力します。
  8. Process Server のカスタムイメージを使用する必要がある場合には、以下の追加の手順を実行します。

    1. Set KIE Server image をクリックします。
    2. イメージストリームの名前を Name フィールドに入力します。
    3. イメージストリームが openshift 名前空間にない場合は、名前空間を Namespace フィールドに入力します。
  9. Source to Image(S2I)ビルドを使用してイミュータブル Process Server を設定する必要がある場合は、以下の追加の手順を実行します。

    重要

    Maven リポジトリーからサービスをプルするイミュータブル Process Server を設定する必要がある場合は、Set Immutable server configuration をクリックせず、この手順を実行しないでください。代わりに、KIE_SERVER_CONTAINER_REPLOYMENT 環境変数を設定します。

    1. Set Immutable server configuration をクリックします。
    2. KIE Server コンテナーデプロイメント フィールドに、デプロイメントが Source to Image (S2I) ビルドの結果から展開する必要があるサービスの識別情報 (KJAR ファイル) を入力します。形式は <containerId>=<groupId>:<artifactId>:<version> になります。また、コンテナーのエイリアス名で指定する場合には、形式は <containerId>(<aliasId>)=<groupId>:<artifactId>:<version> になります。以下の例に示されるように、区切り文字 | を使用して 2 つ以上の KJAR ファイルを指定できます (例: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2)。
    3. OpenShift 環境に公開インターネットへの接続がない場合は、「オフラインで使用する Maven ミラーリポジトリーの用意」 に従って、Maven mirror URL フィールドに設定した Maven ミラーの URL を入力します。
    4. Artifact directory フィールドで、Maven が正常にビルドされた後に、必要なバイナリーファイル (KJAR ファイルおよびその他の必要なファイル) が含まれるプロジェクト内のパスを入力します。通常、このディレクトリーはビルドのターゲットディレクトリーです。ただし、Git リポジトリーのこのディレクトリーにビルド済みのバイナリーを提供できます。
    5. S2I ビルドにカスタムベース Process Server イメージを使用する必要がある場合は、Set Base build image をクリックします。イメージストリームが openshift 名前空間にない場合は、名前空間を Namespace フィールドに入力します。OpenShift イメージストリームタグではなく Docker イメージ名を使用する必要がある場合は、Kind の値を DockerImage に変更します。
    6. Set Git source をクリックし、以下のフィールドに情報を入力します。

      • S2I Git URI: サービスのソースが含まれる Git リポジトリーの URI。
      • Reference: Git リポジトリーのブランチ。
      • コンテキストディレクトリー: (オプション) Git リポジトリーからダウンロードされたプロジェクト内のソースへのパス。デフォルトで、ダウンロードされたプロジェクトのルートディレクトリーはソースディレクトリーです。
    7. Git Webhook を設定して Git リポジトリーで Process Server の自動リビルドをトリガーするように設定する必要がある場合は、Add new Webhook をクリックします。Type リストから Webhook のタイプを選択し、Secret フィールドに Webhook のシークレット文字列を入力します。
  10. 必要に応じて、Resource quotas 下のフィールドに必要な CPU およびメモリーの上限値を入力します。複数の Process Server を設定している場合は、制限値はそれぞれのサーバーに別々に適用されます。
  11. RH-SSO 認証を選択している場合は、Process Server の RH-SSO を設定します。

    1. Client name フィールドにクライアント名を入力し、Client secret フィールドにクライアントシークレットを入力します。この名前を持つクライアントが存在しない場合は、デプロイメントでこの名前およびシークレットを持つ新規クライアントの作成を試行します。
    2. デプロイメントで新規クライアントを作成する場合、Process Server へのアクセスに使用する HTTP および HTTPS URL を SSO HTTP URL および SSO HTTPS URL フィールドに入力します。この情報は、クライアントに記録されます。
  12. Process Server が使用する必要のあるデータベースを選択します。以下の値を使用できます。

    • mysql: 個別の Pod に作成される MySQL サーバー。
    • postgresql: 個別の Pod に作成される PostgreSQL サーバー。他の設定を使用する特別な理由のない限り、この設定を使用します。
    • h2: 個別の Pod を必要としないビルトインされた h2 データベースエンジン。この設定を使用する場合には、Process Server Pod を収集しないでください。
    • external: 外部データベースサーバー。

      注記

      Red Hat Process Automation Manager 7.4 では、Business Automation Operator を使用して環境をデプロイする場合、MySQL および PostgreSQL 外部データベースサーバーのみがサポートされます。

  13. オプションで、Size フィールドに、データベースサーバー用に作成する永続ボリュームのサイズを入力します。
  14. 外部データベースサーバーを選択している場合は、追加のフィールドに以下の情報を入力します。

    1. Driver: サーバーの種類に応じてデータベースサーバードライバーを入力します。

      • mysql
      • postgresql
      • mariadb
      • mssql
      • db2
      • oracle
      • sybase
    2. Dialect: サーバーの種類に応じて、サーバーの Hibernate ダイアレクトを入力します。

      • org.hibernate.dialect.MySQL5InnoDBDialect (MySQL および MariaDB で使用される)
      • org.hibernate.dialect.PostgreSQL82Dialect
      • org.hibernate.dialect.SQLServer2012Dialect (MS SQL で使用される)
      • org.hibernate.dialect.DB2Dialect
      • org.hibernate.dialect.Oracle10gDialect
      • org.hibernate.dialect.SybaseASE157Dialect
    3. Host: 外部データベースサーバーのホスト名を入力します。
    4. Port: 外部データベースサーバーのポート番号を入力します。
    5. Jdbc URL: 外部データベースサーバーの JDBC URL を入力します。
    6. NonXA: データソースを XA 以外のモードで設定する必要がある場合にこのボックスを選択します。
    7. JNDI name: アプリケーションがデータソースに使用する JNDI 名を入力します。
    8. User name および Password: 外部データベースサーバーのユーザー名およびパスワードを入力します。
    9. Background validation: オプションとして、このボックスを選択してバックグラウンド SQL 検証を有効にし、バックグラウンド検証の間隔を入力します。
    10. 必要に応じて、最小および最大の接続プールサイズ、有効な接続チェッカークラス、およびデータベースサーバーの例外ソータークラスを設定します。
  15. 必要に応じて、環境変数を随時設定します。環境変数を設定するには、Add new Environment variable をクリックしてから、変数の名前および値を Name フィールドおよび Value フィールドに入力します。

    • 設定した Maven リポジトリーからサービスをプルするイミュータブル KIE Server を設定する必要がある場合は、以下の設定を入力します。

      1. KIE_SERVER_CONTAINER_DEPLOYMENT 環境変数を設定します。変数には、デプロイメントが Maven リポジトリーからプルする必要のあるサービス (KJAR ファイル) の ID 情報が含まれている必要があります。形式は <containerId>=<groupId>:<artifactId>:<version> になります。また、コンテナーのエイリアス名で指定する場合には、形式は <containerId>(<aliasId>)=<groupId>:<artifactId>:<version> になります。以下の例に示されるように、区切り文字 | を使用して 2 つ以上の KJAR ファイルを指定できます (例: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2)。
      2. 外部 Maven リポジトリーの設定
    • 外部 Maven リポジトリーを設定する必要がある場合には、以下の変数を設定します。

      • MAVEN_REPO_URL: Maven リポジトリーの URL
      • MAVEN_REPO_ID: Maven リポジトリーの ID (例: repo-custom)
      • MAVEN_REPO_USERNAME: Maven リポジトリーのユーザー名
      • MAVEN_REPO_PASSWORD: Maven リポジトリーのパスワード
    • OpenShift 環境に公開インターネットに接続されていない場合は、「オフラインで使用する Maven ミラーリポジトリーの用意」 に従って設定した Maven ミラーにアクセスできるように設定します。以下の変数を設定してください。

      • MAVEN_MIRROR_URL: 「オフラインで使用する Maven ミラーリポジトリーの用意」 で設定した Maven ミラーリポジトリーの URL。この URL は、OpenShift 環境の Pod からアクセスできるようにする必要があります。この Process Server を S2I として設定している場合は、この URL をすでに入力されています。
      • MAVEN_MIRROR_OF: ミラーから取得されるアーティファクトを定める値。この Process Server を S2I として設定している場合は、この値を設定しません。mirrorOf 値の設定方法は、Apache Maven ドキュメントの Mirror Settings を参照してください。デフォルト値は external:* です。この値の場合、Maven はミラーから必要なアーティファクトをすべて取得し、他のリポジトリーにクエリーを送信しません。

        外部の Maven リポジトリー (MAVEN_REPO_URL) を設定する場合は、ミラーからこのリポジトリー内のアーティファクトを除外するように MAVEN_MIRROR_OF を変更します (例: external:*,!repo-custom)。repo-custom は、MAVEN_REPO_ID で設定した ID に置き換えます。

        オーサリング環境でビルトイン Business Central Maven リポジトリーを使用する場合は、ミラーからこのリポジトリーのアーティファクトを除外するように MAVEN_MIRROR_OF を変更します (例: external:*,!repo-rhpamcentr)。

    • Process Server デプロイメントを、Prometheus を使用してメトリクスを収集し、保存するように設定する必要がある場合は、PROMETHEUS_SERVER_EXT_DISABLED 環境変数を false に設定します。Prometheus メトリクス収集の方法については、{URL_MANAGING_SETTINGS}#prometheus-monitoring-ocp-proc_execution-server[Managing and monitoring Process Server]を参照してください。

次のステップ

追加の Process Server を設定するには、Add new KIE Server を再びクリックし、新規サーバー設定の手順を繰り返します。

デフォルト設定の Smart Router を使って環境をデプロイする必要がある場合には、Finish をクリックしてから Deploy をクリックして環境をデプロイします。それ以外の場合は、引き続き Smart Router の設定パラメーターの設定を行います。

3.3. Operator を使用してデプロイした環境の変更

環境を Operator を使用してデプロイした場合は、通常の OpenShift の手法を使用して環境を変更することはできません。たとえば、デプロイメント設定またはサービスを削除しても、これは同じパラメーターで自動的に再作成されます。

環境を変更するには、環境の YAML の記述を変更する必要があります。パスワードなどの一般的な設定を変更し、新規 Process Server を追加し、Process Server をスケーリングできます。

手順

  1. OpenShift Web クラスターコンソールでプロジェクトに移動します。
  2. OpenShift Web コンソールナビゲーションパネルで、Catalog → Installed Operators を選択します。
  3. 表で Business Automation Operator 行を見つけ、その行で KieApp をクリックします。この Operator を使用してデプロイした環境の情報が表示されます。
  4. デプロイした環境の名前をクリックします。
  5. YAML タブを選択します。YAML ソースが表示されます。
  6. パスワードなどの共通の設定を変更するには、commonConfig: の値を編集します。
  7. 新しい Process Server を追加する場合は、以下の例に示されているように、servers: のブロックの最後にそれらの記述を追加します。

    • 名前が server-aserver-a-2 のサーバー 2 台を追加するには、以下の行を追加します。

      - deployments: 2
        name: server-a
    • S2I プロセスのソースからビルドされるサービスを含む、イミュータブルな Process Server を追加するには、以下の行を追加します。

      - build:
          kieServerContainerDeployment: <deployment>
          gitSource:
            uri: <url>
            reference: <branch>
            contextDir: <directory>

      以下の値を置き換えてください。

      • <deployment>: ソースからビルドしたデシジョンサービス (KJAR ファイル) の識別情報。形式は <containerId>=<groupId>:<artifactId>:<version> になります。区切り記号 | を使用して 2 つ以上の KJAR ファイルを指定できます (例: containerId=groupId:artifactId:version|c2=g2:a2:v2)。Maven ビルドプロセスは、Git リポジトリーのソースからこのようなファイルをすべて生成する必要があります。
      • <url>: デシジョンサービスのソースを含む Git リポジトリーの URL。
      • <branch>: Git リポジトリーのブランチ。
      • <directory>: Git リポジトリーからダウンロードしたプロジェクトのソースへのパス。
  8. Process Server をスケーリングする場合は、servers: のブロックに含まれるサーバーの記述を検索して、その記述の下に replicas: 設定を追加します。たとえば、replicas: 3 はサーバーを Pod 3 つにスケーリングします。
  9. Save をクリックしてから has been updated ポップアップメッセージを待機します。
  10. Reload をクリックして、環境の新しい YAML の記述を表示します。

付録A バージョン情報

本書の最終更新日: 2021 年 11 月 15 日(月)