第2章 OpenShift での従業員勤務表スターターアプリケーションのインストールおよび起動
Red Hat Business Optimizer 従業員勤務表スターターアプリケーションは、OpenShift テンプレートまたはアドオンディストリビューションで提供されている provision.sh シェルスクリプトを使用して、 Red Hat OpenShift Container Platform にデプロイできます。
OpenShift テンプレートを使用する場合、Red Hat OpenShift Container Platform は Red Hat リポジトリーからイメージを読み込んでデプロイします。このデプロイメントの方法は、テクノロジープレビュー機能となっています。
スクリプトを使用する場合には、アプリケーションのソースコードをローカルでビルドしてパッケージ化し、OpenShift 環境にアップロードしてデプロイします。Java 開発ツール (Java 開発キットおよび Maven) とバッシュシェルコマンドラインが利用できる場合は、この手法を使用できます。
デプロイしたアプリケーションでは、データはメモリーに保存され、Pod が再起動されるとデータはなくなります。
2.1. テンプレートを使用したアプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
テンプレートを使用してアプリケーションをデプロイするには、まず、Red Hat Decision Manager のイメージストリームが利用でき、OpenShift レジストリー認証を設定します。その後、テンプレートをデプロイできます。
このテンプレートでは、従業員勤務表スターターアプリケーションが含まれる Pod と、PostgreSQL データベースサーバーが含まれる別の Pod をデプロイします。このアプリケーションは、使用する全情報の永続ストレージにこのデータベースサーバーを使用します。
前提条件
-
Web UI または
ocコマンドラインツールを使用して、対象の OpenShift 環境にログインしておく必要があります。このツールに関する詳細は、CLI リファレンス を参照してください。
2.1.1. イメージストリームとイメージレジストリーの可用性確認 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Container Platform で従業員勤務表スターターアプリケーションをデプロイするには、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 rhdm73-optaweb-employee-rosteringコマンドの出力が空白でない場合には、必要なイメージストリームが
openshiftの名前空間にあるので、これ以外の操作は必要ありません。コマンドの出力が空白の場合や、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:のエントリーに記載されている名前に置き換えてください。-
Red Hat Decision Manager 7.3 の Software Downloads ページから
rhdm-7.3.0-openshift-templates.zipファイルをダウンロードします。 -
rhdm73-image-streams.yamlファイルを展開します。 以下のアクションの 1 つを完了します。
次のコマンドを実行します。
$ oc create -f rhdm73-image-streams.yaml-
OpenShift Web UI で Add to Project
Import YAML / JSON を選択し、ファイルを選択するか、ファイルの内容を貼り付けます。
-
上記の手順を完了したら、イメージストリームを独自のプロジェクトの名前空間にインストールします。この手順を使用してイメージストリームをインストールした場合には、テンプレートのデプロイ時に、IMAGE_STREAM_NAMESPACE パラメーターをこのプロジェクトの名前に設定する必要があります。
2.1.2. 従業員の勤務表のシークレット作成 リンクのコピーリンクがクリップボードにコピーされました!
従業員の勤務表アプリケーションに HTTPS アクセスするための SSL 証明書を作成し、それをシークレットとして OpenShift 環境に提供します。
手順
従業員の勤務表アプリケーションの SSL 暗号化の秘密鍵および公開鍵を使用して SSL キーストアを生成します。実稼働環境で、想定されるアプリケーションの URL と合致する有効な署名付き証明書を生成します。キーストアを
keystore.jksファイルに保存します。証明書の名前と、キーストアファイルのパスワードを記録します。自己署名型または購入する SSL 証明書を使用してキーストアを作成する方法はSSL 暗号化キーおよび証明書の生成を参照してください。
ocコマンドを使用して、新しいキーストアファイルからシークレットoptaweb-employee-rostering-app-secretを生成します。$ oc create secret generic optaweb-employee-rostering-app-secret --from-file=keystore.jks
2.1.3. OpenShift テンプレートのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift テンプレートをデプロイして、従業員勤務表のスターターアプリケーションを実行する環境を構築できます。
手順
-
Red Hat Decision Manager 7.3 の Software Downloads ページから
rhdm-7.3.0-openshift-templates.zipファイルをダウンロードします。 -
ダウンロードしたアーカイブを展開して、
rhdm73-optaweb-employee-rostering.yamlファイルの場所を特定します。 以下の方法を使用してテンプレートをデプロイします。
-
OpenShift Web UI では、Add to Project
Import YAML / JSON を選択し、 rhdm73-optaweb-employee-rostering.yamlファイルを選択またはその内容を貼り付けます。Add Template ウィンドウで、Process the template が選択されていることを確認し、Continue をクリックします。 OpenShift コマンドラインコンソールを使用するには、以下のコマンドラインを準備します。
oc new-app -f <template-path>/rhdm73-optaweb-employee-rostering.yaml -p OPTAWEB_HTTPS_SECRET=optaweb-employee-rostering-app-secretこのコマンドラインで以下を行います。
-
<template-path>を、ダウンロードしたテンプレートファイルのパスに置き換えます。 -
必要なパラメーターに設定するために必要な数だけ
-p PARAMETER=valueペアを追加します。テンプレートファイルを表示して、すべてのパラメーターの説明を確認します。
-
-
OpenShift Web UI では、Add to Project
必要に応じて以下のパラメーターを設定します。
-
Optaweb 従業員勤務表キーストアシークレット名 (
OPTAWEB_HTTPS_SECRET): 「従業員の勤務表のシークレット作成」 で作成した HTTPS 接続のシークレット名。 -
アプリケーション名 (
APPLICATION_NAME): OpenShift アプリケーションの名前。アプリケーションのデフォルト URL で使用します。 -
OptaWeb 管理者ユーザー (
OPTAWEB_ADMIN_USER): アプリケーションの管理者ユーザーのユーザー名。デフォルトのユーザー名はadminUserです。 -
OptaWeb 管理者パスワード (
OPTAWEB_ADMIN_PWD): アプリケーションの管理者ユーザーのパスワード。デフォルトのパスワードは、RedHatです。 -
ImageStream 名前空間 (
IMAGE_STREAM_NAMESPACE): イメージストリームが利用可能な名前空間。OpenShift 環境でイメージストリームが利用可能な場合 (「イメージストリームとイメージレジストリーの可用性確認」 を参照) は、namespace がopenshiftになります。イメージストリームファイルをインストールした場合は、名前空間が OpenShift プロジェクトの名前になります。 -
Optaweb 従業員勤務表コンテナーのメモリー制限 (
OPTAWEB_MEMORY_LIMIT): アプリケーションコンテナーのメモリー制限。上限が高いほど、従業員およびシフトを多くサポートできます。デフォルトは、1 Gi です。 -
Optaweb 従業員勤務表の生成ゾーン ID (
OPTAWEB_GENERATOR_ZONE_ID): アプリケーションで生成されるデータセット例に設定されるタイムゾーン。デフォルトは、OpenShift サーバーのローカルのタイムゾーンです。
-
Optaweb 従業員勤務表キーストアシークレット名 (
使用している方法に応じて、環境の作成を終了します。
OpenShift Web UI の場合は Create をクリックします。
-
This will create resources that may have security or project behavior implicationsのポップアップメッセージが表示された場合には、Create Anyway をクリックします。
-
- 完了し、コマンドラインを実行します。