4.10. ブローカー可用性チェックの設定
活性および準備プローブを使用して、実行中のブローカーコンテナーで定期的な可用性チェックを設定できます。活性プローブは、ブローカーの HTTP ポートに ping を実行して、ブローカーが実行されているかどうかを確認します。準備プローブは、ブローカー用に設定された各アクセプターポートへの接続を開くことにより、ブローカーがネットワークトラフィックを受け入れることができるかどうかを確認します。
基本的な liveness および readiness プローブを使用して HTTP およびアクセプターポートへの接続を開くことによってブローカーの可用性を検証する場合の制限は、これらのチェックでは、ブローカーのファイルシステムの問題など、根本的な問題を識別できないことです。ブローカーのコマンドラインユーティリティーである artemis を liveness または readiness プローブ設定に組み込んで、ブローカーへのメッセージの送信を含む、より包括的な可用性チェックを作成できます。
4.10.1. liveness および readiness プローブの設定 リンクのコピーリンクがクリップボードにコピーされました!
次の例は、liveness および readiness プローブを使用して可用性チェックを実行するようにブローカーデプロイメントのメインカスタムリソース (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 インスタンスを設定できます。
liveness プローブを設定するには、CR の
deploymentPlanセクションにlivenessProbeセクションを追加します。以下に例を示します。spec: deploymentPlan: livenessProbe: initialDelaySeconds: 5 periodSeconds: 5spec: deploymentPlan: livenessProbe: initialDelaySeconds: 5 periodSeconds: 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow initialDelaySeconds-
コンテナーの起動後にプローブが実行されるまでの遅延 (秒単位)。デフォルトは
5です。 periodSecondsプローブが実行される間隔 (秒単位)。デフォルトは
5です。注記liveness プローブを設定していない場合、または設定されたプローブにハンドラーが欠落している場合、AMQ Operator は次の設定を持つデフォルトの TCP プローブを作成します。デフォルトの TCP プローブは、指定されたポートでブローカーコンテナーへのソケットを開こうとします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
readiness プローブを設定するには、CR の
deploymentPlanセクションに、readinessProbeセクションを追加します。以下に例を示します。spec: deploymentPlan: readinessProbe: initialDelaySeconds: 5 periodSeconds: 5spec: deploymentPlan: readinessProbe: initialDelaySeconds: 5 periodSeconds: 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow readiness プローブを設定しない場合、ビルトイン スクリプト は、すべてのアクセプターが接続を受け入れることができるかどうかをチェックします。
より包括的な可用性チェックを設定する場合は、
artemis checkコマンドラインユーティリティーを liveness または readiness プローブの設定に追加します。ブローカーへの完全なクライアント接続を作成する可用性チェックを設定する場合は、
livenessProbeまたはreadinessProbeセクションにexecセクションを追加します。execセクションに、commandセクションを追加します。commandセクションで、artemis check nodeコマンド構文を追加します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは、
artemis check nodeコマンドはartemisと呼ばれるアクセプターの URI を使用します。ブローカーにartemisというアクセプターがある場合は、コマンドから--acceptor <acceptor name>オプションを除外できます。注記$AMQ_USERおよび$AMQ_PASSWORDは、AMQ Operator によって設定される環境変数です。メッセージを生成および消費する可用性チェックを設定し、ブローカーのファイルシステムの可用性も検証する場合は、
livenessProbeまたはreadinessProbeセクションにexecセクションを追加します。execセクションに、commandセクションを追加します。commandセクションで、artemis check queueコマンド構文を追加します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記指定するキュー名は、ブローカーで設定され、
anycastのroutingTypeを持っている必要があります。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 の liveness プローブと readiness プローブの詳細については、OpenShift Container Platform ドキュメントの ヘルスチェックを使用したアプリケーションの健全性の監視 を参照してください。