type
status
date
slug
summary
tags
category
icon
password
书籍
ガイド付き演習
アプリケーションのプローブによる監視
この演習では、OpenShiftにデプロイされたアプリケーションのために、Readiness Probe と Liveness Probe を設定します。
リソース
アプリケーションURL:
http://probe.apps.lab.example.com
目標
以下を実行できるようになります:
- 新しいプロジェクトを作成する。
- 新しいアプリケーションを作成する。
- アプリケーションに対して Readiness Probe と Liveness Probe を作成する。
- プロジェクトのイベントログを表示する。
演習前に必要なこと
この演習を進める前に、第7章:OpenShift Container Platformのインストール のすべてのラボを完了し、マスターと2つのノードを含むOpenShift Container Platformクラスターが稼働していることを確認してください。もしまだ設定していない場合は、マスター、ノード1、ノード2ホストをリセットし、以下のコマンドをワークステーションホストで実行して環境が正しく設定されているか確認してください:
マスター、ノード1、ノード2ホストが起動しているか確認し、このガイド付き演習で必要なファイルをダウンロードするには、ワークステーションで次のコマンドを実行してください:
演習手順
- ワークステーションで、OpenShiftクラスターにdeveloperユーザーとしてログインし、probesプロジェクトを作成します。
1.1. ワークステーションで新しいターミナルを開き、
oc login
コマンドを使って、developerユーザーとしてOpenShiftクラスターにログインします。1.2. probesという名前の新しいプロジェクトを作成します。
手順 2: Node-Helloイメージを使用して新しいアプリケーションを作成
2.1.
oc new-app
コマンドを使って新しいアプリケーションを作成します。node-hello
イメージを使用します。2.2.
oc status
コマンドを実行して、アプリケーションのデプロイ状況を確認します。2.3.
oc get pods
コマンドを実行して、Podが「Running」状態になるまで待ちます。注: Podのデプロイには最大で3分かかる場合があります。
手順 3: アプリケーションに外部からアクセスするためのルートを公開
手順 4: curl
コマンドを使ってアプリケーションにアクセス
手順 5: /health
と /ready
のURLをテスト
アプリケーションは、
/health
と /ready
の2つのHTTP GET URLを公開しています。/health
はLiveness Probe、/ready
はReadiness Probeに使用されます。手順 6: OpenShift Webコンソールを使ってReadiness Probeを作成
6.1. ワークステーションからFirefoxを開き、OpenShift Webコンソール(
https://master.lab.example.com
)にアクセスします。ユーザー名にdeveloper
、パスワードにredhat
を入力してログインします。その後、「probes」プロジェクトにアクセスします。6.2. 「Applications → Deployments」に移動して、デプロイメントの一覧を表示します。現在のバージョン(#1)をクリックして、次のバナーを確認します:
プローブを追加するには、「Add Health Checks」をクリックします。

6.3 Readiness Probeの作成
次のページで、「Add Readiness Probe」をクリックして、新しいReadiness Probeを作成します。以下の表の情報を使用してください。
フィールド | 値 |
タイプ | HTTP GET |
パス | /ready |
ポート | 3000 |
初期遅延 | 3秒 |
タイムアウト | 2秒 |
これらの設定を入力した後、Readiness Probeが作成されます。

6.4 Liveness Probeの作成
次のページで、テーブルから最新のデプロイメントをクリックして、最新のデプロイメント設定を開きます。
注意
プローブを更新すると、新しいデプロイメントがトリガーされます。これは、プローブがデプロイメント設定を更新するためです。
7. Liveness Probeを作成
- 「Actions」→「Edit Health Checks」に移動します。
- 下にスクロールして「Add Liveness Probe」をクリックし、Liveness Probeを作成します。以下の表の値を使用してください。
フィールド | 値 |
タイプ | HTTP GET |
パス | /healtz |
ポート | 3000 |
初期遅延 | 3秒 |
タイムアウト | 3秒 |
注意
/healtz
のタイポ(正しくは /health
)が原因で、OpenShiftはポッドを不健康と見なし、ポッドの再デプロイをトリガーします。これらの設定を入力した後、「Save」をクリックしてLiveness Probeを作成します。

8. プローブの実装を確認
- サイドバーで「Monitoring」をクリックします。
- 「Events」パネルがリアルタイムで更新されるのを確認します。
- 「Unhealthy」とマークされたエントリに注目します。これは、Liveness Probeが
/healtz
リソースにアクセスできなかったことを示しています。
注意
Liveness Probeに誤ったパス(
/healtz
)が指定されているため、OpenShiftはポッドを不健康と見なし、再デプロイをトリガーします。このエラーにより、イベントパネルに「Unhealthy」というステータスが表示されます。
9. モニタリングイベントを確認
- 右上隅にある「View Details」リンクをクリックして、モニタリングイベントの詳細を表示します。
- イベントを確認します。
このステップでは、プローブによってトリガーされたイベントや、アプリケーションの状態に関連する詳細な情報を確認することができます。

10. コマンドラインインターフェースでプロジェクトのイベントを確認
- ワークステーションでターミナルを開き、
oc get events
コマンドを実行してイベントを確認します。
- イベントタイプが「Warning」、理由が「Unhealthy」のものを探します。
11. 生存確認プローブを編集
11.1. 生存確認プローブを正しいURLでクエリするように更新します。Webコンソールで、Applications → Deployments に移動し、プローブのエントリをクリックしてデプロイメント構成を開きます。
11.2. Action をクリックして生存確認プローブを編集し、Edit Health Checks を選択します。生存確認プローブのセクションにスクロールして、Path エントリにある
/healtz
を /health
に変更します。保存をクリックして変更を保存します。

注意
変更により、新しいデプロイメントがトリガーされ、プローブがデプロイメント構成を更新するため、新しいデプロイメントが開始されます。
12. ターミナルで oc get events
コマンドを再実行
ターミナルで再度
oc get events
コマンドを実行し、OpenShiftが新しいバージョンのデプロイメント構成をデプロイしたことを確認します。また、以前のポッドが終了し、ポッドが不健康であるというエントリが表示されなくなったことを確認します。最後の行にはポッドが終了しないことが表示されているはずです。これにより、デプロイメントが正常であることが示されます。
クリーンアップ
ワークステーションホストで、プローブのプロジェクトを削除します。これにより、ラボ中に作成されたすべてのポッドも削除されます。
これでガイド付き演習は終了です。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1aad7ae8-88e2-8085-a9c8-cbcfb9348089
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章