第7章 テンプレートベースのブローカーデプロイメントの例

前提条件

  • これらの手順は、 OpenShift Container PlatformGetting Started で作成した OpenShift Container Platform インスタンスを想定しています。
  • AMQ Broker アプリケーションテンプレートでは、AMQ_USER、AMQ_PASSWORD、AMQ_CLUSTER_USER、AMQ_CLUSTER_PASSWORD、AMQ_TRUSTSTORE_PASSWORD、および AMQ_KEYSTORE_PASSWORD 環境変数の値はシークレットに保存されます。以下のチュートリアルのいずれかにテンプレートをデプロイする時にこれらの環境変数の使用および変更方法は、 機密性の高い認証情報についてを参照してください。

以下の手順では、アプリケーションテンプレートを使用してブローカーのさまざまなデプロイメントを作成する方法を説明します。

7.1. SSL を使用した基本的なブローカーのデプロイ

一時的で、かつ SSL をサポートする基本ブローカーをデプロイします。

7.1.1. イメージおよびテンプレートのデプロイ

前提条件

手順

  1. OpenShift Web コンソールに移動し、ログインします。
  2. amq-demo プロジェクトスペースを選択します。
  3. Add to Project をクリックした後に、Browse Catalog をクリックしてデフォルトのイメージストリームおよびテンプレートをすべて一覧表示します。
  4. Filter 検索バーを使用して、一覧を amq に一致するものに限定します。See all をクリックして、必要なアプリケーションテンプレートを表示する必要がある場合があります。
  5. Red Hat AMQ Broker 7.7 (Ephemeral, with SSL) というラベルが付いた amq-broker-77-ssl テンプレートを選択します。
  6. 設定で以下の値を設定し、Create をクリックします。

    表7.1 テンプレートの例

    環境変数表示名説明

    AMQ_PROTOCOL

    AMQ プロトコル

    openwire,amqp,stomp,mqtt,hornetq

    ブローカーによって使用されるプロトコル

    AMQ_QUEUES

    キュー

    demoQueue

    demoQueue という名前のキャストキューを作成します。

    AMQ_ADDRESSES

    アドレス

    demoTopic

    demoTopic という名前のアドレス (またはトピック) を作成します。デフォルトでは、このアドレスには割り当てられたルーティングタイプが割り当てられていません。

    AMQ_USER

    AMQ ユーザー名

    amq-demo-user

    クライアントが使用するユーザー名

    AMQ_PASSWORD

    AMQ パスワード

    パスワード

    クライアントがユーザー名で使用するパスワード

    AMQ_TRUSTSTORE

    トラストストアファイル名

    broker.ts

    SSL トラストストアファイル名

    AMQ_TRUSTSTORE_PASSWORD

    トラストストアのパスワード

    パスワード

    トラストストアの作成時に使用されるパスワード

    AMQ_KEYSTORE

    AMQ キーストアファイル名

    broker.ks

    SSL キーストアのファイル名

    AMQ_KEYSTORE_PASSWORD

    AMQ キーストアのパスワード

    パスワード

    キーストアの作成時に使用されるパスワード

7.1.2. アプリケーションのデプロイ

アプリケーションの作成後に、これをデプロイして Pod を作成し、ブローカーを起動します。

手順

  1. OpenShift Container Platform Web コンソールで Deployments をクリックします。
  2. broker-amq デプロイメントをクリックします。
  3. Deploy をクリックしてアプリケーションをデプロイします。
  4. ブローカーの Pod をクリックした後、Logs タブをクリックしてブローカーの状態を確認します。

    ブローカーログが読み込まれておらず、Pod のステータスは ErrImagePull または ImagePullBackOff を表示し、デプロイメント設定は Red Hat Container Registry から指定されたブローカーイメージを直接プルできませんでした。この場合、デプロイメント設定を編集して、正しいブローカーイメージ名と、Red Hat Container Registry の認証に使用するアカウントに関連付けられたイメージプルシークレット名を参照します。これで、ブローカーイメージをインポートし、ブローカーを起動できます。方法は、ブローカーアプリケーションのデプロイおよび起動 に記載の手順を実施します。

7.1.3. ルートの作成

OpenShift Container Platform の外部のクライアントが SSL を使用して接続できるようにブローカーのルートを作成します。デフォルトでは、セキュアなブローカープロトコルは 61617/TCP ポートを介して利用できます。さらに、ブローカーがサポートするメッセージングプロトコルごとに、ブローカー Pod に SSL ポートおよび非 SSL ポートが公開されます。ただし、外部クライアントはブローカーのこれらのポートに直接接続できません。代わりに、外部クライアントは Openshift ルーター経由で OpenShift に接続します。これは、トラフィックをブローカー Pod の適切なポートに転送する方法を決定します。

注記

デプロイメントを、クラスター内にある複数のブローカーにスケールアップする場合、各ブローカーのサービスとルートを手動で作成してから、各サービスおよびルートの組み合わせを使用して特定のクライアントを特定のブローカー、またはブローカーリストにダイレクトする必要があります。クラスター化されたブローカーを AMQ Broker 管理コンソール独自のインスタンスに接続するためのサービスおよびルートを複数設定する例は、Creating Routes for the AMQ Broker management consoleを参照してください。

前提条件

  • SSL ルートを作成する前に、外部クライアントがこの ルートを使用してブローカーに接続する方法を理解する必要があります。詳細は、Creating an SSL Routeを参照してください。

手順

  1. Servicesbroker-amq-tcp-ssl をクリックします。
  2. ActionsCreate a route をクリックします。
  3. TLS パラメーターを表示するには、Secure route チェックボックスを選択します。
  4. TLS Termination ドロップダウンメニューから、Passthrough を選択します。ここで選択する内容では、OpenShift ルーターが復号化および再送信せずに AMQ Broker との通信をすべてリレーします。
  5. ルートを表示するには、Routes をクリックします。以下に例を示します。

    https://broker-amq-tcp-amq-demo.router.default.svc.cluster.local

このホスト名は、SNI を使用する SSL でブローカーに接続するのに外部クライアントが使用します。

関連情報

  • SSL ルートの作成に関する詳細は、SSL ルートの作成を参照してください。
  • OpenShift Container Platform のルートの詳細は、ルートを参照してください。