7.4.3. ブローカーアプリケーションのデプロイおよび起動
ブローカーアプリケーションの作成後に、これをデプロイする必要があります。アプリケーションのデプロイにより、ブローカーが実行される Pod が作成されます。
手順
- OpenShift Container Platform Web コンソールで Deployments をクリックします。
- broker-amq アプリケーションをクリックします。
デプロイ をクリックします。
注記アプリケーションがデプロイされない場合、Events タブをクリックして設定を確認できます。正しくない場合には、Actions ボタンをクリックしてデプロイメント設定を編集します。
ブローカーアプリケーションのデプロイ後に、ブローカー Pod の現在の状態を確認します。
- DeploymentConfigs をクリックします。
broker-amq Pod をクリックした後、Logs タブをクリックしてブローカーの状態を確認します。アプリケーションテンプレートで以前に作成されたキューが表示されるはずです。
ログに以下が表示される場合:
- ブローカーが稼働しているため、この手順のステップ 9 に進みます。
-
ブローカーログが読み込まれておらず、Pod のステータスは
ErrImagePullまたはImagePullBackOffを表示し、デプロイメント設定は Red Hat Container Registry から指定されたブローカーイメージを直接プルできませんでした。この手順では、ステップ 5 に進みます。
ブローカーコンテナーイメージのインストール用に Pod を準備するには、実行されているブローカーの数を
0にスケーリングします。- をクリックします。
-
をクリックします。 -
デプロイメントの
.yamlファイルで、replicas属性の値を0に設定します。 -
Saveをクリックします。 - Pod は、稼働しているブローカーインスタンスがゼロで再起動します。
最新のブローカーコンテナーイメージをインストールします。
- Web ブラウザーで Red Hat Container Catalog に移動します。
-
検索ボックスに
AMQ Brokerと入力します。Search をクリックします。 以下の表の情報をもとにイメージリポジトリーを選択します。
Expand プラットフォーム(アーキテクチャー) コンテナーイメージ名 リポジトリー名 OpenShift Container Platform (amd64)
AMQ Broker または AMQ Broker for RHEL 8
amq7/amq-broker or amq7/amq-broker-rhel8
OpenShift Container Platform on IBM Z (s390x)
OpenJDK 11 での AMQ Broker for RHEL 8
amq7/amq-broker-openjdk-11-rhel8
OpenShift Container Platform on IBM Power Systems (ppc64le)
OpenJDK 11 での AMQ Broker for RHEL 8
amq7/amq-broker-openjdk-11-rhel8
たとえば、OpenShift Container Platform ブローカーコンテナーイメージの場合は、AMQ Broker をクリックします。
amq7/amq-brokerリポジトリーが開き、最新のイメージバージョンが自動的に選択されます。以前のバージョンに変更するには、Tags タブをクリックして、別のバージョンタグを選択します。- Get This Image タブをクリックします。
レジストリートークンの認証 の下で、「OpenShift シークレットの使用」セクションの「ページ」の手順を確認してください。この手順では、Red Hat Container Registry の認証に使用されるアカウントに関連付けられたイメージプルシークレットおよび Pod デプロイメント設定ファイルへの参照を追加する方法について説明します。
たとえば、
amq-demoプロジェクト名前空間のbroker-amqデプロイメント設定でブローカーイメージおよびプルシークレットを参照するには、以下のような行を含めます。apiVersion: apps.openshift.io/v1 kind: DeploymentConfig .. metadata: name: broker-amq namespace: amq-demo .. spec: containers: name: broker-amq image: 'registry.redhat.io/amq7/amq-broker:7.8' .. imagePullSecrets: - name: {PULL-SECRET-NAME}- Save をクリックします。
最新のブローカーイメージバージョンをプロジェクトの名前空間にインポートします。以下に例を示します。
$ oc import-image amq7/amq-broker:7.8 --from=registry.redhat.io/amq7/amq-broker --confirm前述のように
broker-amqデプロイメント設定を再度編集します。replicas属性の値を元の値に設定します。ブローカー Pod は、新規ブローカーイメージを参照する実行中のブローカーすべてで再起動します。
Terminal タブをクリックして、ブローカーを起動し、CLI を使用してメッセージの送受信をテストすることができるシェルにアクセスします。
sh-4.2$ ./broker/bin/artemis run sh-4.2$ ./broker/bin/artemis producer --destination queue://demoQueue Producer ActiveMQQueue[demoQueue], thread=0 Started to calculate elapsed time ... Producer ActiveMQQueue[demoQueue], thread=0 Produced: 1000 messages Producer ActiveMQQueue[demoQueue], thread=0 Elapsed time in second : 4 s Producer ActiveMQQueue[demoQueue], thread=0 Elapsed time in milli second : 4584 milli seconds sh-4.2$ ./broker/bin/artemis consumer --destination queue://demoQueue Consumer:: filter = null Consumer ActiveMQQueue[demoQueue], thread=0 wait until 1000 messages are consumed Received 1000 Consumer ActiveMQQueue[demoQueue], thread=0 Consumed: 1000 messages Consumer ActiveMQQueue[demoQueue], thread=0 Consumer thread finishedまたは、以下の例のように、OpenShift クライアントを使用して Pod 名を使用してシェルにアクセスします。
// Get the Pod names and internal IP Addresses $ oc get pods -o wide // Access a broker Pod by name $ oc rsh <broker-pod-name>