7.6.2 トランザクションヘルスチェックスクリプト(health_check.sh)
Orchestrator-Service、Relay-Service、Entity-Service(SQL)、Entity-Service(TCC)、Orchestrator-Service(SQL)、Alternate-Service、Alternate-Service(SQL)、Mediator、およびTP1-Bridgeがトランザクションを受け付けられる状態になるまでpostStartフックで待機し、Liveness ProbeでPodの起動中にトランザクションを受け付けられるかを定期的に確認するスクリプトです。
<コマンド処理内容>
localhostに対してコマンド引数で指定されたHTTPポートの「トランザクションヘルスチェックAPI(/hmppcto/health)」へGETリクエストを実行し、JSONレスポンスに含まれる「起動状態("status"キー)」の値が「起動状態("SERVING")」の場合は、ステータスコード「0」で正常終了します。postStartフックが正常終了した場合、PodのステータスはRunningになります。
一方、値が「停止状態(非"SERVING")」の場合は、コマンド引数で指定されたリトライ回数・リトライ間隔秒数でリトライします。最大リトライ回数を超えた場合は、ステータスコード「1」で異常終了します。リトライオーバーし、postStartフックが異常終了した場合、Podの状態はPostStartHookErrorになります。
<コマンド構文>
health_check.sh△<リトライ回数>△<リトライ間隔秒数>△<接続タイムアウト秒数>△<応答タイムアウト秒数> △<HTTPポート番号>[△<コンテキストパス>]
- (凡例)
-
△:半角スペース1文字
<実行例>
health_check.sh 30 10 10 10 20555
<実行例(コンテキストパス指定時)>
health_check.sh 30 10 10 10 20555 /path
<コマンド引数チェック仕様>
次の条件をどちらか1つでも満たしていない場合は、KFSG62100-Eメッセージを出力し、ステータスコード「1」で異常終了します。
-
コマンド引数の数が「5 以上」である
-
第1引数〜第5引数の値が「整数値」である
<バージョン表示オプション>
次のようにコマンドに「--version」オプションを指定して実行すると、該当するスクリプト名およびバージョン番号を表示して終了します。
health_check.sh△--version
- (凡例)
-
△:半角スペース1文字
<コマンドの実行結果>
health_check.sh△V.R.S
- (凡例)
-
△:半角スペース1文字
V.R.S:バージョン番号
<コマンドの実行結果の例>
health_check.sh 1.0.0