type
status
date
slug
summary
tags
category
icon
password
书籍
アプリケーションの監視とプローブ
目的
このセクションを完了すると、学生はOpenShiftにデプロイされたアプリケーションのヘルスチェックのためにプローブを設定できるようになります。
OpenShiftプローブの紹介
OpenShiftアプリケーションは、接続の一時的な喪失、設定エラー、またはアプリケーションエラーなどの問題により、正常でなくなることがあります。開発者はプローブを使用してアプリケーションを監視できます。プローブは、実行中のコンテナに対して定期的に診断を行うKubernetesのアクションです。プローブは、
oc
コマンドラインクライアントやOpenShift Webコンソールを使用して設定できます。現在、管理者が使用できるプローブには2種類があります:
- Liveness Probe(生存確認プローブ)
- 生存確認プローブは、コンテナ内で実行中のアプリケーションが健康かどうかを判断します。もしこのプローブがアプリケーションが健康でない状態を検出した場合、OpenShiftはポッドを停止し、再デプロイを試みます。開発者は
template.spec.containers.livenessProbe
の設定を使って生存確認プローブを設定できます。
- Readiness Probe(準備完了プローブ)
- 準備完了プローブは、コンテナがリクエストを処理する準備ができているかどうかを判断します。このプローブが失敗した場合、OpenShiftはそのコンテナのIPアドレスをサービスのエンドポイントから削除します。開発者は
template.spec.containers.readinessProbe
の設定を使って準備完了プローブを設定できます。
OpenShiftでは、プローブに対していくつかのタイムアウトオプションを提供しています。これらは次の5つのオプションです:
- initialDelaySeconds: 必須。コンテナが起動してからプローブを開始するまでの待機時間。
- timeoutSeconds: 必須。プローブが完了するまでに待機する時間。この時間を超えると、OpenShiftはプローブが失敗したと見なします。
- periodSeconds: 任意。プローブのチェック間隔。
- successThreshold: 任意。プローブが失敗した後、成功と見なされるために必要な連続した成功回数。
- failureThreshold: 任意。プローブが成功した後、失敗と見なされるために必要な連続した失敗回数。
アプリケーションのヘルスチェック方法
準備完了プローブと生存確認プローブは、3つの方法でアプリケーションのヘルスをチェックできます:
- HTTPチェック
- HTTPチェックを使用すると、OpenShiftはWebフックを利用してコンテナのヘルスを判断します。HTTPレスポンスコードが200〜399の範囲であれば、チェックは成功と見なされます。以下は、HTTPチェックメソッドを使用して準備完了プローブを実装する例です。
- path: クエリするURL。
- initialDelaySeconds: コンテナ起動後、ヘルスチェックを開始するまでの待機時間。
- timeoutSeconds: プローブが完了するまで待機する時間。
注意: HTTPチェックは、HTTPステータスコードを返すアプリケーションに最適です。
- コンテナ実行チェック
- コンテナ実行チェックでは、kubeletエージェントがコンテナ内でコマンドを実行します。コマンドが0のステータスで終了すると、チェックは成功と見なされます。以下は、コンテナ実行チェックを実装する例です。
- command: 実行するコマンド。
- TCPソケットチェック
- TCPソケットチェックでは、kubeletエージェントがコンテナへのソケット接続を試みます。接続が確立できると、コンテナは健康と見なされます。以下は、TCPソケットチェックメソッドを使用して生存確認プローブを実装する例です。
- port: チェックするTCPポート。
Webコンソールを使用したプローブの管理
開発者は、OpenShift Webコンソールを使用して準備完了プローブと生存確認プローブの両方を管理できます。各デプロイメントについて、プローブの管理は「アクション」ドロップダウンリストから利用できます。

各プローブタイプについて、開発者はHTTP GET、TCPソケット、またはコンテナコマンドなどのタイプを選択し、それぞれのタイプに対するパラメータを指定できます。Webコンソールは、プローブを削除するオプションも提供しています。図16.2では、準備完了プローブと生存確認プローブの管理方法が示されています。


注意
periodSeconds
、successThreshold
、およびfailureThreshold
は、Webコンソールから設定することはできません。Webコンソールは、デプロイメント構成を定義するYAMLファイルを編集することもできます。プローブを作成すると、新しいエントリがデプロイメント構成の設定ファイルに追加されます。デプロイメント構成エディターを使用して、プローブを確認または編集できます。ライブエディターを使うと、
periodSeconds
、successThreshold
、およびfailureThreshold
オプションを編集できます。以下の例は、デプロイメント構成のライブエディターを示しています。
参考資料
さらに詳しい情報は、OpenShift Container Platform Developer Guideの「Application Health」章に記載されています。
また、Kubernetesウェブサイトの「LivenessおよびReadinessプローブの設定」ページにも詳しい情報があります。
- 作者:みなみ
- 链接:https://tangly1024.com/%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1aad7ae8-88e2-8054-870c-d98a81fb8500
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章