はじめに
この記事ではkubernetes(以下k8s)の勉強の自己学習のメモです。本コンテンツではk8sのヘルスチェックについて記載します。
Liveness ProbeとReadiness Probe
k8sにはPodの正常性の判断として「Liveness Probe」と「Readiness Probe」という2種類のヘルスチェック機構が用意されています。
Liveness Probe
Liveness ProbeはPodが正常に動作しているかを確認(正常に動作しない場合は再起動する)
Readiness Probe
Podがサービスインする準備が出来ているかの確認(正常に動作しない場合、トラフィックを流さない)
例)プロセスが起動していない、バックエンドのDBに接続できていないetc
Liveness ProbeとReadiness Probeは片方のみ、両方設定可能。
チェック方式(3種)
Liveness ProbeとReadiness Probeは以下の3種類のチェック方式に従ってヘルスチェックします。
exec
コマンドを実行し、正常終了(終了コード0)であれば成功、それ以外は失敗と判定します。
httpGet
HTTPGETリスエストを実行。ステータスが200~399なら成功、それ以外は失敗と判定します。
tcpSocket
TCPセッションを確立できれば成功。それ以外は失敗と判定します。
まとめ
ヘルスチェックの機構と方式で混乱するのでまとめました。皆様のお役に立てれば幸いです。