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 の解説と実践的な操作

推薦する

virmach-月額$1/KVM/256mメモリ/2CPU/15gハードディスク/1Tトラフィック/Gポート/フェニックス/ダラス

virmach はコンソール キャットに 5 回登場しており、最も古い登場はその年の 7 月です。こ...

ウェブサイト構築リソース: エンタープライズ ウェブサイト構築システムの無料ダウンロード (レスポンシブ テンプレート 1 セットを含む)

月収10万元の起業の夢を実現するミニプログラム起業支援プランMetInfo エンタープライズ ウェブ...

5Gはクラウドコンピューティングとエッジコンピューティングの協調的発展のための広い空間をもたらす

[[334814]] 10年以上の開発を経て、クラウドコンピューティング業界のエコシステムはますます...

コンテンツと外部リンクが王様だった時代は終わり、体験が王様の時代が到来した

「コンテンツは王様、外部リンクは女王」はかつて SEO 業界の金言でしたが、今ではこれを見たり聞いた...

hostodo: 年間 25 ドル、アジア最適化 (+cn2 ネットワーク)、KVM/768M/20g ハードディスク/750g トラフィック

hostodo のボスは、KVM や OpenVZ を含む 6 つの特別な VPS を送ってくれまし...

hostbuybd: 著作権のない VPS、DMCA 関連の苦情は無視、ロシア\オランダ\ルーマニアはオプション

バングラデシュのホスティング会社であるhostbuybdは、仮想ホスティング、VPS、専用サーバーな...

スマート ビジネス: 分散クラウド テクノロジーの秘密を探り、企業のビジネス価値を創造し、コストを削減し、生産性を向上させましょう。

クラウド コンピューティングがなければビジネスはどうなるか想像できますか?この質問に対する答えとして...

電子商取引事業は機会を捉えるためにさらに深く掘り下げる必要がある

電子商取引は飛躍的に発展し、人々はインターネットでの買い物や取引にますます慣れてきています。その結果...

hostwithlinux-月額5ドル/新品VPS、KVM仮想化、SoftLayer香港データセンター[Windows対応]

hostwithlinux.net は、香港のソフトレイヤー コンピュータ ルームに、1000M ポ...

修正済み - 30% 割引コード/40G 高防御 VPS/KVM/無制限トラフィック/ロサンゼルス

Rectified の 11 月の大きなプロモーションが始まりました: Sharktech のロサン...

SEO ロード: 適者生存

4月25日、百度プラットフォームは外部リンクの不正行為に対する挑戦を発表し、調整の範囲は包括的です。...

企業向けのクラウドネイティブ属性の構築に役立つ 13 のツール

[[353361]] [51CTO.com クイック翻訳] 過去 10 年間で、クラウド コンピュー...

ソフト記事の提出は今でも優れた最適化方法でしょうか?

多くのウェブマスターが最適化の経験を共有する際、ソフト記事投稿を高品質の外部リンク最適化方法と見なし...

視聴者はウェブサイトのランキングにおいて最も重要な要素です

ユーザーの検索エクスペリエンスは、最近の検索エンジン アルゴリズムの主なトレンドです。著者の Xia...