第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
その他のリソース