5.4.5. 変更されていないヘルスチェックサンプルアプリケーションとの対話


サンプルのアプリケーションをデプロイすると、MY_APP_NAME サービスが実行されます。MY_APP_NAME サービスは以下の REST エンドポイントを公開します。

/api/greeting
name パラメーターの greeting が含まれる JSON を返します(またはデフォルト値として World)。
/api/stop
障害をシミュレートするために、サービスが応答しなくなるように強制します。

以下の手順は、サービスの可用性を検証し、障害をシミュレートする方法を説明します。利用可能なサービスが失敗すると、OpenShift の自己修復機能がサービスでトリガーされます。

Web インターフェースを使用して、この手順を実行できます。

  1. curl を使用して MY_APP_NAME サービスに対して GET 要求を実行します。ブラウザーを使用してこれを行うこともできます。

    $ curl http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME/api/greeting
    {"content":"Hello, World!"}
  2. /api/stop エンドポイントを呼び出して、その直後に /api/greeting エンドポイントの可用性を確認します。

    /api/stop エンドポイントを呼び出すと、内部サービスの失敗をシミュレートし、OpenShift の自己修復機能がトリガーされます。障害発生後に /api/greeting を呼び出すと、サービスは HTTP ステータス 503 を返すはずです。

    $ curl http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME/api/stop
    Stopping HTTP server, Bye bye world !

    (以下で説明)

    $ curl http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME/api/greeting
    Not online
  3. oc get pods -w を使用して、自己修復機能の動作を継続的に監視します。

    サービスの障害を呼び出す際には、OpenShift コンソールでの自己修復機能、または oc クライアントツールを使って自己修復機能を確認できます。READY 状態の Pod 数はゼロ(0 /1)に移行し、短い期間(1 分未満)が最大1 /1に移行します。さらに、サービスが失敗するたびに RESTARTS の が増加します。

    $ oc get pods -w
    NAME                           READY     STATUS    RESTARTS   AGE
    MY_APP_NAME-1-26iy7   0/1       Running   5          18m
    MY_APP_NAME-1-26iy7   1/1       Running   5         19m
  4. オプション: Web インターフェースを使用してサービスを呼び出します。

    ターミナルウィンドウを使用した対話の結果として、サービスが提供する Web インターフェースを使用して、異なるメソッドを呼び出すと、ライフサイクルフェーズでサービスの動作を確認できます。

    http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME
  5. オプション: Web コンソールを使用して、セルフサービスプロセスの各段階でアプリケーションが生成したログ出力を表示します。

    1. プロジェクトに移動します。
    2. サイドバーで Monitoring をクリックします。
    3. 画面の右上隅にある Events をクリックしてログメッセージを表示します。
    4. オプション: View Details をクリックし、イベントログの詳細ビューを表示します。

    ヘルスチェックアプリケーションは以下のメッセージを生成します。

    Expand
    メッセージStatus

    Unhealthy

    readiness プローブに失敗しました。このメッセージは予想され、/api/greeting エンドポイントのシミュレーションの失敗が検出され、自己修復プロセスが開始されます。

    Killing

    サービスを実行している利用できない Docker コンテナーは、再作成する前に強制終了されます。

    Pulling

    最新バージョンの Docker イメージをダウンロードして、コンテナーを再作成します。

    Pulled

    Docker イメージが正常にダウンロードされました。

    Created

    Docker コンテナーが正常に作成されました。

    Started

    Docker コンテナーが要求を処理する準備ができています。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る