2.6. クライアント接続用の Operator ベースのブローカーデプロイメントの設定
2.6.1. アクセプターの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift デプロイメントでブローカー Pod へのクライアント接続を有効にするには、Pod で アクセプター を定義します。アクセプターは、ブローカーが接続を受け入れる方法を定義します。ブローカーのデプロイメントに使用されるカスタムリソース(CR)でアクセプターを定義します。アクセプターを作成する場合は、アクセプターを有効にするメッセージングプロトコルや、これらのプロトコルに使用するブローカー Pod のポートなどの情報を指定します。
以下の手順は、ブローカーデプロイメントの CR で新規アクセプターを定義する方法を示しています。
前提条件
- アクセプターを設定するには、ブローカーデプロイメントは AMQ Broker Operator の LTS バージョンに基づいている必要があります。Operator の LTS バージョンのインストールに関する詳細は、「 Installing the AMQ Broker Operator 」を参照してください。
- このセクションの情報は、AMQ Broker Operator をベースとしたブローカーデプロイメントにのみ適用されます。アプリケーションテンプレートを使用してブローカーデプロイメントを作成する場合は、プロトコル固有のアクセプターは定義できません。詳細は、外部クライアントのテンプレートベースのブローカーデプロイメントへの接続に ついて参照してください。
手順
-
初期インストール時にダウンロードおよび展開した Operator アーカイブの
deploy/crsディレクトリーで、broker_v2alpha1_activemqartemis_cr.yamlカスタムリソース(CR)を開きます。 acceptors要素に名前付きアクセプターを追加します。通常、これらのプロトコルを公開するためにブローカー Pod のアクセプターおよびポートで使用されるプロトコルなどの最小限の属性セットを指定します。以下に例を示します。spec: ... acceptors: - name: amqp_acceptor protocols: amqp port: 5672 sslEnabled: false ...上記の例は、単純な AMQP アクセプターの設定を示しています。アクセプターはポート 5672 を AMQP クライアントに公開します。
2.6.1.1. アクセプター設定の追加の注意点 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、アクセプター設定に関する追加の方法を説明します。
-
内部クライアント(ブローカー Pod と同じ OpenShift クラスターのクライアントアプリケーション)、または内部および外部クライアント(OpenShift 外部のアプリケーション)のいずれかに対してアクセプターを定義できます。外部クライアントにアクセプターを公開するには、アクセプター設定の
exposeパラメーターをtrueに設定します。このパラメーターのデフォルト値はfalseです。 -
単一のアクセプターは複数のクライアント接続を受け入れ、アクセプター設定の connection
Allowedパラメーターで指定される最大制限まで使用できます。 - CR でアクセプターを定義しない場合、デプロイメントのブローカー Pod はデフォルトでポート 61616 で作成される単一のアクセプターを使用します。このデフォルトのアクセプターには、Core プロトコルのみが指定されています。
- ポート 8161 は、AMQ Broker 管理コンソールで使用するためにブローカー Pod で自動的に公開されます。OpenShift ネットワーク内では、このポートはブローカーデプロイメントで実行される ヘッドレス サービスを介してアクセスできます。詳細は、「 ブローカー管理コンソールへのアクセス」を 参照してください。
sslEnabledをtrueに設定すると、アクセプターで SSL を有効にできます。以下のような追加情報を指定できます。- SSL 認証情報の保存に使用されるシークレット名(必須)。
- SSL 通信に使用する暗号スイートおよびプロトコル。
- アクセプターが双方向 SSL を使用するかどうか、つまりブローカーとクライアント間の相互認証。
定義するアクセプターが SSL を使用する場合は、アクセプターによって使用される SSL 認証情報をシークレットに保存する必要があります。独自のシークレットを作成し、このシークレット名をアクセプター設定の
sslSecretパラメーターで指定する必要があります。sslSecretパラメーターでシークレット名を明示的に指定しない場合、アクセプターはデフォルトのシークレット名を推測します。デフォルトのシークレット名は <CustomResourceName>-<AcceptorName>-secret 形式を使用します。例:ex-aao-amqp-secretシークレットに必要な SSL 認証情報は
broker.ksです。base64 でエンコードされたキーストア、client.tsでなければなりません。base64 でエンコードされたトラストストア、keyStorePassword、およびtrustStorePassword(raw テキストに指定されるパスワード)である必要があります。この要件は、設定するコネクターでも同じです。SSL 接続の認証情報の生成に関する詳細は、「SSL 接続 の認証情報の生成 」を参照してください。
関連情報
- アクセプターの設定を含むメインのブローカーカスタムリソース定義(CRD)の完全な設定リファレンスは、「 カスタムリソース定義」を参照 してください。