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

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

前提条件

  1. OpenShift 環境で 4 ギガバイト以上のメモリーが利用可能であることを確認します。
  2. デプロイメント用の OpenShift プロジェクトを作成します。
  3. OpenShift web コンソールと oc コマンドを使用してプロジェクトにログインします。

2.1. イメージストリームが利用可能であることを確認

OpenShift 環境で、デプロイメントに必要なイメージストリームが利用可能であることを確認する必要があります。一部の OpenShift 環境には、必要なイメージストリームが含まれているため、それが利用可能かどうかを確認する必要があります。利用できない場合は、rhdm70-image-streams.yaml ファイルをダウンロードしてインストールする必要があります。

手順

  1. 以下のコマンドを実行します。

    $ oc get imagestreamtag -n openshift | grep rhdm70-decisioncentral-openshift
    $ oc get imagestreamtag -n openshift | grep rhdm70-kieserver-openshift

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

  2. 1 つ以上のコマンドの結果が空の場合は、https://github.com/jboss-container-images/rhdm-7-openshift-image/tree/rhdm70-dev から rhdm70-image-streams.yaml ファイルをダウンロードし、以下のいずれかを完了します。

    • 以下のコマンドを実行します。

      $ oc create -f rhdm70-image-streams.yaml
    • OpenShift Web UI で Add to Project > Import YAML / JSON を選択し、ファイルを選択するか、ファイルの内容を貼り付けます。

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

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

Decision Server に SSL 証明書を作成し、それをシークレットとして OpenShift 環境に提供します。

注記

HTTPS に対応しない S2I (source to image) を使用して Decision Server をデプロイする場合は、シークレットオブジェクトを作成する必要がありません。

手順

  1. Decision Server の SSL 暗号化の秘密鍵および公開鍵を使用して SSL キーストアを生成します。プロダクション環境で、期待する Decision Server の URL に一致する有効な署名付き証明書を生成します。キーストアを keystore.jks ファイルに保存します。証明書の名前と、キーストアファイルのパスワードを記録します。

    自己署名型または購入する SSL 証明書を使用してキーストアを作成する方法は「Generate a SSL Encryption Key and Certificate」を参照してください。

  2. oc コマンドを使用して、新しいキーストアファイルからシークレット kieserver-app-secret を生成します。

    $ oc create secret generic kieserver-app-secret --from-file=keystore.jks
  3. サービスアカウント kieserver-service-account を作成します。

    $ oc create serviceaccount kieserver-service-account
  4. シークレットをサービスアカウントに追加します。

    $ oc secret add sa/kieserver-service-account secret/kieserver-app-secret

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

OpenShift 環境に Decision Central をデプロイする場合は、Decision Central に SSL 証明書を作成し、OpenShift 環境にシークレットとして提供します。Decision Central と Decision Server には、同じ証明書とキーストアを使用しないでください。

手順

  1. Decision Central の SSL 暗号化の秘密鍵および公開鍵を使用して、SSL キーストアを生成します。プロダクション環境で、期待する Decision Central の URL に一致する有効な署名付き証明書を生成します。キーストアを keystore.jks ファイルに保存します。証明書の名前と、キーストアファイルのパスワードを登録します。

    自己署名型または購入する SSL 証明書を使用してキーストアを作成する方法は「Generate a SSL Encryption Key and Certificate」を参照してください。

  2. oc コマンドを使用して、新しいキーストアファイルからシークレット decisioncentral-app-secret を生成します。

    $ oc create secret generic decisioncentral-app-secret --from-file=keystore.jks
  3. サービスアカウント decisioncentral-service-account を作成します。

    $ oc create serviceaccount decisioncentral-service-account
  4. シークレットをサービスアカウントに追加します。

    $ oc secret add sa/decisioncentral-service-account secret/decisioncentral-app-secret