7.3. テンプレートベースのブローカーデプロイメントの準備
前提条件
- Broker インスタンスを OpenShift Container Platform にデプロイする前に、AMQ Broker イメージストリームおよびアプリケーションテンプレートをインストールする必要があります。詳細は、「イメージストリームおよびアプリケーションテンプレートのインストール」を参照してください。
-
以下の手順は、インストールしたブローカーイメージストリームおよびアプリケーションテンプレートがグローバル
openshiftプロジェクトにあることを前提とします。イメージおよびアプリケーションテンプレートを特定のプロジェクトの名前空間にインストールしている場合、amq-demoなどの新規プロジェクトを作成するのではなく、このプロジェクトを引き続き使用します。
手順
コマンドプロンプトを使用して新しいプロジェクトを作成します。
$ oc new-project amq-demoAMQ Broker デプロイメントに使用するサービスアカウントを作成します。
$ echo '{"kind": "ServiceAccount", "apiVersion": "v1", "metadata": {"name": "amq-service-account"}}' | oc create -f -view ロールをサービスアカウントに追加します。view ロールにより、サービスアカウントは amq-demo namespace のすべてのリソースを表示できます。これは、ブローカークラスターエンドポイントの検出に OpenShift dns-ping プロトコルを使用する場合に、クラスターを管理するために必要です。
$ oc policy add-role-to-user view system:serviceaccount:amq-demo:amq-service-accountAMQ Broker には、ブローカーキーストア、クライアントキーストア、およびブローカーキーストアが含まれるクライアントトラストストアが必要です。この例では、Java Development Kit に含まれるパッケージである Java Keytool を使用して、AMQ Broker インストールで使用するダミーの認証情報を生成します。
ブローカーキーストアの自己署名証明書を生成します。
$ keytool -genkey -alias broker -keyalg RSA -keystore broker.ks証明書をクライアントと共有できるようにエクスポートします。
$ keytool -export -alias broker -keystore broker.ks -file broker_certクライアントキーストア用に自己署名証明書を生成します。
$ keytool -genkey -alias client -keyalg RSA -keystore client.ksブローカー証明書をインポートするクライアントトラストストアを作成します。
$ keytool -import -alias broker -keystore client.ts -file broker_certブローカーのキーストアファイルを使用して、AMQ Broker シークレットを作成します。
$ oc create secret generic amq-app-secret --from-file=broker.ksシークレットを先に作成したサービスアカウントにリンクします。
$ oc secrets link sa/amq-service-account secret/amq-app-secret