第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. イメージおよびテンプレートのデプロイ
前提条件
- このチュートリアルは、テンプレートベースのブローカーデプロイメントの準備 をもとに次に進みます。
- 基本的なブローカーのデプロイ のチュートリアルを完了することを推奨します。
手順
- OpenShift Web コンソールに移動し、ログインします。
-
amq-demo
プロジェクトスペースを選択します。 - Add to Project をクリックした後に、Browse Catalog をクリックしてデフォルトのイメージストリームおよびテンプレートをすべて一覧表示します。
-
Filter 検索バーを使用して、一覧を
amq
に一致するものに限定します。See all をクリックして、必要なアプリケーションテンプレートを表示する必要がある場合があります。 -
Red Hat AMQ Broker 7.7 (Ephemeral, with SSL)
というラベルが付いたamq-broker-77-ssl
テンプレートを選択します。 設定で以下の値を設定し、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 を作成し、ブローカーを起動します。
手順
- OpenShift Container Platform Web コンソールで Deployments をクリックします。
- broker-amq デプロイメントをクリックします。
- Deploy をクリックしてアプリケーションをデプロイします。
ブローカーの 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を参照してください。
手順
-
をクリックします。 -
をクリックします。 - TLS パラメーターを表示するには、Secure route チェックボックスを選択します。
- TLS Termination ドロップダウンメニューから、Passthrough を選択します。ここで選択する内容では、OpenShift ルーターが復号化および再送信せずに AMQ Broker との通信をすべてリレーします。
ルートを表示するには、Routes をクリックします。以下に例を示します。
https://broker-amq-tcp-amq-demo.router.default.svc.cluster.local
このホスト名は、SNI を使用する SSL でブローカーに接続するのに外部クライアントが使用します。
関連情報
- SSL ルートの作成に関する詳細は、SSL ルートの作成を参照してください。
- OpenShift Container Platform のルートの詳細は、ルートを参照してください。