第5章 アプリケーションの OpenShift 4 への移行
5.1. OpenShift 4 の Liveness および Readiness プローブ設定の更新
プローブの YAML 設定は、OpenShift 4 に移行する際に調整される必要があります。
OpenShift 3.11 では、Liveness プローブのデフォルト YAML 設定は以下のコードの例に似ています。
OpenShift 3.11 liveness プローブの YAML 設定サンプル
livenessProbe:
exec:
command:
- /bin/bash
- '-c'
- /opt/eap/bin/livenessProbe.sh
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
この例では、Liveness プローブは JBoss EAP イメージ内の /opt/eap/bin/livenessProbe.sh にあります。プローブは、60 秒の最初の遅延後にトリガーされ、JBoss EAP サーバーで Pod が開始された後は 10 秒ごとにトリガーされます。
プローブは、livenessProbe.sh スクリプトの呼び出し試行が 3 回行われると失敗とみなされます。コンテナーは正常ではないとみなされ、OpenShift はそれぞれの Pod で JBoss EAP コンテナーを再起動します。
OpenShift 3.11 では、成功または失敗が決まるまで、1 回の呼び出しが 5 秒間続きます。OpenShift 4 では、1 回の呼び出しが 1 秒未満になります。
OpenShift 3.11 では、プローブの呼び出しが 5 秒間続き、10 秒間待機します。つまり、JBoss EAP イメージが正常ではない場合、Pod 内のコンテナーが再起動するまで、3 回にわたる呼び出しが約 35 秒間続きます。
OpenShift 4、3 では、呼び出しが 23 秒間続きます。OpenShift 4 のプローブの設定は、以下のように YAML 設定で調整する必要があります。
OpenShift 4 liveness プローブの YAML 設定サンプル
livenessProbe:
exec:
command:
- /bin/bash
- '-c'
- /opt/eap/bin/livenessProbe.sh
initialDelaySeconds: 60
periodSeconds: 16
successThreshold: 1
failureThreshold: 3
この例では、periodSeconds が 6 秒分増えています。これにより、最初の呼び出しが 1 秒続き、16 秒間にわたり待機します。3 回の呼び出しは、プローブの OpenShift 3.11 の動作とほぼ同等で 約 34 秒続きます。
Readiness プローブの場合、同様の調整を YAML 設定に対して行う必要があります。
OpenShift 4 Readiness プローブの YAML 設定サンプル
readinessProbe:
exec:
command:
- /bin/bash
- '-c'
- /opt/eap/bin/readinessProbe.sh
initialDelaySeconds: 10
periodSeconds: 16
successThreshold: 1
failureThreshold: 3
その他のリソース