Kubernetes Learning 第24章:Liveness / Readiness Probe 〜Podの健康チェック〜

Kubernetesでは、アプリケーションの状態を監視して、適切に管理する仕組みが用意されています。それが「Liveness Probe」と「Readiness Probe」です。

この2つを使うことで、以下のようなことが可能になります:

  • フリーズしたコンテナを自動で再起動する
  • サービスとしてリクエストを受け付けるかどうか判断する

✅ それぞれの役割

項目説明主な使い道
Liveness Probe「このコンテナ、生きてる?」死んでいたら自動再起動
Readiness Probe「このコンテナ、今リクエスト受けられる?」受けられない場合、Serviceの対象から外す

🧠 イメージで理解する

  • アプリがフリーズ:
    Liveness Probeが失敗 → Pod再起動
  • 起動直後でまだ準備中:
    Readiness Probeが失敗 → サービスはまだトラフィックを送らない

これにより、不安定なPodをユーザーに見せずに、安全にサービス提供できます。


🛠️ Probeの種類

Kubernetesでは、以下の方法で状態をチェックできます:

種類概要使用例
HTTP指定URLにHTTPリクエストして応答を見る/health など
TCPポートが開いているかを確認データベースなど
Commandコンテナ内でコマンドを実行し、終了コードで判断pgrepcurlなど

🔧 YAML設定の例(Liveness + Readiness)

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 10
  periodSeconds: 5

readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 3

各フィールドの意味:

  • initialDelaySeconds: 起動直後の待機時間(チェック開始まで待つ)
  • periodSeconds: チェックの頻度
  • httpGet.path: チェック対象のURLパス

📌 注意点

  • Liveness Probeが連続で失敗すると、Podは自動で再起動されます
  • Readiness Probeが失敗中のPodにはServiceからのトラフィックが来ません
  • 両方設定するのが一般的(起動中の不安定な状態も考慮できる)

💡 まとめ

項目内容
Liveness Probeアプリがハングしていないかを監視
Readiness Probeアプリがリクエストを受けられる状態か監視
メリット不安定なPodの自動回復、ユーザーへの影響を最小化
設定方法httpGet, tcpSocket, execなどで柔軟に設定可能

🧪 補足:どう使い分ける?

状態対応
起動直後で準備中Readinessが失敗(→トラフィックを送らない)
アプリがフリーズLivenessが失敗(→Podを再起動)
一時的に重くて応答しないReadiness失敗だけで済むケースも多い(再起動は避けたい)

mh

Related Posts

Kubernetes Learning 第31章:コンテナのセキュリティ対策(PodSecurityなど)~Kubernetes環境を守るために最低限知っておきたいこと~

Kubernetes Learning 第30章:NetworkPolicyの使い方 〜Pod間通信を制御するセキュリティの要〜

You Missed

Kubernetes Learning 第31章:コンテナのセキュリティ対策(PodSecurityなど)~Kubernetes環境を守るために最低限知っておきたいこと~

  • 投稿者 mh
  • 6月 4, 2025
  • 7 views

現場で使えるChrome DevTools実践ガイド 第10章:Device Modeでのレスポンシブ検証

  • 投稿者 mh
  • 6月 4, 2025
  • 8 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第4章:課金と料金モデル、予算とアラート:GCPの「お財布」管理術

  • 投稿者 mh
  • 6月 3, 2025
  • 14 views

Kubernetes Learning 第30章:NetworkPolicyの使い方 〜Pod間通信を制御するセキュリティの要〜

  • 投稿者 mh
  • 6月 3, 2025
  • 13 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第3章:IAM(Identity and Access Management):GCPの「誰が」「何に」「何ができるか」を管理する門番

  • 投稿者 mh
  • 6月 2, 2025
  • 20 views

現場で使えるChrome DevTools実践ガイド 第9章:Applicationパネルとストレージの確認

  • 投稿者 mh
  • 6月 2, 2025
  • 19 views