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

Red Hat Process Automation Manager 7.5

ガイド

概要

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

はじめに

システムエンジニアは、Red Hat OpenShift Container Platform に Red Hat Process Automation Manager 環境をデプロイしてプロセスや他のビジネスアセットを開発または実行するインフラストラクチャーを提供できます。Automation Broker を使用して、対話プロセスで Red Hat Process Automation Manager 環境をデプロイし、必要に応じて全パラメーターを設定します。Automation Broker 向けの Red Hat Process Automation Manager Ansible Playbook が提供されています。

前提条件

  • Red Hat OpenShift Container Platform バージョン 3.11 がデプロイされている。
  • OpenShift 環境で 4 ギガバイト以上のメモリーが利用できる。
  • OpenShift Ansible Broker が OpenShift 環境にインストールされており、起動している。
  • デプロイメントに使用する OpenShift プロジェクトが作成されている。
  • OpenShift Web コンソールと oc コマンドを使用してプロジェクトにログインしている。

    • 管理者アクセスがある(OpenShift 環境に Red Hat Process Automation Manager 7.5 イメージストリームが提供されていない場合)。
  • 動的永続ボリューム (PV) のプロビジョニングが有効になっている。または、動的 PV プロビジョニングが有効でない場合は、十分な永続ボリュームが利用できる状態でなければなりません。デフォルトでは、以下のサイズが必要です。

    • それぞれのデプロイされた Process Server Pod のセットには、デフォルトでデータベースに 1 つの 1Gi PV が必要になります。データベース PV のサイズは Playbook パラメーターで変更できます。複数のイミュータブルサーバーをデプロイでき、それぞれには別個のデータベース PV が必要になります。この要件は、外部データベースサーバーを使用する場合には適用されません。
    • デフォルトでは、Business Central は 1 Gi 分の PV が必要です。Playbook パラメーターで、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 ではサポートされません。

注記

Red Hat Process Automation Manager バージョン 7.5 以降、Red Hat OpenShift Container Platform 3.x のサポートは非推奨となっています。新機能が追加されない可能性があり、この機能は今後のリリースで削除予定です。

第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 内でさまざまな環境設定にこのコンポーネントおよびその他のコンポーネントを配置できます。

以下の環境タイプが一般的です。

  • オーサリング: Business Central を使用してサービスを作成し、変更するために使用する環境です。この環境は、オーサリングの作業用の Business Central と、サービスのテスト実行用の Process Server 1 台で構成されます。
  • 管理対象のデプロイメント: ステージングおよび実稼働用として既存のサービスを実行するのに使用する環境。この環境には、Process Server Pod のいくつかのグループが含まれます。Business Central Monitoring を使用してサービスをデプロイし、実行し、停止し、またそれらの実行を監視します。
  • イミュータブルサーバーを使用するデプロイメント: ステージングおよび実稼働目的で既存のサービスを実行するための代替の環境です。この環境では、Process Server Pod のデプロイ時にサービスまたはサービスのグループを読み込み、起動するイメージがビルドされます。この Pod でサービスを停止したり、新しいサービスを追加したりすることはできません。サービスの別のバージョンを使用したり、別の方法で設定を変更する必要がある場合は、新規のサーバーイメージをデプロイして、古いサーバーと入れ替えます。このシステムでは、Process Server は OpenShift 環境の Pod のように実行されるので、任意のコンテナーベースの統合ワークフローを使用することができ、他のツールを使用して Pod を管理する必要はありません。オプションとして、Business Central Monitoring を使用して環境のパフォーマンスを監視できますが、追加のサービスを Process Server にデプロイしたり、既存のサービスのデプロイを解除したりすることはできません (コンテナーの追加または削除はできません)。

試用 または評価環境をデプロイすることも可能です。この環境には、Business Central と Process Server が含まれます。この環境はすばやく設定でき、これを使用して、アセットの開発や実行を評価し、体験できます。ただし、この環境では永続ストレージを使用せず、この環境でのいずれの作業も保存されません。

Red Hat Process Automation Manager Ansible Playbook と Automation Broker を使用して、OpenShift に Red Hat Process Automation Manager 環境を対話モードでデプロイできます。この手順では、考えられる設定値をすべて設定できます。インストール時に、Automation Broker は必要なシークレットをすべて自動的に生成できます。ただし、実稼働環境では、インストール前に正しいシークレットを作成する必要があります。

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

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

2.1. イメージストリームとイメージレジストリーの可用性確認

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

OpenShift 環境のバージョンによっては、必要なイメージストリームが含まれている場合があります。イメージストリームが提供されているかどうかを確認する必要があります。デフォルトでイメージストリームが OpenShift に含まれている場合は、OpenShift インフラストラクチャーがレジストリー認証サーバー用に設定されているのであれば、使用できます。管理者は、OpenShift 環境のインストール時に、レジストリーの認証設定を完了する必要があります。

レジストリー認証設定が完了していない場合には、openshift namespace で、レジストリー認証を設定して、イメージストリームをインストールする必要があります。これらの変更を加えるには、OpenShift 環境への管理者権限が必要です。

Procedure

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

    $ oc get imagestreamtag -n openshift | grep -F rhpam-businesscentral | grep -F 7.5
    $ oc get imagestreamtag -n openshift | grep -F rhpam-kieserver | grep -F 7.5

    両コマンドの出力が空でない場合は、必要なイメージストリームが openshift namespace にあるため、これ以外の操作は必要ありません。

  3. コマンドの 1 つまたは複数の出力が空白の場合や、Red Hat レジストリーにアクセスするために、OpenShift をユーザー名およびパスワードで設定していない場合は、以下の手順を実行してください。

    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 -n openshift
      oc secrets link default <secret_name> --for=pull -n openshift
      oc secrets link builder <secret_name> --for=pull -n openshift

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

    6. Software Downloads ページから製品配信可能ファイル rhpam-7.5.1-openshift-templates.zip をダウンロードし、rhpam75-image-streams.yaml ファイルを展開します。
    7. 以下のコマンドを実行します。

      $ oc apply -f rhpam75-image-streams.yaml -n openshift

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

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

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

Procedure

  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 に同じ証明書およびキーストアを使用しないでください。

Procedure

  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 で使用されているものと同じものを指定しないでください。

Procedure

  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 を使用している場合は、Business Central の最適なパフォーマンスを確保するために、ストレージクラスの設定を変更して 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. Business Central を、高可用性設定がない単一の Pod としてのみ使用する予定の場合は、volumeoptions キーが含まれる行に、以下のオプションを追加します。

      features.cache-invalidation on
      performance.nl-cache on

      以下に例を示します。

      volumeoptions: client.ssl off, server.ssl off, features.cache-invalidation on, performance.nl-cache on

    3. Business Central を高可用性設定で使用する予定の場合は、volumeoptions キーが含まれる行に、以下のオプションを追加します。

      features.cache-invalidation on
      nfs.trusted-write on
      nfs.trusted-sync on
      performance.nl-cache on
      performance.stat-prefetch off
      performance.read-ahead off
      performance.write-behind off
      performance.readdir-ahead off
      performance.io-cache off
      performance.quick-read off
      performance.open-behind off
      locks.mandatory-locking off
      performance.strict-o-direct on

      以下に例を示します。

      volumeoptions: client.ssl off, server.ssl off, features.cache-invalidation on, nfs.trusted-write on, nfs.trusted-sync on, performance.nl-cache on, performance.stat-prefetch off, performance.read-ahead off, performance.write-behind off, performance.readdir-ahead off, performance.io-cache off, performance.quick-read off, performance.open-behind off, locks.mandatory-locking off, performance.strict-o-direct on

  4. 既存のデフォルトストレージクラスを削除するには、以下のコマンドを実行します。

    oc delete storageclass <class-name>

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

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

    oc create -f storage_config.yaml

第3章 Automation Broker を使用した Red Hat Process Automation Manager 環境のデプロイ

Automation Broker を使用して Red Hat Process Automation Manager 環境をデプロイするには、OpenShift カタログで Ansible Playbook を検索して実行し、必要に応じてパラメーターを設定する必要があります。

Procedure

  1. OpenShift Web UI で Add to Project → Browse Catalog の順に選択します。
  2. 検索フィールドで Red Hat Process Automation Manager と入力します。
  3. Red Hat Process Automation Manager 7.5 APB カタログエントリーを選択します。
  4. 次へ をクリックします。
  5. 画面の指示に従い、必要なアーキテクチャー要素を選択し、Next ボタンをクリックします。

    重要

    イミュータブルサーバーが含まれる環境と監視インフラストラクチャーをデプロイする場合には、先にImmutable Server - Monitor オプションをインストールしてから Immutable Server - KIE Process Server オプションをインストールします。

  6. 画面に記載されているように、パラメーターを入力します。多くの場合には、デフォルト値を使用するとデプロイメントが機能しますが、必要に応じて変更できます。以下の設定は必ず入力してください。

    • Immutable Server - Monitor オプションの場合:

      • Maven repository URL フィールド。監視対象のイミュータブルサーバーにデプロイする全アーティファクトと同じバージョンの Maven リポジトリーを指定する必要があります。
      • Admin password フィールド。管理者ユーザーとパスワードをメモして、監視サーバーが Business Central Monitoring に接続するように設定する必要があります。
    • Immutable Server - KIE Process Server オプションの場合:

      • KIE Server Container DeploymentGit Repository URL および Git Repository Reference フィールド。これらの設定で、デプロイメントプロセスが Process Server でビルドしてデプロイするソースコードが決まります。
      • Immutable Server - Monitor オプションをデプロイして、監視インフラストラクチャーにサーバーを接続する場合:

        • Router integrationrhpam-immutable-mon-smartrouter サービスのサービス名
        • Controller integrationrhpam-immutable-mon-rhpamcentrmon サービスのサービス名および、Immutable Server - KIE Process Server オプションで設定する管理ユーザー名とパスワード。

          重要

          以下の設定の組み合わせは避けるようにしてください。以下の組み合わせを使用すると無効な環境が生成されます。

          • Process server>Database type H2 と、Process server>Number of replicas1 を超える組み合わせ
          • Process server>Database type ExternalProcess server>Sets of Process Servers1 を超える組み合わせ。
          • 設定済みの Red Hat - Single Sign-OnProcess server>Sets of Process Servers1 を超える組み合わせ。
  7. オーサリングImmutable Server - Process Server または Managed Environment の Process Server に External データベースタイプを使用する場合は、External Database ヘディングでパラメーターを設定します。ホスト、ポート、データベース名データベースの JDBC URL を、お使いのデータベースサーバーに適した値に設定します。他のフィールドは、以下の値を使用してください。

    • Driver: サーバーの種類に合ったサーバーのドライバー

      • mysql
      • postgresql
    • Dialect class (KIE_SERVER_EXTERNALDB_DIALECT): サーバーの種類に合ったサーバーの Hibernate ダイアレクト。

      • org.hibernate.dialect.MySQL5Dialect (MySQL および MariaDB で使用される)
      • org.hibernate.dialect.PostgreSQLDialect

        注記

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

  8. Next をクリックしてデプロイメントを開始します。

    環境のデプロイメント後に、OpenShift Web コンソールに表示されている HTTPS ルートを使用して環境にアクセスできます。HTTP 要求は、HTTPS にリダイレクトされます。

重要

サービスのデプロイ後に、必要に応じて、Process Server の Pod をスケールアップしたり、スケールダウンしたりできます。データベースの Pod はスケーリングしないでください。

第4章 Automation Broker を使用した Red Hat Process Automation Manager 環境のプロビジョニング解除

Automation Broker を使用して Red Hat Process Automation Manager 環境をデプロイした場合に、Broker を使用して環境のプロビジョニングを解除することもできます。

Procedure

  1. OpenShift Web UIで、プロジェクトの Overview ページを表示します。
  2. 削除する Red Hat Process Automation Manager 環境のサービスインスタンスの場所を特定します。
  3. インスタンスのメニューボタンをクリックして、Delete を選択します。Automation Broker でプロビジョニング解除の Playbook を実行します。

付録A バージョン情報

本書の最終更新日: 2021 年 6 月 25 日(金)