【レディネスプローブ】

Readiness Probe とは?

💡 『準備できた?』と確認してからお客さんを通す受付係
📌 このページのポイント
Readiness Probe によるトラフィック制御 Service ロードバランサ Pod A(Ready) Probe: OK トラフィック受信中 Pod B(NotReady) Probe: NG トラフィック遮断 チェック方法 HTTP GET TCP Socket Exec Command gRPC Health パラメータ initialDelaySec: 5 periodSeconds: 10 Readyでないpodにはトラフィックが送られない
Readiness Probeによるトラフィック制御のイメージ
ひよこ ひよこ

Readiness Probeって何を確認しているの?

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

Podが『お客さんを受け入れる準備ができているか』を確認するんだよ。レストランで言えば、開店準備が終わったか確認してからお客さんを通す仕組みだね。

ひよこ ひよこ

準備ができていないとどうなるの?

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

KubernetesのServiceのエンドポイントから外されるから、そのPodにはリクエストが来なくなるよ。アプリの起動中やデータベース接続待ちの間はトラフィックを受けたくないよね。

ひよこ ひよこ

どうやってチェックするの?

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

3つの方法があるよ。HTTPエンドポイントにGETリクエストを送る方法、TCPポートに接続を試みる方法、コンテナ内でコマンドを実行する方法だ。Webアプリなら/healthzエンドポイントを用意してHTTPチェックするのが一般的だね。

ひよこ ひよこ

Liveness Probeとはどう使い分けるの?

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

Readinessは『トラフィックを受けられるか』、Livenessは『そもそも生きているか』だよ。Readinessが失敗するとトラフィックが止まるだけだけど、Livenessが失敗するとPod再起動される。両方設定するのが推奨だね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Readiness Probe」って出てきたら「Podがリクエストを受けられるか確認する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Readiness Probe」 = 準備状態の検査
💬 Readiness(準備ができていること)を Probe(調べる)する仕組みだよ
← 用語集にもどる