Liveness Probe
- 動作しているコンテナに一定的にヘルスチェックを行い、コンテナが動いているかどうかを確認する
- ヘルスチェックが通ってない場合、該当コンテナはKillし、同一のコンテナを起動する
- ヘルスチェックが通ったコンテナが動いていることを保証する
Liveness Probe動作方式
-
httpGet Probe
- 指定したIP住所、Port、URLPathに、Http Getリクエストを送り、該当のコンテナがレスポンスされているかを確認する
- レスポンスされるHttpCodeが200ではない場合、エラーとして認識し、コンテナを再起動する
- 例
livenessProbe: httpGet: path: / port: 80
-
tcpSocket probe
- 指定したポートにTCPでアクセスを行う、アクセスできなかった場合、コンテナを再起動する
- 例
livenessProbe: tcpSocket: port: 22
-
exec probe
- コマンドを転送し、コマンドの終了コードが0ではない場合、コンテナを再起動する
- 例
livenessProbe: exec: command: - ls - /data/file
-
liveness probe パラメタ
- periodSeconds: ヘルスチェックを行う回数
- initialDelaySeconds: Pod実行後、Delayする時間(秒)
- timeoutSeconds: ヘルスチェック後、レスポンスまでの時間
Readiness Probe
- 動作してないコンテナに、トラフィックを転送しない
Readiness Probe動作方式
-
httpGet Probe
- 指定したIP住所、Port、URLPathに、Http Getリクエストを送り、該当のコンテナがレスポンスされているかを確認する
- レスポンスされるHttpCodeが200ではない場合、エラーとして認識し、コンテナにトラフィックを送らない
- 例
readiness: httpGet: path: / port: 80
-
tcpSocket probe
- 指定したポートにTCPでアクセスを行う、アクセスできなかった場合、コンテナにトラフィックを送らない
- 例
readiness: tcpSocket: port: 22
-
exec probe
- コマンドを転送し、コマンドの終了コードが0ではない場合、コンテナにトラフィックを送らない
- 例
readiness: exec: command: - ls - /data/file