3.4. Operator ベースのブローカーデプロイメントの作成
3.4.1. 基本的なブローカーインスタンスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、カスタムリソース (CR) インスタンスを使用して基本的なブローカーデプロイメントを作成する方法を説明します。
- 複数のカスタムリソース (CR) インスタンスをデプロイして、指定の OpenShift プロジェクトに複数のブローカーデプロイメントを作成することはできません。ただし、プロジェクトにブローカーデプロイメントを作成した場合は、アドレスに複数の CR インスタンスをデプロイできます。
AMQ Broker 7.8 では、以下の項目を設定する必要がある場合、最初に CR をデプロイする前に、メインのブローカー CR インスタンスに適切な設定を追加する必要があります。
前提条件
AMQ Broker Operator がすでにインストールされている必要があります。
- OpenShift コマンドラインインターフェース (CLI) を使用して AMQ Broker Operator をインストールするには、「CLI を使用した Operator のインストール」 を参照してください。
- OperatorHub グラフィカルインターフェースを使用して AMQ Broker Operator をインストールするには、「OperatorHub を使用した Operator のインストール」 を参照してください。
- Operator がブローカーデプロイメントに使用するブローカーコンテナーイメージを選択する方法を理解している必要があります。詳細は、「Operator によるコンテナーイメージの選択方法」 を参照してください。
- AMQ Broker 7.3 以降では、新しいバージョンの Red Hat Ecosystem Catalog を使用してコンテナーイメージにアクセスします。この新しいバージョンのレジストリーでは、イメージにアクセスする前に認証されたユーザーである必要があります。本セクションの手順を実行する前に、「Red Hat Container Registry Authentication」で説明されている手順を完了する必要があります。
手順
Operator が正常にインストールされると、Operator は実行され、CR に関連する変更をリッスンします。以下の手順では、CR インスタンスを使用して基本的なブローカーをプロジェクトにデプロイする方法を説明します。
ブローカーデプロイメントのカスタムリソース (CR) インスタンスの設定を開始します。
OpenShift コマンドラインインターフェースの使用:
デプロイメントを作成するプロジェクトに CR をデプロイする権限を持つユーザーとして OpenShift にログインします。
oc login -u <user> -p <password> --server=<host:port>
oc login -u <user> -p <password> --server=<host:port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ダウンロードした Operator インストールアーカイブの
deploy/crsディレクトリーに含まれるbroker_activemqartemis_cr.yamlというサンプル CR ファイルを開きます。
OpenShift Container Platform Web コンソールの使用
- デプロイメントを作成するプロジェクトに CR をデプロイする権限を持つユーザーとしてコンソールにログインします。
-
メインブローカー CRD に基づいて新規 CR インスタンスを起動します。左側のペインで、
をクリックします。 - ActiveMQArtemis CRD をクリックします。
- Instances タブをクリックします。
Create ActiveMQArtemis をクリックします。
コンソールで、YAML エディターが開き、CR インスタンスを設定できます。
基本的なブローカーデプロイメントの場合、設定が以下のように表示される可能性があります。この設定は、
broker_activemqartemis_cr.yamlサンプル CR ファイルのデフォルトコンテンツです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow broker_activemqartemis_cr.yamlサンプル CR ファイルで、imageプロパティーがplaceholderのデフォルト値に設定されていることを確認します。この値はデフォルトで、imageプロパティーによってデプロイメントに使用するブローカーコンテナーイメージが指定されていないことを示します。Operator が使用する適切なブローカーコンテナーイメージを判別する方法については、「Operator によるコンテナーイメージの選択方法」 を参照してください。注記metadataセクションで、namespaceプロパティーを追加し、OpenShift Container Platform Web コンソールを使用して CR インスタンスを作成する場合にのみ値を指定する必要があります。指定する値は、ブローカーデプロイメントの OpenShift プロジェクトの名前です。注記broker_activemqartemis_cr.yamlサンプル CR は、ex-aaoの命名規則を使用します。この命名規則は、CR が AMQ Broker Operator のリソースの例になります。AMQ Broker は ActiveMQ Artemis プロジェクトをベースにしています。このサンプル CR をデプロイする場合、生成される StatefulSet はex-aao-ssの名前を使用します。さらに、デプロイメントのブローカー Pod は StatefulSet 名に基づいて直接使用されます (例:ex-aao-ss-0、ex-aao-ss-1など)。CR のアプリケーション名が StatefulSet のラベルとしてデプロイメントに表示されます。このラベルは Pod セレクターで使用できます。-
sizeプロパティーはデプロイするブローカーの数を指定します。2以上の値は、クラスターブローカーデプロイメントを指定します。ただし、単一のブローカーインスタンスをデプロイするには、値が1に設定されていることを確認します。 CR インスタンスをデプロイします。
OpenShift コマンドラインインターフェースの使用:
- CR ファイルを保存します。
ブローカーデプロイメントを作成するプロジェクトに切り替えます。
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR インスタンスを作成します。
oc create -f <path/to/custom_resource_instance>.yaml
$ oc create -f <path/to/custom_resource_instance>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Web コンソールの使用
- CR の設定が完了したら、Create をクリックします。
OpenShift Container Platform Web コンソールで、
(OpenShift Container Platform 4.5 以降) または (OpenShift Container Platform 3.11)をクリックします。 ex-aao-ssという新しい StatefulSet が表示されます。- ex-aao-ss StatefulSet をクリックします。CR で定義される単一ブローカーに対応する Pod が 1 つあることが分かります。
- StatefulSet 内で Pods タブをクリックします。ex-aao-ss Pod をクリックします。実行中の Pod の Events タブで、ブローカーコンテナーが起動したことを確認できます。Logs タブには、ブローカー自体が実行中であることを示します。
ブローカーは通常実行されていることをテストするには、ブローカー Pod のシェルにアクセスしてテストメッセージを送信します。
OpenShift Container Platform Web コンソールの使用
-
(OpenShift Container Platform 4.5 またはそれ以降) または (OpenShift Container Platform 3.11) をクリックします。 - ex-aao-ss Pod をクリックします。
- Terminal タブをクリックします。
-
OpenShift コマンドラインインターフェースの使用:
プロジェクトの Pod 名および内部 IP アドレスを取得します。
oc get pods -o wide NAME STATUS IP amq-broker-operator-54d996c Running 10.129.2.14 ex-aao-ss-0 Running 10.129.2.15
$ oc get pods -o wide NAME STATUS IP amq-broker-operator-54d996c Running 10.129.2.14 ex-aao-ss-0 Running 10.129.2.15Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブローカー Pod のシェルにアクセスします。
oc rsh ex-aao-ss-0
$ oc rsh ex-aao-ss-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
シェルから
artemisコマンドを使用して、一部のテストメッセージを送信します。URL にブローカー Pod の内部 IP アドレスを指定します。以下に例を示します。./amq-broker/bin/artemis producer --url tcp://10.129.2.15:61616 --destination queue://demoQueue
sh-4.2$ ./amq-broker/bin/artemis producer --url tcp://10.129.2.15:61616 --destination queue://demoQueueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、ブローカーに
demoQueueというキューを自動的に作成し、デフォルトの数量 1000 のメッセージをキューに送信します。以下のような出力が表示されるはずです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- メインのブローカーカスタムリソース (CR) の完全な設定リファレンスは、「カスタムリソース設定リファレンス」 を参照してください。
- 稼働中のブローカーを AMQ 管理コンソールに接続する方法は、5章Operator ベースのブローカーデプロイメント用の AMQ 管理コンソール への接続 を参照してください。