第5章 OpenShift 4 の JBoss EAP イメージストリームからの、eap73 Imagestream へのアプリケーションの移行
eap71
および eap72
イメージストリーム用に開発されたアプリケーションでは、eap73
イメージストリームで正しく機能するために変更が必要になります。
5.1. eap73 Imagestream の Liveness および Readiness プローブ設定の更新
プローブの YAML
設定は、OpenShift 3.11 上で実行している eap72
イメージから eap73
イメージに移行する際に調整される必要があります。
eap72
イメージでは、liveness プローブのデフォルトの YAML
設定は以下のコード例と同等のものです。
OpenShift 3.11 liveness プローブでの eap72
イメージの 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 秒ごとにトリガーされます。
プローブに 3 回失敗すると、コンテナーは正常でないとみなされ、OpenShift は Pod でコンテナーを再起動します。
eap72
イメージでは、成功または失敗が決まるまで、1 回の呼び出しが 5 秒間続きます。この呼び出しの後に 10 秒の待機時間が続きます。つまり、JBoss EAP イメージが正常ではない場合、Pod 内のコンテナーが再起動するまで、3 回にわたる呼び出しが約 35 秒間続きます。
eap73
イメージでは、単一の呼び出し時間は 1 秒未満です。3 つの呼び出しは約 23 秒続きます。eap73
のプローブの設定は、以下のように YAML
設定で調整する必要があります。
eap73
イメージストリーム 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 回の呼び出しは、プローブの eap72
の動作とほぼ同等で約 34 秒続きます。
readiness プローブでは、YAML
設定の periodSeconds
を同様の値で更新します。
eap73
イメージストリーム readiness プローブの YAML
設定例
readinessProbe: exec: command: - /bin/bash - '-c' - /opt/eap/bin/readinessProbe.sh initialDelaySeconds: 10 periodSeconds: 16 successThreshold: 1 failureThreshold: 3