Kubernetes で livenessProbe、ReadinessProbe、StartupProbe を構成する

Kubernetes で livenessProbe、ReadinessProbe、StartupProbe を構成する

livenessProbe、readinessProbe、startupProbe の役割

kubelet は livenessProbe を使用して、コンテナを再起動するタイミングを決定します。たとえば、プログラムでデッドロックが発生した場合、プログラムは引き続き実行されており、livenessProbe を使用して、プログラムが正常にサービスを提供できなくなったことを検出できます。この場合、コンテナを再起動すると、プログラムを使用可能な状態に復元できます (ただし、プログラムにはデッドロックを引き起こす可能性のあるバグがあります)。 livenessProbeが設定されていない場合、デフォルトのステータスは Success になります。

kubelet は、readinessProbe を使用して、コンテナがトラフィックを受け入れる準備が整ったかどうかを判断します。ポッド内のすべてのコンテナの準備が完了すると、ポッドは準備完了とみなされます。最も重要な用途は、どのポッドがサービスのバックエンドとして使用されるかを制御することです。 Pod の準備ができていない場合、ロードバランサーから削除されます。 readinessProbeが構成されていない場合、デフォルトのステータスは Success です。

Kubernetes では、バージョン 1.17 以降、startupPローブ (スタートアップ プローブ)が追加されました。 Kubelet は、startupProbe を使用して、コンテナ アプリケーションの起動タイミングを決定します。 startupProbe が設定されている場合、livenessProbe と readinessProbe は起動が成功した後にのみ実行されます。これにより、起動時にアプリケーションが livenessProbe および readinessProbe の影響を受けるのを防ぐことができます。 startupProbe が設定されていない場合、デフォルトのステータスは成功です。

k8s の 4 つのヘルスチェック方法

livenessProbe、readinessProbe、 startupProbeはすべてヘルスチェックと呼ぶことができます。これらのヘルス チェック タイプは、exec コマンド、httpGet、tcpSocket、grpc の 4 つのチェック メソッドをサポートしています。その中で、exec コマンドライン方式は最も汎用性が高く、ほとんどのシナリオに適しています。 tcpSocket メソッドは TCP タイプのサービスに適しており、httpGet メソッドは http タイプのサービスに適しており、grpc メソッドは grpc タイプのサービスに適しています。

  • exec: カスタム ヘルス チェック メソッドをコマンド ライン (CLI) ツールにカプセル化し、exec を使用して実行できます。テスト結果が正常であれば、コマンド ラインは 0 の値を返し、そうでない場合は 0 以外の値を返します。
  • httpGet: コンテナの IP アドレス、ポート、およびサービスによって提供される http インターフェイス パスを介して HTTP Get 要求を開始します。応答ステータス コードが 200 以上 400 未満の場合、サービスは正常であると見なされます。
  • tcpSocket: コンテナの IP アドレスとポートを介して TCP 要求を開始します。接続を確立できる場合、サービスは正常であるとみなされます。
  • grpc:コンテナの IP アドレスとポートを介して grpc 要求を開始します (サービスが grpc ヘルス チェック プロトコルを実装している場合)。返されたサービス正常性の結果が正常である場合、サービスは正常であると見なされます。

プローブを構成するための一般的なオプション パラメーターは次のとおりです。

パラメータ名

デフォルト値

最小

説明する

初期遅延秒数

0秒

0秒

コンテナの起動後、最初のプローブを開始するまでの時間。

期間秒

10秒

1秒

検出頻度が高すぎるため、ポッドに大きな追加オーバーヘッドが発生します。頻度が低すぎると、コンテナの実際の状況をタイムリーに反映できなくなります。

タイムアウト秒

1秒

1秒

検出タイムアウト期間。

失敗しきい値

3

1

成功状態の場合、プローブが連続して数回失敗すると、失敗したとみなされます。

成功しきい値

1

1

失敗状態の場合、連続して数回成功すると検出は成功したとみなされます。

設定例

livenessProbe、readinessProbe、 startupProbe の設定方法は基本的に同様です。以下では、livenessProbe の設定を例に説明します。

実行メソッド

 APIバージョン: v1
種類:ポッド
メタデータ:
ラベル:
テスト:活性
名前:ライブネス- exec
仕様:
コンテナ:
-名前:ライブネス
画像:レジストリk8sio /ビジーボックス
引数:
- / bin / sh
- -
-タッチ/ tmp /健康;睡眠30 ; rm - f / tmp /正常;睡眠600
ライブネスプローブ:
実行:
指示
-
- / tmp /健康
初期遅延秒数: 5
期間秒数: 5

httpGet メソッド

 APIバージョン: v1
種類:ポッド
メタデータ:
ラベル:
テスト:活性
名前:ライブネス- http
仕様:
コンテナ:
-名前:ライブネス
画像:レジストリk8sio /ライブネス
引数:
- /サーバー
ライブネスプローブ:
httpGet : 取得:
パス: / healthz
ポート: 8080
httpヘッダー:
-名前:カスタム-ヘッダー
価値素晴らしい
初期遅延秒数: 3
期間秒数: 3

tcpSocket メソッド

 APIバージョン: v1
種類:ポッド
メタデータ:
名前: goproxy
ラベル:
アプリ: goproxy
仕様:
コンテナ:
-名前: goproxy
画像:レジストリk8sio /ゴープロキシ: 0.1
ポート:
-コンテナポート: 8080
準備状況プローブ:
tcpソケット:
ポート: 8080
初期遅延秒数: 5
期間秒数: 10
ライブネスプローブ:
tcpソケット:
ポート: 8080
初期遅延秒数: 15
期間秒数: 20

grpc の方法

 APIバージョン: v1
種類:ポッド
メタデータ:
名前: etcd - with - grpc
仕様:
コンテナ:
-名前: etcd
画像:レジストリk8sio / etcd : 3.5.1-0
コマンド: [ "/usr/local/bin/etcd""--data-dir""/var/lib/etcd""--listen-client-urls""http://0.0.0.0:2379""--advertise-client-urls""http://127.0.0.1:2379""--log-level""debug" ]
ポート:
-コンテナポート: 2379
ライブネスプローブ:
グループ:
ポート: 2379
初期遅延秒数: 10

ヘルスチェックの設定の詳細については、Kubernetes の公式ドキュメントを参照してください。
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/。

<<:  企業におけるクラウドコンピューティングの利点と課題

>>:  Cloud Native Sqoop on k8s の解説と実践的な操作

推薦する

微博メディアの利益混乱:微博のトラフィック減少により、娯楽目的のみに適しているのか?

要点: 従来のメディア関係者と同様に、新しいメディア関係者も将来について混乱しています。 Huxiu...

クラウドコンピューティングの開発動向:「フルクラウド」

クラウドコンピューティングの開発動向には、「フルクラウドコンピューティング」、「クラウドネットワーク...

レポートは次のように指摘している: クラウドコンピューティングは収益成長の新たな原動力である

クラウドコンピューティング企業は、流行の影響に耐えただけでなく、ビジネスの成長も達成しました。しかし...

加盟店コレクション: 日本のVPS、Alipay決済

日本の VPS を購入するのは簡単ではありません。そのほとんどは日本での現地決済が必要で、コミュニケ...

Ingress Controller の本質を 1 つの記事で理解する

今日は、クラウド ネイティブ エコシステムの中核技術であるトラフィック管理、Kubernetes I...

収益の伸びは2四半期連続で鈍化し、オラクルのクラウド事業の勢いは衰えつつある

オラクルは、ハイパースケールプロバイダーと競争できるクラウドプラットフォームとして自社を再配置する取...

クラウド コンピューティングとデータ センター: 組織がどちらが適しているかを判断する方法

アマゾンの最高技術責任者であるヴェルナー・フォーゲルス氏は、企業が社内データセンター戦略を採用するか...

メールマーケティングをうまく行うには、「段階的な進歩」に注意を払う必要があります

電子メール マーケティングをうまく行うにはどうすればよいでしょうか。これは多くの企業が知りたいことで...

対外貿易B2Cモール:Facebook広告の10のヒント

Facebook でマーケティングを開始したかどうかはわかりません。Facebook タイムライン ...

テンセント副社長李強氏:ポストパンデミック時代、デジタル技術は企業成長の新たな原動力となっている

「実体経済とデジタル経済の融合の加速は、新たな経済成長点であるだけでなく、伝統産業のデジタル変革の支...

多くのネットユーザーが、新浪微博のアカウントがハッキングされ、100人以上の有名人や団体をフォローしていたと報告した。

今月24日以来、多くのネットユーザーが新浪微博のアカウントがハッキングされたとネット上で報告している...

国家工商行政管理局は、オンライン取引を規制し、オンラインストアが評判を騙し取ることを禁止する予定である。

新華網北京9月11日(記者:張暁松、王思北)国家工商行政管理総局は11日、「オンライン商品取引及び関...

クラウドコンピューティングデータセンターにおける仮想化技術の適用を分析する3つの側面

本稿では、クラウド コンピューティング データ センターのリソース使用率とユーザー QOS を向上さ...

海外で利用率の高いSEOツール07選

2007年に海外で最も利用率の高いSEOツール1 SEO分析ツールのトップ10を挙げる2 バックリン...