8.3.4. AMQ Broker 管理コンソールのルートの作成
クラスタリングテンプレートでは、デフォルトで AMQ Broker 管理コンソールは公開されません。これは、OpenShift プロキシーがクラスター内の各ブローカー間で負荷分散を実行し、特定のタイミングで接続されるブローカーコンソールを制御できないためです。
以下の手順は、独自の管理コンソールインスタンスに接続するようにクラスター内の各ブローカーを設定する方法を示しています。これを行うには、クラスター内の各ブローカー Pod に専用のサービスとルートの組み合わせを作成します。
前提条件
- 各ブローカーが独自の Pod で実行されるクラスター化されたブローカーセットがすでにデプロイされている。クラスター化されたブローカーのセットのデプロイを参照してください。
手順
StatefulSet セレクターを使用して Pod 間を選択し、クラスターの各 Pod に通常のサービスを作成します。これを実行するには、以下のようなサービステンプレートを
.yaml形式でデプロイします。apiVersion: v1 kind: Service metadata: annotations: description: 'Service for the management console of broker pod XXXX' labels: app: application2 application: application2 template: amq-broker-78-persistence-clustered name: amq2-amq-console-XXXX namespace: amq75-p-c-ssl-2 spec: ports: - name: console-jolokia port: 8161 protocol: TCP targetPort: 8161 selector: deploymentConfig: application2-amq statefulset.kubernetes.io/pod-name: application2-amq-XXXX type: ClusterIP上記のテンプレートの
XXXXは、サービスに関連付けるブローカー Pod の ordinal 値に置き換えます。たとえば、サービス をクラスターの最初の Pod に関連付けるには、XXXXを0に設定します。サービスと 2 つ目の Pod を関連付けるには、XXXXを1に設定するなどです。クラスターにある各ブローカー Pod のテンプレートのインスタンスを保存してデプロイします。
注記上記のテンプレート例では、セレクターは Kubernetes 定義の Pod 名を使用します。
AMQ Broker 管理コンソールが Pod に接続できるように、各ブローカー Pod のルートを作成します。
の順にクリックします。 Edit Route ページが表示されます。
-
Services ドロップダウンメニューで、以前に作成したブローカーサービスで、ルートの関連付け先を選択します(例:
amq2-amq-console-0)。 -
Target Port を
8161に設定し、AMQ Broker 管理コンソールへのアクセスを有効にします。 TLS パラメーターを表示するには、Secure route チェックボックスを選択します。
TLS Termination ドロップダウンメニューから、Passthrough を選択します。
ここで選択する内容では、OpenShift ルーターが復号化および再送信せずに AMQ Broker との通信をすべてリレーします。
Create をクリックします。
ブローカー Pod の 1 つに関連付けられたルートを作成する場合には、生成される
.yamlファイルには以下のような行が含まれます。spec: host: amq2-amq-console-0-amq75-p-c-2.apps-ocp311.example.com port: targetPort: console-jolokia tls: termination: passthrough to: kind: Service name: amq2-amq-console-0 weight: 100 wildcardPolicy: None
-
Services ドロップダウンメニューで、以前に作成したブローカーサービスで、ルートの関連付け先を選択します(例:
- 特定のブローカーインスタンスの管理コンソールにアクセスするには、上記の ホスト URL を Web ブラウザーにコピーします。
関連情報
- ブローカーのクラスタリングの詳細は、メッセージ再分配の設定 を参照してください。