8.2.2. アプリケーションのデプロイ
アプリケーションを作成したら、デプロイする必要があります。アプリケーションのデプロイにより Pod が作成され、ブローカーが起動します。
手順
- OpenShift Container Platform Web コンソールで Stateful Sets をクリックします。
- broker-amq デプロイメントをクリックします。
- Deploy をクリックしてアプリケーションをデプロイします。
ブローカーの Pod をクリックした後、Logs タブをクリックしてブローカーの状態を確認します。テンプレートから作成されたキューが表示されます。
ブローカーログが読み込まれておらず、Pod のステータスは
ErrImagePullまたはImagePullBackOffを表示し、設定は Red Hat Container Registry から指定されたブローカーイメージを直接プルできませんでした。この場合、デプロイメント設定を編集して、正しいブローカーイメージ名と、Red Hat Container Registry の認証に使用するアカウントに関連付けられたイメージプルシークレット名を参照します。これで、ブローカーイメージをインポートし、ブローカーを起動できます。これを実行するには、ブローカーアプリケーションのデプロイおよび起動 にある手順と同様の手順を実行します。Terminal タブをクリックして、CLI で一部のメッセージを送信できるシェルにアクセスします。
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>oc コマンドを使用してブローカーをスケールダウンします。
$ oc scale statefulset broker-amq --replicas=0 statefulset "broker-amq" scaledコンソールを使用して、Pod 数が 0 であることを確認します。
次に、ブローカーを
1に再びスケールアップします。$ oc scale statefulset broker-amq --replicas=1 statefulset "broker-amq" scaledターミナルを使用してメッセージを再度消費します。以下に例を示します。
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
関連情報
- ステートフルなアプリケーションの管理の詳細は、StatefulSets (external) を参照してください。