第3章 アプリケーションテンプレートを使用した AMQ Broker の OpenShift Container Platform へのデプロイ
本セクションの手順では、ブローカーデプロイメントを準備し、OpenShift Container Platform Web コンソールを使用して基本的なブローカーインスタンスをデプロイする方法を説明します。他のブローカー設定のデプロイ例については、チュートリアル を参照してください。
以下の手順では、「 OpenShift Container Platform での AMQ Broker のインストール」でインストール したブローカーイメージおよびアプリケーションテンプレートがグローバル openshift
プロジェクトにあることを前提としています。イメージおよびアプリケーションテンプレートを特定のプロジェクトの名前空間にインストールしている場合、amq-demo
などの新規プロジェクトを作成するのではなく、このプロジェクトを引き続き使用します。
3.1. AMQ Broker イメージストリームおよびアプリケーションテンプレートのインストール
AMQ Broker on OpenShift Container Platform イメージストリームおよびアプリケーションテンプレートはデフォルトで OpenShift Container Platform では利用できません。このセクションの手順に従って手動でインストールする必要があります。手動インストールが完了したら、選択したブローカー設定を OpenShift クラスターにデプロイできるようにするテンプレートをインスタンス化できます。このように各種のブローカー設定を作成する例については、「 Deploying AMQ Broker on OpenShift Container Platform and Tutorials 」を参照してください。
手順
コマンドラインで、クラスター管理者 (またはグローバル
openshift
プロジェクト名前空間に対する名前空間固有の管理者アクセスを持つユーザー) として OpenShift にログインします。$ oc login -u system:admin $ oc project openshift
openshift
プロジェクトを使用すると、この手順の後半でインストールするイメージストリームおよびアプリケーションテンプレートは、OpenShift クラスターのすべてのプロジェクトでグローバルに利用できるようになります。イメージストリームとアプリケーションテンプレートがopenshift
プロジェクトにインポートされるように明示的に指定する場合は、オプションのパラメーターとして、この手順で後で使用するoc replace
コマンドに-n openshift
を追加することもできます。openshift
プロジェクトを使用する代わりに (クラスター管理者が利用できない場合など)、以下のようにブローカーデプロイメントを作成する特定の OpenShift プロジェクトにログインします。$ oc login -u <USERNAME> $ oc project <PROJECT_NAME>
特定のプロジェクトにログインすると、この手順の後半でインストールするイメージストリームとテンプレートが、そのプロジェクトの名前空間でのみ利用可能になります。
注記OpenShift Container Platform 上の AMQ Broker は、
*-persistence*.yaml
テンプレートすべてで StatefulSet リソースを使用します。*-persistence*.yaml
ではないテンプレートでは、AMQ Broker は Deployment リソースを使用します。どちらのタイプのリソースは、テンプレートがインスタンス化される同じプロジェクト名前空間からのみイメージストリームを使用できる Kubernetes ネイティブリソースです。コマンドラインで以下のコマンドを実行し、ブローカーイメージストリームをプロジェクト名前空間にインポートします。
--force
オプションをoc replace
コマンドに使用してリソースを更新するか、存在しない場合は作成します。$ oc replace --force -f \ https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/74-7.4.6.GA/amq-broker-7-image-streams.yaml
以下のコマンドを実行して AMQ Broker アプリケーションテンプレートを更新します。
$ for template in amq-broker-74-basic.yaml \ amq-broker-74-ssl.yaml \ amq-broker-74-custom.yaml \ amq-broker-74-persistence.yaml \ amq-broker-74-persistence-ssl.yaml \ amq-broker-74-persistence-clustered.yaml \ amq-broker-74-persistence-clustered-ssl.yaml; do oc replace --force -f \ https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/74-7.4.6.GA/templates/${template} done