第9章 イミュータブルサーバーを使用した環境

事前定義プロセスを使用して イミュータブル KIE Server を実行する 1 つ以上の Pod を含む環境をデプロイできます。KIE Server の各 Pod は、必要に応じて個別にスケーリングできます。

イメージの作成時に、イミュータブル KIE Server ですべてのサービスをサーバーに読み込む必要があります。実行中のイミュータブル KIE Server でサービスのデプロイまたはデプロイ解除を行うことはできません。このアプローチの利点は、サービスが含まれる KIE Server はコンテナー化されたサービスのように実行され、特別な管理を必要としない点にあります。KIE Server は OpenShift 環境で 1 つの Pod のように実行されます。必要に応じて、コンテナーベースの統合ワークフローを使用できます。

KIE Server イメージを作成する場合は、S2I (Source to Image) を使用してサービスをビルドする必要があります。サービスのソースおよびその他のビジネスアセットを使用して Git リポジトリーを提供します。Business Central でサービスまたはアセットを開発する場合は、S2I ビルドの個別のリポジトリーにソースをコピーします。OpenShift は自動的にソースをビルドし、KIE Server イメージにサービスをインストールして、このサービスでコンテナーを起動します。

オーサリングサービスに Business Central を使用する場合は、プロセスのソースを展開して、S2I ビルドで使用する別の Git リポジトリー (GitHub や、GitLab のオンプレミスインストールなど) に配置できます。

または、KJAR ファイルとしてすでにビルドされているサービスを使用して同様の KIE Server デプロイメントを作成できます。この場合、サービスを Maven リポジトリーに指定する必要があります。Business Central のビルトインリポジトリーまたは独自のリポジトリーを使用できます (例: Nexus デプロイメント)。サーバー Pod が起動すると、これは KJAR サービスを Maven リポジトリーから取得します。Pod 上のサービスが更新したり、変更することはありません。Pod の毎回の再起動またはスケーリング時に、サーバーはリポジトリーからファイルを取得するため、デプロイメントをイミュータブルに保つには、それらのファイルが Maven リポジトリーで変更されないようにする必要があります。

イミュータブルのイメージを作成する方法はいずれも、イメージの管理が必要ありません。サービスの新規バージョンを使用する場合は、新規イメージをビルドできます。

9.1. S2I ビルドの使用によるイミュータブル KIE Server のデプロイ

S2I ビルドを使用してイミュータブル KIE Server をデプロイできます。サーバーをデプロイする際、デプロイメント手順ではこのサーバーで実行される必要のあるすべてのサービスのソースコードを取得し、サービスをビルドし、それらをサービスイメージに組み込みます。

実行中のイミュータブル KIE Server でサービスのデプロイまたはデプロイ解除を行うことはできません。Business Central を使用すると、モニター情報を表示できます。KIE Server は OpenShift 環境で 1 つの Pod のように実行されます。必要に応じて、コンテナーベースの統合ワークフローを使用できます。

イミュータブル KIE Server の JMS 機能を有効にできます。JMS 機能を使用すると、外部 AMQ メッセージブローカーを使用し、JMS API 経由でサーバーと対話できます。

Business Central が同じ名前空間にデプロイされる場合、これはイミュータブル KIE Server を自動的に検出します。Business Central を使用してイミュータブル KIE Server でサービスの起動や停止が可能です (ただしデプロイはできません)。

9.1.1. S2I の使用によるイミュータブル KIE Server のテンプレート設定の開始

S2I ビルドを使用してイミュータブル KIE Server をデプロイするには、JMS 機能を有効にする必要がある場合は rhdm711-prod-immutable-kieserver-amq.yaml テンプレートファイルを使用します。そうでない場合は、rhdm711-prod-immutable-kieserver.yaml テンプレートファイルを使用します。

手順

  1. Red Hat カスタマーポータルの Software Downloads ページから製品配信可能ファイル rhdm-7.11.0-openshift-templates.zip をダウンロードします。
  2. 必要なテンプレートファイルを展開します。
  3. 以下のいずれかの方法を使用してテンプレートのデプロイを開始します。

    • OpenShift Web UI を使用するには、OpenShift アプリケーションコンソールで Add to Project → Import YAML / JSON を選択してから <template-file-name>.yaml ファイルを選択または貼り付けます。Add Template ウィンドウで、Process the template が選択されていることを確認し、Continue をクリックします。
    • OpenShift コマンドラインコンソールを使用するには、以下のコマンドラインを準備します。

      oc new-app -f <template-path>/<template-file-name>.yaml -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value

      このコマンドラインで、以下のように変更します。

      • <template-path> を、ダウンロードしたテンプレートファイルのパスに置き換えます。
      • <template-file-name> は、テンプレート名に置き換えます。
      • 必要なパラメーターに設定するために必要な数だけ -p PARAMETER=value ペアを使用します。

次のステップ

テンプレートのパラメーターを設定します。「S2I の使用によるイミュータブル KIE Server に必要なパラメーターの設定」 の手順に従い、共通のパラメーターを設定します。テンプレートファイルを表示して、すべてのパラメーターの説明を確認します。

9.1.2. S2I の使用によるイミュータブル KIE Server に必要なパラメーターの設定

テンプレートをイミュータブル KIE Server を S2I ビルドを使用してデプロイするように設定する際、いずれの場合でも以下のパラメーターを設定する必要があります。

前提条件

手順

  1. 以下のパラメーターを設定します。

    • Credentials secret (CREDENTIALS_SECRET): 「管理ユーザーのシークレットの作成」で作成される管理ユーザーの認証情報を含むシークレットの名前。
    • KIE Server Keystore Secret Name (KIE_SERVER_HTTPS_SECRET): 「KIE Server のシークレットの作成」で作成した KIE Server のシークレットの名前。
    • KIE Server Certificate Name (KIE_SERVER_HTTPS_NAME): 「KIE Server のシークレットの作成」で作成したキーストアの証明書名。
    • KIE Server Keystore Password (KIE_SERVER_HTTPS_PASSWORD): 「KIE Server のシークレットの作成」で作成したキーストアのパスワード。
    • アプリケーション名 (APPLICATION_NAME): OpenShift アプリケーションの名前。これは、Business Central Monitoring および KIE Server のデフォルト URL で使用されます。OpenShift はアプリケーション名を使用して、デプロイメント設定、サービス、ルート、ラベル、およびアーティファクトの個別のセットを作成します。同じテンプレートを同じプロジェクトで使用して複数のアプリケーションをデプロイすることもできますが、その場合はアプリケーション名を同じにすることはできません。また、アプリケーション名は、KIE Server が Business Central で参加するサーバーの設定 (サーバーテンプレート) の名前を決定するものとなります。複数の KIE Server をデプロイしている場合は、それぞれのサーバーに異なるアプリケーション名があることを確認する必要があります。
    • KIE Server コンテナーのデプロイメント (KIE_SERVER_CONTAINER_DEPLOYMENT): ソースのビルド後にデプロイメントでローカルまたは外部リポジトリーからプルする必要のあるデシジョンサービス (KJAR ファイル) の ID 情報。形式は <containerId>=<groupId>:<artifactId>:<version> になります。また、コンテナーのエイリアス名で指定する場合には、形式は <containerId>(<aliasId>)=<groupId>:<artifactId>:<version> になります。以下の例に示されるように、区切り文字 | を使用して 2 つ以上の KJAR ファイルを指定できます。

      containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2

      コンテナー ID の重複を防ぐには、アーティファクトビルドごとに、またはプロジェクト内で、一意のアーティファクト ID を指定する必要があります。

    • Git リポジトリー URL (SOURCE_REPOSITORY_URL): サービスのソースを含む Git リポジトリーの URL。
    • Git 参照 (SOURCE_REPOSITORY_REF): Git リポジトリーのブランチ。
    • コンテキストディレクトリー (CONTEXT_DIR): Git リポジトリーからダウンロードしたプロジェクト内のソースへのパス。
    • アーティファクトディレクトリー (ARTIFACT_DIR): Maven のビルドに成功したあとに必要なバイナリーファイル (KJAR ファイル、およびその他の必要なファイル) を含むプロジェクトのパス。通常、このディレクトリーはビルドのターゲットディレクトリーです。ただし、Git リポジトリーのこのディレクトリーにビルド済みのバイナリーを提供できます。
    • ImageStream 名前空間 (IMAGE_STREAM_NAMESPACE): イメージストリームが利用可能な名前空間。OpenShift 環境でイメージストリームが利用可能な場合 (「イメージストリームとイメージレジストリーの可用性確認」 を参照) は、名前空間が openshift になります。イメージストリームファイルをインストールしている場合は、名前空間が OpenShift プロジェクトの名前になります。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

9.1.3. S2I の使用によるイミュータブル KIE Server のイメージストリーム namespace の設定

openshift ではない名前空間でイメージストリームを作成した場合は、テンプレートで名前空間を設定する必要があります。

すべてのイメージストリームが Red Hat OpenShift Container Platform 環境ですでに利用可能な場合は、この手順を省略できます。

前提条件

手順

「イメージストリームとイメージレジストリーの可用性確認」 の説明に従ってイメージストリームファイルをインストールした場合は、ImageStream Namespace (IMAGE_STREAM_NAMESPACE) パラメーターを OpenShift プロジェクトの名前に設定します。

9.1.4. S2I の使用によるイミュータブル KIE Server 用の Business Central インスタンスに関する情報の設定

同じ名前空間で Business Central インスタンスから KIE Server への接続を有効にする場合は、Business Central インスタンスに関する情報を設定する必要があります。

Business Central インスタンスは、KIE Server と同じ認証情報シークレット (CREDENTIALS_SECRET) を使用して設定する必要があります。

前提条件

手順

  1. 以下のパラメーターを設定します。

    • Business Central サービスの名前 (DECISION_CENTRAL_SERVICE): Business Central の OpenShift サービス名。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

9.1.5. S2I の使用によるイミュータブル KIE Server のオプションの Maven リポジトリーの設定

S2I ビルドを使用してテンプレートをイミュータブル KIE Server をデプロイするように設定する際に、ソースビルドに公開 Maven ツリーで利用可能ではない依存関係が含まれ、個別のカスタム Maven リポジトリーが必要な場合は、リポジトリーにアクセスできるようにパラメーターを設定する必要があります。

前提条件

手順

カスタム Maven リポジトリーへのアクセスを設定するには、以下のパラメーターを設定します。

  • Maven リポジトリーの URL (MAVEN_REPO_URL): Maven リポジトリーの URL。
  • Maven リポジトリーの ID (MAVEN_REPO_ID): Maven リポジトリーの ID。デフォルト値は repo-custom です。
  • Maven リポジトリーのユーザー名 (MAVEN_REPO_USERNAME): Maven リポジトリーのユーザー名。
  • Maven リポジトリーのパスワード (MAVEN_REPO_PASSWORD): Maven リポジトリーのパスワード。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

9.1.6. S2I の使用によるイミュータブル KIE Server の公開インターネットへの接続のない環境での Maven ミラーへのアクセスの設定

S2I ビルドを使用してテンプレートをイミュータブル KIE Server をデプロイするように設定する際に、OpenShift 環境に公開インターネットへの接続がない場合は、「オフラインで使用する Maven ミラーリポジトリーの用意」 に従って設定した Maven ミラーへのアクセスを設定する必要があります。

前提条件

手順

Maven ミラーへのアクセスを設定するには、以下のパラメーターを設定します。

  • Maven ミラー URL (MAVEN_MIRROR_URL): 「オフラインで使用する Maven ミラーリポジトリーの用意」 で設定した Maven ミラーリポジトリーの URL。この URL は、OpenShift 環境の Pod からアクセスできるようにする必要があります。
  • Maven mirror of (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 リポジトリー (DECISION_CENTRAL_MAVEN_SERVICE) を設定する場合は、ミラーからこのリポジトリーのアーティファクトを除外するように MAVEN_MIRROR_OF を変更します (例: external:*,!repo-rhdmcentr)。
    • 両リポジトリーを設定した場合は、ミラーから両リポジトリーのアーティファクトを除外するように MAVEN_MIRROR_OF を変更します (例: external:*,!repo-rhdmcentr,!repo-custom)。repo-custom は、MAVEN_REPO_ID で設定した ID に置き換えます。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

9.1.7. S2I の使用によるイミュータブル KIE Server 用の AMQ サーバーとの通信の設定

rhdm711-prod-immutable-kieserver-amq.yaml テンプレートファイルを使用する場合は、KIE Server の JMS 機能が有効にされます。外部の AMQ メッセージブローカーを使用して、JMS API 経由でサーバーと対話できます。

環境に必要な場合は、JMS 設定を変更できます。

前提条件

手順

必要に応じて、お使いの環境に以下のパラメーターのいずれかを設定します。

  • AMQ ユーザー名 (AMQ_USERNAME) および AMQ パスワード (AMQ_PASSWORD): ブローカーのユーザー認証が環境で必要な場合の標準ブローカーユーザーのユーザー名およびパスワード。
  • AMQ ロール (AMQ_ROLE): 標準ブローカーユーザーのユーザーロール。デフォルトロールは admin です。
  • AMQ キュー (AMQ_QUEUES): コンマで区切られた AMQ キュー名。これらのキューはブローカーの起動時に自動的に作成され、JBoss EAP サーバーの JNDI リソースとしてアクセスできます。カスタムのキュー名を使用する場合は、同じキュー名を KIE_SERVER_JMS_QUEUE_RESPONSE パラメーター、KIE_SERVER_JMS_QUEUE_REQUEST パラメーター、KIE_SERVER_JMS_QUEUE_SIGNAL パラメーター、KIE_SERVER_JMS_QUEUE_AUDIT パラメーター、および KIE_SERVER_JMS_QUEUE_EXECUTOR パラメーターに設定する必要もあります。
  • AMQ グローバル最大サイズ (AMQ_GLOBAL_MAX_SIZE): メッセージデータが消費できるメモリーの最大量。値が指定されない場合は、Pod で利用可能なメモリーの半分が割り当てられます。
  • AMQ プロトコル (AMQ_PROTOCOL): コンマで区切られた、KIE Server が AMQ サーバーとの通信に使用できるブローカーのプロトコル。許可される値は、openwireamqpstomp、および mqtt です。openwire のみが JBoss EAP でサポートされます。デフォルト値は openwire です。
  • AMQ ブローカーイメージ (AMQ_BROKER_IMAGESTREAM_NAME): AMQ ブローカーイメージのイメージストリーム名。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

9.1.8. S2I の使用によるイミュータブル KIE Server の RH-SSO 認証パラメーターの設定

RH-SSO 認証を使用する必要がある場合は、テンプレートを S2I ビルドを使用してイミュータブル KIE Server をデプロイするように設定する際に追加の設定を実行します。

重要

LDAP 認証および RH-SSO 認証を同じデプロイメントに設定しないようにしてください。

前提条件

  • Red Hat Decision Manager のレルムが RH-SSO 認証システムに作成されている。
  • Red Hat Decision Manager のユーザー名およびパスワードが RH-SSO 認証システムに作成されている。利用可能なロールの一覧については、11章Red Hat Decision Manager ロールおよびユーザー を参照してください。

    「管理ユーザーのシークレットの作成」 で説明されているように、管理ユーザーのシークレットで設定されたユーザー名およびパスワードを使用してユーザーを作成する必要があります。このユーザーには kie-server,rest-all,admin ロールが必要です。

  • デプロイしている Red Hat Decision Manager 環境の全コンポーネントに対して、クライアントが RH-SSO 認証システムに作成されている。クライアントのセットアップには、コンポーネントの URL が含まれます。環境のデプロイ後に URL を確認し、編集できます。または、Red Hat Decision Manager のデプロイメントでクライアントを作成できます。ただし、このオプションの環境に対する制御の詳細度合はより低くなります。
  • 「S2I の使用によるイミュータブル KIE Server のテンプレート設定の開始」 に説明されているテンプレートの設定を開始していること。

手順

  1. 以下のパラメーターを設定します。

    • RH-SSO URL (SSO_URL): RH-SSO の URL。
    • RH-SSO レルム名 (SSO_REALM): Red Hat Decision Manager の RH-SSO レルム。
    • RH-SSO が無効な SSL 証明書の検証 (SSO_DISABLE_SSL_CERTIFICATE_VALIDATION): RH-SSO インストールで有効な HTTPS 証明書を使用していない場合は true に設定します。
  2. 以下の手順のいずれかを実行します。

    1. RH-SSO で Red Hat Decision Manager のクライアントを作成した場合は、テンプレートで以下のパラメーターを設定します。

      • Business Central RH-SSO クライアント名 (DECISION_CENTRAL_SSO_CLIENT): Business Central の RH-SSO クライアント名。
      • KIE Server RH-SSO クライアント名 (KIE_SERVER_SSO_CLIENT): KIE Server の RH-SSO クライアント名。
      • KIE Server RH-SSO クライアントのシークレット (KIE_SERVER_SSO_SECRET): KIE Server のクライアントに対して RH-SSO に設定するシークレットの文字列。
    2. RH-SSO に Red Hat Decision Manager のクライアントを作成する場合は、テンプレートで以下のパラメーターを設定します。

      • KIE Server RH-SSO クライアント名 (KIE_SERVER_SSO_CLIENT): KIE Server 向けに RH-SSO に作成するクライアント名。
      • KIE Server RH-SSO クライアントのシークレット (KIE_SERVER_SSO_SECRET): KIE Server のクライアントに対して RH-SSO に設定するシークレットの文字列。
      • RH-SSO レルムの管理者のユーザー名 (SSO_USERNAME) および RH-SSO レルムの管理者のパスワード (SSO_PASSWORD): Red Hat Decision Manager の RH-SSO レルムの管理者ユーザーに指定するユーザー名とパスワード必要なクライアントを作成するためにこのユーザー名およびパスワードを指定する必要があります。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

デプロイの完了後に、RH-SSO 認証システムで Red Hat Decision Manager のコンポーネントの URL が正しいことを確認してください。

9.1.9. S2I の使用によるイミュータブル KIE Server の LDAP 認証パラメーターの設定

LDAP 認証を使用する場合は、S2I ビルドを使用してイミュータブル KIE Server をデプロイするテンプレートを設定する時に、以下の追加設定を行います。

重要

LDAP 認証および RH-SSO 認証を同じデプロイメントに設定しないようにしてください。

前提条件

手順

  1. テンプレートの AUTH_LDAP* パラメーターを設定します。これらのパラメーターは、Red Hat JBoss EAP の LdapExtended ログインモジュールの設定に対応します。これらの設定に関する説明は、LdapExtended ログインモジュール を参照してください。

    注記

    LDAP フェイルオーバーを有効にする場合は、AUTH_LDAP_URL パラメーターに、2 つ以上の LDAP サーバーアドレスをスペースで区切って設定できます。

    LDAP サーバーがデプロイメントに必要な全ロールを定義していない場合は、LDAP グループを Red Hat Decision Manager ロールにマッピングしてください。LDAP のロールマッピングを有効にするには、以下のパラメーターを設定します。

    • RoleMapping rolesProperties ファイルパス (AUTH_ROLE_MAPPER_ROLES_PROPERTIES): /opt/eap/standalone/configuration/rolemapping/rolemapping.properties など、ロールのマッピングを定義するファイルの完全修飾パス名。このファイルを指定して、該当するすべてのデプロイメント設定でこのパスにマウントする必要があります。これを実行する方法については、「(任意) LDAP ロールマッピングファイルの指定」を参照してください。
    • RoleMapping replaceRole プロパティー (AUTH_ROLE_MAPPER_REPLACE_ROLE): true に設定した場合、マッピングしたロールは、LDAP サーバーに定義したロールに置き換えられます。false に設定した場合は、LDAP サーバーに定義したロールと、マッピングしたロールの両方がユーザーアプリケーションロールとして設定されます。デフォルトの設定は false です。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

9.1.10. S2I の使用によるイミュータブル KIE Server の Prometheus メトリクス収集の有効化

KIE Server デプロイメントを Prometheus を使用してメトリクスを収集し、保存するように設定する必要がある場合、デプロイ時に KIE Server でこの機能のサポートを有効にします。

前提条件

手順

Prometheus メトリクス収集のサポートを有効にするには、Prometheus Server 拡張無効 (PROMETHEUS_SERVER_EXT_DISABLED) パラメーターを false に設定します。

次のステップ

必要な場合は、追加のパラメーターを設定します。

デプロイを完了するには、「S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行」 の手順に従います。

Prometheus メトリクス収集の設定方法は、KIE Server の管理および監視 を参照してください。

9.1.11. S2I の使用によるイミュータブル KIE Server テンプレートのデプロイの実行

OpenShift Web UI またはコマンドラインで必要なすべてのパラメーターを設定した後に、テンプレートのデプロイを実行します。

手順

使用している方法に応じて、以下の手順を実行します。

  • OpenShift Web UI の場合は Create をクリックします。

    • This will create resources that may have security or project behavior implications メッセージが表示された場合は、Create Anyway をクリックします。
  • コマンドラインに入力して、Enter キーを押します。

次のステップ

環境の要件に応じて、任意で 10章環境をデプロイした後の任意の手順 で説明されている手順を完了します。