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

SEO
SEO
ブログ    

推薦する

v.psはどうですか?日本大阪データセンターVPSの簡単なレビュー

v.psはどうですか? v.ps 日本はどうですか? v.ps の日本の VPS には、東京と大阪に...

Baidu のリッチメディア広告プラットフォームについて簡単に説明します: Hong Media

インターネットの初期の段階では、インターネット広告は画像やテキストを使用して表示されることがほとんど...

ウェブサイトの Google PR 価値を高める方法

ウェブサーファーは、検索速度が速く、検索結果のヒット率が高いことから、Google を特に好んでいま...

分散システムにおける「スプリットブレイン」とは一体何でしょうか?

[[413929]]この記事はWeChatの公開アカウント「New Vision of Progra...

#干货推荐# raksmart: 50% オフ、専用サーバー + 1Gbps 無制限トラフィック VPS

raksmart が最後に有益な情報を公開したのは 3 月でした。それからほぼ半年後、raksmar...

Baidu製品を活用してSEOを最適化する

インターネット上にはSEOが崩壊しつつあるという情報が多くありますが、情報の真偽については今は議論せ...

季節や人気のキーワードの価値志向をうまく活用する

今日、友人から彼のウェブサイトが百度のホームページで一番の位置に最適化されたと聞きました。今では彼は...

アリババクラウド、データ書き込み効率を100倍向上させるTSDBをリリース

IoT のシナリオでは、大量の時系列データ (時系列データと呼ばれる) が毎瞬生成されます。このデー...

SEO: 成功は天にかかっているが、計画は人にかかっている

昨日、美しいSEOの周珍が「SEOの目標は、お金を稼ぐことか、それともブランドをパッケージ化すること...

Flipperhost: 5T トラフィックから始まる超高構成の VPS を備えたニッチな商人。安定したウェブサイト構築に適しています。

Flipperhost には 3 つの安価な VPS プロモーションがあり、いずれも非常に高度な構成...

低コストで高速なコンテナ化イメージの展開: コンテナ環境での Xiaohongshu の CD 実践

コンテナは発売以来、ソフトウェア開発に非常に伝染性の高い興奮と革新をもたらし、大企業からスタートアッ...

SEOはますます方向性を見失いつつある。2013年は何をすべきか?(構造)

先週の土曜日に、「SEOはますます方向性を見失っています。2013年に何をすべきか(コンテンツ記事)...

ウェブサイトの重みはあるもののトラフィックがない理由を分析する

ウェブマスターは、ウェブサイトの重量とトラフィックにさらに注意を払います。多くの SEO 担当者は、...

SEO 引用の解釈: 詳細が成功と失敗を決定する方法

SEO 業界には、「コンテンツは王、外部リンクは皇帝」や「良質なコンテンツ、幅広い外部リンク」、「実...