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

推薦する

写真アプリSnapchatは6000万ドルの資金調達を正式に発表した。

網易科技報、6月25日、海外メディアの報道によると、「読んだら消える」写真アプリのスナップチャットは...

WeChat、パブリックアカウントによる「いいねを集める」行為を禁止、4回の違反でアカウントを永久禁止

[概要] 発表では、公開アカウントが一度でも「いいね!」を集めたことが判明した場合、そのアカウントは...

グラスルーツは、トラフィックを収益化するストアオーナーとウェブマスターの両方です

「草の根」という言葉は、中国社会ではもはやタブーではない。今や人気の「貂蝉」のように、多くの若者が自...

「制御可能」原則を使用して、Webサイトの外部リンクが合理性を取り戻すようにします

多くのウェブサイトの外部リンクは毎日変化しています。外部リンクの安定性は、ウェブサイト全体の重みの不...

アリババクラウドデータベースは世界の「強力なパフォーマンス」の1つにランクされ、中国企業に好業績をもたらしている

最近、有名な市場調査機関 Forrester が最新のデータベース評価レポート「The Forres...

本当にコミュニティを構築する準備ができていますか?

多くのウェブマスターは、インターネットで活動する中で、コミュニティを作りたいという思いを抱いたことが...

レコード業界は有料音楽ダウンロードに悲観的:収益分配率はわずか2%

レコード業界は、チャンネルに集団で挑戦したいと考えている収益分配率の調整はレコード業界を救えるか?こ...

JD Zhilian Cloudテクノロジーにより、海馬汽車は「車輪上のスマートライフ」を共同で構築

ある車が時速 60 キロメートルで道路を走行しているときに、突然「幽霊が飛び出す」現象 (つまり、車...

nfphosting - 低価格 KVM 仮想 VPS プロモーション、OpenVZ 販売、Alipay

nfphosting は、KVM と OpenVZ の 2 種類の仮想 VPS を含む、ハイエンドお...

インフォグラフィック: 新技術の不適切な使用による 5 つのマーケティングの失敗

Weibo、WeChat、QR コード、AR など、新しいテクノロジーや新しいプラットフォームが次々...

SEO最適化におけるウェブマスター最適化アンカーテキストリンクの役割

ウェブマスターがウェブサイトに外部リンクを構築する場合、純粋なテキストリンク形式とアンカーテキスト外...

天一クラウドは、技術革新を通じて、セキュリティ、信頼性、ユビキタス性、包括性に向けたクラウド開発を推進しています。

5月17日は世界電気通信デーです。中国電信天一クラウドは「赤い雲天一、安全で包括的」をテーマに、オン...

justhost - ロシアのカザン(カザン)ロステレコムデータセンター無制限トラフィックVPS簡単評価

justhost は、ロステレコム データセンター内に 2 つのデータセンターを持っています。1 つ...

微博と胡屋が興味コミュニティに参入

昨今、若者の「嗜好」がますます厳しくなる中、若者を本当に「満足」させることができる商品はますます少な...

ウェブサイトの乾癬が再浮上、ブラックリンクとの戦いが加速

最近、一部のネットユーザーがWeiboで、Dedecmsで構築された多くのウェブサイトがハッキングさ...