Red Hat OpenShift Container Platform への Red Hat Decision Manager 試用環境のデプロイメント
ガイド
概要
はじめに
システムエンジニアは、Red Hat OpenShift Container Platform に Red Hat Decision Manager 試用環境をデプロイして、ルールやその他のビジネスアセットの開発や使用を評価し、体験することができます。
前提条件
- Red Hat OpenShift Container Platform バージョン 3.11 がデプロイされている。
- OpenShift クラスター/namespace で 3 ギガバイト以上のメモリーが利用可能である。
- デプロイメントする OpenShift プロジェクトが作成されている。
-
oc
コマンドを使用してプロジェクトにログインしている。oc
コマンドランツールに関する詳細は、OpenShift の CLI リファレンス を参照してください。OpenShift Web コンソールを使用してテンプレートをデプロイするには、Web コンソールを使用してログインしている必要もあります。
Red Hat Decision Manager バージョン 7.5 以降、Red Hat OpenShift Container Platform 3.x のサポートは非推奨となっています。この機能は今後のリリースで削除されます。
Red Hat Decision Manager テンプレートを Red Hat OpenShift Container Platform 4.x と一緒に使用しないでください。Red Hat Decision Manager を Red Hat OpenShift Container Platform 4.x にデプロイするには、Operator を使用した Red Hat OpenShift Container Platform への Red Hat Decision Manager 環境のデプロイ の説明を参照してください。
第1章 Red Hat OpenShift Container Platform における Red Hat Decision Manager の概要
Red Hat Decision Manager は、Red Hat OpenShift Container Platform 環境にデプロイすることができます。
この場合、Red Hat Decision Manager のコンポーネントは、別の OpenShift Pod としてデプロイされます。各 Pod のスケールアップおよびスケールダウンを個別に行い、特定のコンポーネントに必要な数だけコンテナーを提供できます。標準の OpenShift の手法を使用して Pod を管理し、負荷を分散できます。
以下の Red Hat Decision Manager の主要コンポーネントが OpenShift で利用できます。
Decision Server (実行サーバー (Execution Server) または KIE Server とも呼ばれる) は、インフラストラクチャーの要素でデシジョンサービスやその他のデプロイ可能なアセットを実行します (これらすべて総称で サービス と呼ぶ)。サービスのすべてのロジックは実行サーバーで実行されます。
Decision Server Pod をスケールアップして、同一または異なるホストで実行するコピーを必要な数だけ提供できます。Pod のスケールアップまたはスケールダウンを行うと、そのコピーはすべて同じサービスを実行します。OpenShift は負荷分散を提供しているため、要求はどの Pod でも処理できます。
個別の Decision Server Pod をデプロイして、異なるサービスグループを実行することができます。この Pod もスケールアップやスケールダウンが可能です。複製された個別の Decision Server Pod を必要な数だけ設定することができます。
Business Central は、オーサリングサービスに対する Web ベースのインタラクティブ環境です。Business Central は管理コンソールも提供します。Business Central を使用してサービスを開発し、それらを Decision Server にデプロイできます。
Business Central は一元化アプリケーションです。複数の Pod を実行し、同じデータを共有する高可用性用に設定できます。
Business Central には開発するサービスのソースを保管する Git リポジトリーが含まれます。また、ビルトインの Maven リポジトリーも含まれます。設定に応じて、Business Central はコンパイルしたサービス (KJAR ファイル) をビルドイン Maven リポジトリーに配置できます (設定した場合は外部 Maven リポジトリーにも可能)。
OpenShift 内でさまざまな環境設定にこのコンポーネントおよびその他のコンポーネントを配置できます。
以下の環境タイプが一般的です。
- オーサリングまたは管理対象の環境: Business Central 経由でサービスの作成や変更、Decision Server でのサービスの実行に使用可能な環境のアーキテクチャー。この環境は、オーサリング作業用の Business Central を提供する Pod と、サービス実行用の Decision Server 1 つまたは複数を提供する Pod で設定されます。Decision Server それぞれが 1 つの Pod となっており、必要に応じてスケールアップやスケールダウンすることで複製が可能です。Business Central を使用して、各 Decision Server にサービスをデプロイしたり、デプロイ解除したりすることができます。この環境をデプロイする方法については、Red Hat OpenShift Container Platform への Red Hat Decision Manager オーサリングまたは管理サーバー環境のデプロイ を参照してください。
- イミュータブルサーバーを使用するデプロイメント: ステージングおよび実稼働目的で既存のサービスを実行するための代替の環境です。この環境では、Process Server の Pod のデプロイ時に、サービスまたはサービスグループをロードおよび起動するイメージをビルドします。この Pod でサービスを停止したり、新しいサービスを追加したりすることはできません。サービスの別のバージョンを使用したり、別の方法で設定を変更する必要がある場合は、新規のサーバーイメージをデプロイして、古いサーバーと入れ替えます。このシステムでは、Decision Server は OpenShift 環境の他の Pod のように実行されるので、コンテナーベースの統合ワークフローはどれでも使用でき、別のツールを使用して Pod を管理する必要はありません。このような環境のデプロイメント手順は、Red Hat OpenShift Container Platform への Red Hat Decision Manager イミュータブルサーバー環境のデプロイメント を参照してください。
試用 または評価環境をデプロイすることも可能です。この環境には、Business Central と Decision Server が含まれます。この環境はすばやく設定でき、これを使用して、アセットの開発や実行を評価し、体験できます。ただし、この環境では永続ストレージを使用せず、この環境でのいずれの作業も保存されません。この環境のデプロイ方法については、Red Hat OpenShift Container Platform への Red Hat Decision Manager 試用環境のデプロイ を参照してください。
OpenShift に Red Hat Decision Manager 環境をデプロイするには、Red Hat Decision Manager で用意した OpenShift テンプレートを使用します。
第2章 イメージストリームとイメージレジストリーの可用性確認
Red Hat OpenShift Container Platform で Red Hat Decision Manager コンポーネントをデプロイするには、OpenShift が Red Hat レジストリーから正しいイメージをダウンロードできるようにする必要があります。これらのイメージをダウンロードするために、OpenShift ではイメージの場所情報が含まれる イメージストリーム が必要になります。また、OpenShift は、お使いのサービスアカウントのユーザー名とパスワードを使用して Red Hat レジストリーへの認証が行われるように設定する必要があります。
OpenShift 環境のバージョンによっては、必要なイメージストリームが含まれている場合があります。イメージストリームが提供されているかどうかを確認する必要があります。デフォルトでイメージストリームが OpenShift に含まれている場合は、OpenShift インフラストラクチャーがレジストリー認証サーバー用に設定されているのであれば、使用できます。管理者は、OpenShift 環境のインストール時に、レジストリーの認証設定を完了する必要があります。
それ以外の方法として、レジストリー認証を独自のプロジェクトで設定し、イメージストリームをそのプロジェクトにインストールすることができます。
手順
- Red Hat OpenShift Container Platform が Red Hat レジストリーへのアクセス用に、ユーザー名とパスワードで設定されているかを判断します。必須の設定に関する詳細は、レジストリーの場所の設定 を参照してください。OpenShift オンラインサブスクリプションを使用する場合は、Red Hat レジストリー用のアクセスはすでに設定されています。
Red Hat OpenShift Container Platform が Red Hat レジストリーへのアクセス用のユーザー名とパスワードで設定されている場合は、以下のコマンドを実行します。
$ oc get imagestreamtag -n openshift | grep -F rhdm76-decisioncentral-openshift $ oc get imagestreamtag -n openshift | grep -F rhdm76-kieserver-openshift
両コマンドの出力が空でない場合は、必要なイメージストリームが
openshift
namespace にあるため、これ以外の操作は必要ありません。コマンドの 1 つまたは複数の出力が空白の場合や、Red Hat レジストリーにアクセスするために、OpenShift をユーザー名およびパスワードで設定していない場合は、以下の手順を実行してください。
-
oc
コマンドで OpenShift にログインして、プロジェクトがアクティブであることを確認します。 - Registry Service Accounts for Shared Environments で説明されている手順を実行します。Red Hat カスタマーポータルにログインし、このドキュメントにアクセスし、レジストリーサービスアカウントを作成する手順を実行する必要があります。
- OpenShift Secret タブを選択し、Download secret のリンクをクリックして、YAML シークレットファイルをダウンロードします。
-
ダウンロードしたファイルを確認して、
name:
エントリーに記載の名前をメモします。 以下のコマンドを実行します。
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:
のエントリーに記載されている名前に置き換えてください。-
Software Downloads
ページから rhdm-7.6.0-openshift-templates.zip の製品配信可能ファイルをダウンロードし、rhdm76-image-streams.yaml
ファイルを展開します。 以下のコマンドを入力します。
$ oc apply -f rhdm76-image-streams.yaml
注記上記の手順を完了したら、イメージストリームを独自のプロジェクトの名前空間にインストールします。今回の例では、テンプレートのデプロイ時に
IMAGE_STREAM_NAMESPACE
パラメーターをこのプロジェクトの名前に設定する必要があります。
-
第3章 試用環境のデプロイ
試用版 (評価版) の Red Hat Decision Manager 環境をデプロイできます。この環境には、サービスのオーサリングと管理を行う Business Central とサービスのテストを実行する Decision Server で設定されます。
この環境には、永続ストレージが含まれません。トライアル環境で作成または変更するアセットは保存されません。
この環境は、テストおよびデモ用のアクセスを前提として設計されています。CORS (Cross-Origin Resource Sharing) をサポートします。これは、ページの他のリソースが他のサーバーによって提供される場合に、ブラウザーを使用して Decision Server エンドポイントにアクセスできることを意味します。Decision Server エンドポイントは通常 REST 呼び出しを対象としていますが、一部のデモ設定でブラウザーアクセスが必要になることがあります。
手順は最小限です。必須の設定はなく、すべてのパスワードは単一の値に設定されています (デフォルトのパスワードは RedHat
です)。
トライアル環境をデプロイするには、rhdm76-trial-ephemeral.yaml
テンプレートファイルを使用します。rhdm-7.6.0-openshift-templates.zip
の製品配信可能ファイルからこのファイルを展開できます。このファイルは、Red Hat カスタマーポータルの Software Downloads ページからダウンロードできます。
手順
以下の方法を使用してテンプレートをデプロイします。
-
OpenShift Web UI で、Add to Project → Import YAML / JSON を選択してから、
rhdm76-trial-ephemeral.yaml
ファイルを選択するか、またはこれを貼り付けます。Add Template ウィンドウで、Process the template が選択されていることを確認し、Continue をクリックします。 OpenShift コマンドラインコンソールを使用するには、以下のコマンドラインを準備します。
oc new-app -f <template-path>/rhdm76-trial-ephemeral.yaml
このコマンドラインでは、
<template-path>
は、ダウンロードしたテンプレートファイルのパスに置き換えます。
-
OpenShift Web UI で、Add to Project → Import YAML / JSON を選択してから、
必要に応じて、このテンプレートに記載されているようにパラメーターを設定します。通常の試用版の開発では、以下のパラメーターのみが必要です。
-
ImageStream 名前空間 (
IMAGE_STREAM_NAMESPACE
): イメージストリームが利用可能な名前空間。OpenShift 環境でイメージストリームが利用可能な場合 (2章イメージストリームとイメージレジストリーの可用性確認 を参照) は、namespace がopenshift
になります。イメージストリームファイルをインストールした場合は、名前空間が OpenShift プロジェクトの名前になります。
-
ImageStream 名前空間 (
使用している方法に応じて、環境の作成を終了します。
OpenShift Web UI の場合は Create をクリックします。
-
This will create resources that may have security or project behavior implications
のポップアップメッセージが表示される可能性があります。このメッセージが表示された場合は、Create Anyway をクリックします。
-
- 完了し、コマンドラインを実行します。
第4章 OpenShift テンプレートの参考資料
Red Hat Decision Manager には、以下の OpenShift テンプレートが含まれています。このテンプレートにアクセスするには、Red Hat カスタマーポータルの Software Downloads ページから、製品の配信可能ファイル rhdm-7.6.0-openshift-templates.zip
をダウンロードして展開します。
-
rhdm76-trial-ephemeral.yaml
は、Business Central および Business Central に接続された Decision Server を提供します。この環境では、永続ストレージのない一時的な設定を使用します。このテンプレートの詳細は、「rhdm76-trial-ephemeral.yaml テンプレート」 を参照してください。
4.1. rhdm76-trial-ephemeral.yaml テンプレート
Red Hat Decision Manager 7.6 の一時オーサリングおよびテスト環境向けのアプリケーションテンプレート (非推奨)
4.1.1. パラメーター
テンプレートを使用すると値を引き継ぐパラメーターを定義でき、パラメーターの参照時には、この値が代入されます。この値は、パラメーターの参照時には、この値が代入されます。参照はオブジェクト一覧フィールドの任意のテキストフィールドで定義できます。詳細は、Openshift ドキュメント を参照してください。
変数名 | イメージの環境変数 | 説明 | 値の例 | 必須 |
---|---|---|---|---|
| — | アプリケーションの名前。 | myapp | True |
|
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 | RedHat | True |
|
| KIE 管理者のユーザー名。 | adminUser | False |
|
| KIE サーバーのユーザー名。(org.kie.server.user システムプロパティーを設定する) | executionUser | False |
|
| KIE Server は、タスク関連の操作 (たとえばクエリー) については認証ユーザーをスキップできます。(org.kie.server.bypass.auth.user システムプロパティーを設定) | false | False |
|
| KIE サーバーコントローラーのユーザー名。(org.kie.server.controller.user システムプロパティーを設定する) | controllerUser | False |
|
| KIE Server モード。有効な値は 'DEVELOPMENT' または 'PRODUCTION' です。実稼働モードでは、SNAPSHOT バージョンのアーティファクトは KIE Server にデプロイできず、既存のコンテナーでアーティファクトのバージョンを変更することはできません。(org.kie.server.mode システムプロパティーを設定) |
| False |
|
| KIE Server の mbeans が有効/無効になっています。(システムプロパティー kie.mbeans および kie.scanner.mbeans を設定) | enabled | False |
|
| KIE Server クラスのフィルターリング。(org.drools.server.filter.classes システムプロパティーを設定) | true | False |
|
| false に設定すると、prometheus サーバー拡張が有効になります。(org.kie.prometheus.server.ext.disabled システムプロパティーを設定) | false | False |
|
| http サービスルートのカスタムホスト名。デフォルトホスト名の場合は空白にします (例: insecure-<application-name>-kieserver-<project>.<default-domain-suffix>)。 | — | False |
|
| KIE Server の Access-Control-Allow-Origin 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 | * | False |
|
| KIE Server の Access-Control-Allow-Methods 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 | GET、POST、OPTIONS、PUT | False |
|
| KIE Server の Access-Control-Allow-Headers 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 | Accept、Authorization、Content-Type、X-Requested-With | False |
|
| KIE Server の Access-Control-Allow-Credentials 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 | true | False |
|
| KIE Server の Access-Control-Max-Age 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 | 1 | False |
|
| http サービスルートのカスタムホスト名。デフォルトホスト名は空白にします (例: insecure-<application-name>-rhdmcentr-<project>.<default-domain-suffix>)。 | — | False |
|
| true に設定すると、KIE Server のグローバル検出機能はオンになります (org.kie.server.controller.openshift.global.discovery.enabled システムプロパティーを設定)。 | false | False |
|
| Business Central の OpenShift 統合がオンの場合は、このパラメーターを true に設定すると、OpenShift 内部サービスエンドポイント経由での KIE Server への接続が有効になります。(org.kie.server.controller.openshift.prefer.kieserver.service システムプロパティーを設定します) | true | False |
|
| KIE ServerTemplate Cache TTL (ミリ秒単位)。(org.kie.server.controller.template.cache.ttl システムプロパティーを設定) | 60000 | False |
| — | Red Hat Decision Manager イメージの ImageStream がインストールされている名前空間。これらの ImageStreams は通常 OpenShift の名前空間にインストールされています。ImageStreams を別の namespace/プロジェクトにインストールしている場合には、これを変更するだけで結構です。 | openshift | True |
| — | KIE Server に使用するイメージストリームの名前。デフォルトは rhdm-kieserver-rhel8 です。 | rhdm-kieserver-rhel8 | True |
| — | イメージストリーム内のイメージへの名前付きポインター。デフォルトは 7.6.0 です。 | 7.6.0 | True |
|
| KIE Server コンテナーのデプロイメント設定。任意でエイリアスあり。形式: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | — | False |
|
| maven リポジトリーに使用する id (設定されている場合)。デフォルトは無作為に作成されます。 | repo-custom | False |
|
| Maven リポジトリーまたはサービスへの完全修飾 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | False |
|
| Maven リポジトリーにアクセスするためのユーザー名 (必要な場合)。 | — | False |
|
| Maven リポジトリーにアクセスするパスワード (必要な場合)。 | — | False |
|
| EAP 内の Decision Central がホストする Maven サービスにアクセスするためのパスワード | mavenUser | True |
|
| git フックに使用するディレクトリー (必要な場合)。 |
| False |
| — | Decision Central コンテナーのメモリー制限。 | 2Gi | False |
| — | KIE Server のコンテナーのメモリー制限。 | 1Gi | False |
|
| RH-SSO URL。 | False | |
|
| RH-SSO レルム名。 | — | False |
|
| Decision Central RH-SSO クライアント名。 | — | False |
|
| Decision Central RH-SSO クライアントシークレット。 | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
|
| KIE Server の RH-SSO クライアント名。 | — | False |
|
| KIE Server の RH-SSO クライアントシークレット。 | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
|
| クライアント作成に使用する RH-SSO レルムの管理者ユーザー名 (存在しない場合)。 | — | False |
|
| クライアント作成に使用する RH-SSO レルムの管理者のパスワード。 | — | False |
|
| RH-SSO が無効な SSL 証明書の検証。 | false | False |
|
| ユーザー名として使用する RH-SSO プリンシパル属性。 | preferred_username | False |
|
| 認証用に接続する LDAP エンドポイント。 | ldap://myldap.example.com | False |
|
| 認証に使用するバインド DN | uid=admin,ou=users,ou=example,ou=com | False |
|
| 認証に使用する LDAP の認証情報 | パスワード | False |
|
| パスワードの復号に使用する JaasSecurityDomain の JMX ObjectName。 | — | False |
|
| ユーザー検索を開始する最上位コンテキストの LDAP ベース DN | ou=users,ou=example,ou=com | False |
|
| 認証するユーザーのコンテキストの検索に使用する LDAP 検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。検索フィルターの一般的な例は (uid={0}) です。 | (uid={0}) | False |
|
| 使用する検索範囲。 |
| False |
|
| ユーザーまたはロールの検索のタイムアウト (ミリ秒単位)。 | 10000 | False |
|
| ユーザーの DN を含むユーザーエントリーの属性の名前。これは、ユーザー自身の DN に正しいユーザーマッピングを妨げる特殊文字 (バックスラッシュなど) が含まれる場合に必要になることがあります。属性が存在しない場合は、エントリーの DN が使用されます。 | distinguishedName | False |
|
| DN がユーザー名に対して解析されるかどうかを示すフラグ。true に設定されている場合、DN はユーザー名に対して解析されます。false に設定されている場合、DN はユーザー名に対して解析されません。このオプションは、usernameBeginString および usernameEndString とともに使用されます。 | true | False |
|
| ユーザー名を公開するため、DN の最初から削除される文字列を定義します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 | — | False |
|
| ユーザー名を公開するため、DN の最後から削除される文字列を定義します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 | — | False |
|
| ユーザーロールを含む属性の名前。 | memberOf | False |
|
| ユーザーロールを検索するコンテキストの固定 DN。これは、実際のロールが存在する DN ではなく、ユーザーロールを含むオブジェクトが存在する DN です。たとえば、Microsoft Active Directory サーバーでは、これは、ユーザーアカウントが存在する DN です。 | ou=groups,ou=example,ou=com | False |
|
| 認証済みユーザーと関連付けられたロールを検索するために使用される検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。認証済み userDN は {1} が使用されたフィルターに置き換えられます。入力ユーザー名に一致する検索フィルター例は (member={0}) です。認証済み userDN に一致する他の例は (member={1}) です。 | (memberOf={1}) | False |
|
| ロール検索が一致するコンテキストで行われる再帰のレベル数。再帰を無効にするには、これを 0 に設定します。 | 1 | False |
|
| 認証された全ユーザーに対して含まれるロール。 | user | False |
|
| ロール名を含む roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーを true に設定すると、このプロパティーはロールオブジェクトの名前属性の検索に使用されます。 | name | False |
|
| クエリーによって返された DN に roleNameAttributeID が含まれるかどうかを示すフラグ。true に設定した場合には、DN は roleNameATtributeID に対してチェックされます。false に設定すると、DN は roleNameATtributeID に対して確認されません。このフラグは LDAP クエリーのパフォーマンスを向上できます。 | false | False |
|
| roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合は、コンテキスト名の roleNameAttributeId 属性の値からこのロール名が取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。 | false | False |
|
| リファーラル (referral) を使用しない場合はこのオプションを使用する必要はありません。リファーラルを使用し、ロールオブジェクトがリファーラル内部にあると、このオプションは特定のロール (例: member) に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。 | — | False |
|
| このパラメーターがある場合には、RoleMapping のログインモジュールで、指定したファイルを使用するように設定します。このパラメーターは、ロールを置換ロールに対してマップするプロパティーファイルまたはリソースの完全修飾ファイルパスまたはファイル名を定義します。形式は original_role=role1,role2,role3 になります。 | — | False |
|
| 現在のロールを追加するか、マップされたロールに現在のロールを置き換えるか。true に設定した場合は、置き換えられます。 | — | False |
4.1.2. オブジェクト
CLI はさまざまなオブジェクトタイプをサポートします。これらのオブジェクトタイプの一覧や略語については、Openshift ドキュメント を参照してください。
4.1.2.1. サービス
サービスは、Pod の論理セットや、Pod にアクセスするためのポリシーを定義する抽象概念です。詳細は、コンテナーエンジンのドキュメント を参照してください。
サービス | ポート | 名前 | 説明 |
---|---|---|---|
| 8080 | http | Decision Central のすべての Web サーバーのポート。 |
| 8080 | — | すべての KIE Server Web サーバーのポート。 |
4.1.2.2. ルート
ルートとは、www.example.com
など、外部から到達可能なホスト名を指定して、サービスを公開する手段です。ルーターは、定義したルートや、サービスで特定したエンドポイントを使用して、外部のクライアントからアプリケーションに名前付きの接続を提供します。各ルートは、ルート名、サービスセレクター、セキュリティー設定 (任意) で設定されます。詳細は、Openshift ドキュメント を参照してください。
サービス | セキュリティー | ホスト名 |
---|---|---|
insecure-${APPLICATION_NAME}-rhdmcentr-http | なし |
|
insecure-${APPLICATION_NAME}-kieserver-http | なし |
|
4.1.2.3. デプロイメント設定
OpenShift のデプロイメントは、デプロイメント設定と呼ばれるユーザー定義のテンプレートをもとにするレプリケーションコントローラーです。デプロイメントは手動で作成されるか、トリガーされたイベントに対応するために作成されます。詳細は、Openshift ドキュメント を参照してください。
4.1.2.3.1. トリガー
トリガーは、OpenShift 内外を問わず、イベントが発生すると新規デプロイメントを作成するように促します。詳細は、Openshift ドキュメント を参照してください。
Deployment | トリガー |
---|---|
| ImageChange |
| ImageChange |
4.1.2.3.2. レプリカ
レプリケーションコントローラーを使用すると、指定した数だけ、Pod のレプリカを一度に実行させることができます。レプリカが増えると、レプリケーションコントローラーが Pod の一部を終了させます。レプリカが足りない場合には、起動させます。詳細は、コンテナーエンジンのドキュメント を参照してください。
Deployment | レプリカ |
---|---|
| 1 |
| 1 |
4.1.2.3.3. Pod テンプレート
4.1.2.3.3.1. サービスアカウント
サービスアカウントは、各プロジェクト内に存在する API オブジェクトです。他の API オブジェクトのように作成し、削除できます。詳細は、Openshift ドキュメント を参照してください。
Deployment | サービスアカウント |
---|---|
|
|
|
|
4.1.2.3.3.2. イメージ
デプロイメント | イメージ |
---|---|
| rhdm-decisioncentral-rhel8 |
|
|
4.1.2.3.3.3. Readiness Probe
${APPLICATION_NAME}-rhdmcentr
Http Get on http://localhost:8080/rest/ready
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
4.1.2.3.3.4. Liveness Probe
${APPLICATION_NAME}-rhdmcentr
Http Get on http://localhost:8080/rest/healthy
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
4.1.2.3.3.5. 公開されたポート
デプロイメント | 名前 | ポート | プロトコル |
---|---|---|---|
| jolokia | 8778 |
|
http | 8080 |
| |
| jolokia | 8778 |
|
http | 8080 |
|
4.1.2.3.3.6. イメージの環境変数
デプロイメント | 変数名 | 説明 | 値の例 |
---|---|---|---|
|
| KIE 管理者のユーザー名。 |
|
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| KIE Server の mbeans が有効/無効になっています。(システムプロパティー kie.mbeans および kie.scanner.mbeans を設定) |
| |
| true に設定すると、KIE Server のグローバル検出機能はオンになります (org.kie.server.controller.openshift.global.discovery.enabled システムプロパティーを設定)。 |
| |
| Business Central の OpenShift 統合がオンの場合は、このパラメーターを true に設定すると、OpenShift 内部サービスエンドポイント経由での KIE Server への接続が有効になります。(org.kie.server.controller.openshift.prefer.kieserver.service システムプロパティーを設定します) |
| |
| KIE ServerTemplate Cache TTL (ミリ秒単位)。(org.kie.server.controller.template.cache.ttl システムプロパティーを設定) |
| |
| — | true | |
| KIE サーバーコントローラーのユーザー名。(org.kie.server.controller.user システムプロパティーを設定する) |
| |
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| KIE サーバーのユーザー名。(org.kie.server.user システムプロパティーを設定する) |
| |
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| — |
| |
| maven リポジトリーに使用する id (設定されている場合)。デフォルトは無作為に作成されます。 |
| |
| Maven リポジトリーまたはサービスへの完全修飾 URL。 |
| |
| Maven リポジトリーにアクセスするためのユーザー名 (必要な場合)。 |
| |
| Maven リポジトリーにアクセスするパスワード (必要な場合)。 |
| |
| EAP 内の Decision Central がホストする Maven サービスにアクセスするためのパスワード |
| |
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| git フックに使用するディレクトリー (必要な場合)。 |
| |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO レルム名。 |
| |
| Decision Central RH-SSO クライアントシークレット。 |
| |
| Decision Central RH-SSO クライアント名。 |
| |
| クライアント作成に使用する RH-SSO レルムの管理者ユーザー名 (存在しない場合)。 |
| |
| クライアント作成に使用する RH-SSO レルムの管理者のパスワード。 |
| |
| RH-SSO が無効な SSL 証明書の検証。 |
| |
| ユーザー名として使用する RH-SSO プリンシパル属性。 |
| |
| http サービスルートのカスタムホスト名。デフォルトホスト名は空白にします (例: insecure-<application-name>-rhdmcentr-<project>.<default-domain-suffix>)。 |
| |
| 認証用に接続する LDAP エンドポイント。 |
| |
| 認証に使用するバインド DN |
| |
| 認証に使用する LDAP の認証情報 |
| |
| パスワードの復号に使用する JaasSecurityDomain の JMX ObjectName。 |
| |
| ユーザー検索を開始する最上位コンテキストの LDAP ベース DN |
| |
| 認証するユーザーのコンテキストの検索に使用する LDAP 検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。検索フィルターの一般的な例は (uid={0}) です。 |
| |
| 使用する検索範囲。 |
| |
| ユーザーまたはロールの検索のタイムアウト (ミリ秒単位)。 |
| |
| ユーザーの DN を含むユーザーエントリーの属性の名前。これは、ユーザー自身の DN に正しいユーザーマッピングを妨げる特殊文字 (バックスラッシュなど) が含まれる場合に必要になることがあります。属性が存在しない場合は、エントリーの DN が使用されます。 |
| |
| DN がユーザー名に対して解析されるかどうかを示すフラグ。true に設定されている場合、DN はユーザー名に対して解析されます。false に設定されている場合、DN はユーザー名に対して解析されません。このオプションは、usernameBeginString および usernameEndString とともに使用されます。 |
| |
| ユーザー名を公開するため、DN の最初から削除される文字列を定義します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 |
| |
| ユーザー名を公開するため、DN の最後から削除される文字列を定義します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 |
| |
| ユーザーロールを含む属性の名前。 |
| |
| ユーザーロールを検索するコンテキストの固定 DN。これは、実際のロールが存在する DN ではなく、ユーザーロールを含むオブジェクトが存在する DN です。たとえば、Microsoft Active Directory サーバーでは、これは、ユーザーアカウントが存在する DN です。 |
| |
| 認証済みユーザーと関連付けられたロールを検索するために使用される検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。認証済み userDN は {1} が使用されたフィルターに置き換えられます。入力ユーザー名に一致する検索フィルター例は (member={0}) です。認証済み userDN に一致する他の例は (member={1}) です。 |
| |
| ロール検索が一致するコンテキストで行われる再帰のレベル数。再帰を無効にするには、これを 0 に設定します。 |
| |
| 認証された全ユーザーに対して含まれるロール。 |
| |
| ロール名を含む roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーを true に設定すると、このプロパティーはロールオブジェクトの名前属性の検索に使用されます。 |
| |
| クエリーによって返された DN に roleNameAttributeID が含まれるかどうかを示すフラグ。true に設定した場合には、DN は roleNameATtributeID に対してチェックされます。false に設定すると、DN は roleNameATtributeID に対して確認されません。このフラグは LDAP クエリーのパフォーマンスを向上できます。 |
| |
| roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合は、コンテキスト名の roleNameAttributeId 属性の値からこのロール名が取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。 |
| |
| リファーラル (referral) を使用しない場合はこのオプションを使用する必要はありません。リファーラルを使用し、ロールオブジェクトがリファーラル内部にあると、このオプションは特定のロール (例: member) に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。 |
| |
| このパラメーターがある場合には、RoleMapping のログインモジュールで、指定したファイルを使用するように設定します。このパラメーターは、ロールを置換ロールに対してマップするプロパティーファイルまたはリソースの完全修飾ファイルパスまたはファイル名を定義します。形式は original_role=role1,role2,role3 になります。 |
| |
| 現在のロールを追加するか、マップされたロールに現在のロールを置き換えるか。true に設定した場合は、置き換えられます。 |
| |
|
| — |
|
| KIE 管理者のユーザー名。 |
| |
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| KIE Server モード。有効な値は 'DEVELOPMENT' または 'PRODUCTION' です。実稼働モードでは、SNAPSHOT バージョンのアーティファクトは KIE Server にデプロイできず、既存のコンテナーでアーティファクトのバージョンを変更することはできません。(org.kie.server.mode システムプロパティーを設定) |
| |
| KIE Server の mbeans が有効/無効になっています。(システムプロパティー kie.mbeans および kie.scanner.mbeans を設定) |
| |
| KIE Server クラスのフィルターリング。(org.drools.server.filter.classes システムプロパティーを設定) |
| |
| false に設定すると、prometheus サーバー拡張が有効になります。(org.kie.prometheus.server.ext.disabled システムプロパティーを設定) |
| |
| KIE Server は、タスク関連の操作 (たとえばクエリー) については認証ユーザーをスキップできます。(org.kie.server.bypass.auth.user システムプロパティーを設定) |
| |
| — | — | |
| — | insecure-${APPLICATION_NAME}-kieserver | |
| — | OpenShiftStartupStrategy | |
| KIE サーバーのユーザー名。(org.kie.server.user システムプロパティーを設定する) |
| |
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| KIE Server コンテナーのデプロイメント設定。任意でエイリアスあり。形式: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| — | RHDMCENTR,EXTERNAL | |
| — | repo-rhdmcentr | |
| — |
| |
| — |
| |
| EAP 内の Decision Central がホストする Maven サービスにアクセスするためのパスワード |
| |
| 試用版環境でユーザーが簡単に使用できるように用意された、複数コンポーネントに使用されるデフォルトのパスワード。 |
| |
| maven リポジトリーに使用する id (設定されている場合)。デフォルトは無作為に作成されます。 |
| |
| Maven リポジトリーまたはサービスへの完全修飾 URL。 |
| |
| Maven リポジトリーにアクセスするためのユーザー名 (必要な場合)。 |
| |
| Maven リポジトリーにアクセスするパスワード (必要な場合)。 |
| |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO レルム名。 |
| |
| KIE Server の RH-SSO クライアントシークレット。 |
| |
| KIE Server の RH-SSO クライアント名。 |
| |
| クライアント作成に使用する RH-SSO レルムの管理者ユーザー名 (存在しない場合)。 |
| |
| クライアント作成に使用する RH-SSO レルムの管理者のパスワード。 |
| |
| RH-SSO が無効な SSL 証明書の検証。 |
| |
| ユーザー名として使用する RH-SSO プリンシパル属性。 |
| |
| http サービスルートのカスタムホスト名。デフォルトホスト名の場合は空白にします (例: insecure-<application-name>-kieserver-<project>.<default-domain-suffix>)。 |
| |
| 認証用に接続する LDAP エンドポイント。 |
| |
| 認証に使用するバインド DN |
| |
| 認証に使用する LDAP の認証情報 |
| |
| パスワードの復号に使用する JaasSecurityDomain の JMX ObjectName。 |
| |
| ユーザー検索を開始する最上位コンテキストの LDAP ベース DN |
| |
| 認証するユーザーのコンテキストの検索に使用する LDAP 検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。検索フィルターの一般的な例は (uid={0}) です。 |
| |
| 使用する検索範囲。 |
| |
| ユーザーまたはロールの検索のタイムアウト (ミリ秒単位)。 |
| |
| ユーザーの DN を含むユーザーエントリーの属性の名前。これは、ユーザー自身の DN に正しいユーザーマッピングを妨げる特殊文字 (バックスラッシュなど) が含まれる場合に必要になることがあります。属性が存在しない場合は、エントリーの DN が使用されます。 |
| |
| DN がユーザー名に対して解析されるかどうかを示すフラグ。true に設定されている場合、DN はユーザー名に対して解析されます。false に設定されている場合、DN はユーザー名に対して解析されません。このオプションは、usernameBeginString および usernameEndString とともに使用されます。 |
| |
| ユーザー名を公開するため、DN の最初から削除される文字列を定義します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 |
| |
| ユーザー名を公開するため、DN の最後から削除される文字列を定義します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 |
| |
| ユーザーロールを含む属性の名前。 |
| |
| ユーザーロールを検索するコンテキストの固定 DN。これは、実際のロールが存在する DN ではなく、ユーザーロールを含むオブジェクトが存在する DN です。たとえば、Microsoft Active Directory サーバーでは、これは、ユーザーアカウントが存在する DN です。 |
| |
| 認証済みユーザーと関連付けられたロールを検索するために使用される検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。認証済み userDN は {1} が使用されたフィルターに置き換えられます。入力ユーザー名に一致する検索フィルター例は (member={0}) です。認証済み userDN に一致する他の例は (member={1}) です。 |
| |
| ロール検索が一致するコンテキストで行われる再帰のレベル数。再帰を無効にするには、これを 0 に設定します。 |
| |
| 認証された全ユーザーに対して含まれるロール。 |
| |
| ロール名を含む roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーを true に設定すると、このプロパティーはロールオブジェクトの名前属性の検索に使用されます。 |
| |
| クエリーによって返された DN に roleNameAttributeID が含まれるかどうかを示すフラグ。true に設定した場合には、DN は roleNameATtributeID に対してチェックされます。false に設定すると、DN は roleNameATtributeID に対して確認されません。このフラグは LDAP クエリーのパフォーマンスを向上できます。 |
| |
| roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合は、コンテキスト名の roleNameAttributeId 属性の値からこのロール名が取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。 |
| |
| リファーラル (referral) を使用しない場合はこのオプションを使用する必要はありません。リファーラルを使用し、ロールオブジェクトがリファーラル内部にあると、このオプションは特定のロール (例: member) に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。 |
| |
| このパラメーターがある場合には、RoleMapping のログインモジュールで、指定したファイルを使用するように設定します。このパラメーターは、ロールを置換ロールに対してマップするプロパティーファイルまたはリソースの完全修飾ファイルパスまたはファイル名を定義します。形式は original_role=role1,role2,role3 になります。 |
| |
| 現在のロールを追加するか、マップされたロールに現在のロールを置き換えるか。true に設定した場合は、置き換えられます。 |
| |
| — | AC_ALLOW_ORIGIN,AC_ALLOW_METHODS,AC_ALLOW_HEADERS,AC_ALLOW_CREDENTIALS,AC_MAX_AGE | |
| — | Access-Control-Allow-Origin | |
| KIE Server の Access-Control-Allow-Origin 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 |
| |
| — | Access-Control-Allow-Methods | |
| KIE Server の Access-Control-Allow-Methods 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 |
| |
| — | Access-Control-Allow-Headers | |
| KIE Server の Access-Control-Allow-Headers 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 |
| |
| — | Access-Control-Allow-Credentials | |
| KIE Server の Access-Control-Allow-Credentials 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 |
| |
| — | Access-Control-Max-Age | |
| KIE Server の Access-Control-Max-Age 応答ヘッダーの値を設定します (CORS サポートに役立ちます)。 |
|
4.1.2.4. 外部の依存関係
4.1.2.4.1. シークレット
このテンプレートでは、アプリケーションを実行するために以下のシークレットをインストールする必要があります。
4.2. OpenShift の使用に関するクイックリファレンス
Red Hat OpenShift Container Platform で Red Hat Decision Manager テンプレートのデプロイ、モニターリング、管理、デプロイ解除するには、OpenShift Web コンソールまたは oc
コマンドを使用できます。
Web コンソールの使用に関する説明は、Web コンソールを使用したイメージの作成およびビルド を参照してください。
oc
コマンドの使用方法に関する詳細は、CLI リファレンス を参照してください。次のコマンドが必要になる可能性があります。
プロジェクトを作成するには、以下のコマンドを使用します。
$ oc new-project <project-name>
詳細は、CLI を使用したプロジェクトの作成 を参照してください。
テンプレートをデプロイするには (またはテンプレートからアプリケーションを作成するには)、以下のコマンドを実行します。
$ oc new-app -f <template-name> -p <parameter>=<value> -p <parameter>=<value> ...
詳細は、CLI を使用したアプリケーションの作成 を参照してください。
プロジェクト内のアクティブな Pod の一覧を表示するには、以下のコマンドを使用します。
$ oc get pods
Pod のデプロイメントが完了し、実行中の状態になっているかどうかなど、Pod の現在のステータスを表示するには、以下のコマンドを使用します。
$ oc describe pod <pod-name>
oc describe
コマンドを使用して、他のオブジェクトの現在のステータスを表示できます。詳細は、アプリケーションの変更操作 を参照してください。Pod のログを表示するには、以下のコマンドを使用します。
$ oc logs <pod-name>
デプロイメントログを表示するには、テンプレート参照で
DeploymentConfig
名を検索し、以下のコマンドを入力します。$ oc logs -f dc/<deployment-config-name>
詳細は、デプロイメントログの表示 を参照してください。
ビルドログを表示するには、テンプレート参照で
BuildConfig
名を検索し、以下のコマンドを入力します。$ oc logs -f bc/<build-config-name>
詳細は、ビルドログのアクセス を参照してください。
アプリケーションの Pod をスケーリングするには、テンプレート参照で
DeploymentConfig
名を検索し、以下のコマンドを入力します。$ oc scale dc/<deployment-config-name> --replicas=<number>
詳細は、手動スケーリング を参照してください。
アプリケーションのデプロイメントを解除するには、以下のコマンドを使用してプロジェクトを削除します。
$ oc delete project <project-name>
または、
oc delete
コマンドを使用して、Pod またはレプリケーションコントローラーなど、アプリケーションの一部を削除できます。詳細は、アプリケーションの修正操作 を参照してください。
付録A バージョン情報
本書の最終更新日: 2021 年 11 月 15 日 (月)