第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 」を参照してください。

手順

  1. コマンドラインで、クラスター管理者 (またはグローバル 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 ネイティブリソースです。

  2. コマンドラインで以下のコマンドを実行し、ブローカーイメージストリームをプロジェクト名前空間にインポートします。--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
  3. 以下のコマンドを実行して 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