【ライブネスプローブ】

Liveness Probe とは?

💡 『まだ息してる?』と定期的に確認するお医者さん
📌 このページのポイント
Liveness Probe による自動復旧 kubelet 定期チェック 正常時 Pod(正常) OK 継続稼働 異常検知時 Pod (応答なし) 失敗 3回連続 コンテナ再起動 (自動復旧) restartPolicy による挙動 Always(常に再起動) OnFailure(失敗時のみ) Never(再起動しない) Liveness Probeの失敗はコンテナ再起動をトリガーする
Liveness Probeによる自動復旧フローのイメージ
ひよこ ひよこ

Liveness Probeって、Podが動いてるか確認するの?

ペンギン先生 ペンギン先生

そうだよ。アプリがフリーズしたりデッドロックしたりして応答しなくなった時に、自動で再起動してくれるんだ。定期的に『まだ生きてる?』って確認する仕組みだね。

ひよこ ひよこ

確認が失敗したらどうなるの?

ペンギン先生 ペンギン先生

kubeletがそのコンテナを強制終了して、新しいコンテナを起動するよ。failureThresholdで『何回連続で失敗したら再起動するか』を設定できるんだ。デフォルトは3回だよ。

ひよこ ひよこ

設定を間違えるとどうなるの?

ペンギン先生 ペンギン先生

よくある失敗が、initialDelaySecondsを短く設定しすぎること。アプリの起動に30秒かかるのにチェック開始を5秒後にすると、『まだ起動中なのに応答しない→再起動→また起動中→再起動…』の無限ループになるんだ。

ひよこ ひよこ

Startup Probeっていうのもあるって聞いたけど…

ペンギン先生 ペンギン先生

いい質問だね。Startup Probeは起動が遅いアプリ用のProbeで、これが成功するまでLivenessとReadinessのチェックが始まらないんだ。起動に時間がかかるアプリではinitialDelaySecondsの代わりにStartup Probeを使うのがモダンなやり方だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Liveness Probe」って出てきたら「Podが生きているか確認して、死んでたら再起動する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Liveness Probe」 = 生存確認の検査
💬 Liveness(生きていること)をProbe(調べる)する仕組みで、心拍モニターみたいなものだよ
← 用語集にもどる