12.2. CLI を使用したヘルスチェックの設定
readiness、liveness、および startup プローブを設定するには、1 つ以上のプローブをヘルスチェックを実行するコンテナーが含まれる Pod の仕様に追加します。
既存の Pod でヘルスチェックを追加または編集する必要がある場合、Pod の DeploymentConfig
オブジェクトを編集するか、Web コンソールで Developer パースペクティブを使用する必要があります。CLI を使用して既存の Pod のヘルスチェックを追加したり、編集したりすることはできません。
手順
コンテナーのプローブを追加するには、以下を実行します。
Pod
オブジェクトを作成して、1 つ以上のプローブを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コンテナー名を指定します。
- 2
- デプロイするコンテナーイメージを指定します。
- 3
- オプション: liveness プローブを作成します。
- 4
- 実行するテストを指定します。この場合は TCP ソケットテストです。
- 5
- コンテナーがリッスンするポートを指定します。
- 6
- コンテナーが起動してからプローブがスケジュールされるまでの時間 (秒単位) を指定します。
- 7
- プローブを実行する秒数を指定します。デフォルトは
10
です。この値はtimeoutSeconds
よりも大きくなければなりません。 - 8
- プローブが失敗したと想定されてから非アクティブになる時間 (秒数)。デフォルトは
1
です。この値はperiodSeconds
未満である必要があります。 - 9
- オプション: readiness プローブを作成します。
- 10
- 実行するテストのタイプを指定します。この場合は HTTP テストです。
- 11
- ホストの IP アドレスを指定します。
host
が定義されていない場合は、PodIP
が使用されます。 - 12
HTTP
またはHTTPS
を指定します。scheme
が定義されていない場合は、HTTP
スキームが使用されます。- 13
- コンテナーがリッスンするポートを指定します。
- 14
- オプション: スタートアッププローブを作成します。
- 15
- 実行するテストのタイプを指定します。この場合はコンテナー実行プローブです。
- 16
- コンテナーで実行するコマンドを指定します。
- 17
- 失敗後にプローブを試行する回数を指定します。
- 18
- プローブを実行する秒数を指定します。デフォルトは
10
です。この値はtimeoutSeconds
よりも大きくなければなりません。 - 19
- プローブが失敗したと想定されてから非アクティブになる時間 (秒数)。デフォルトは
1
です。この値はperiodSeconds
未満である必要があります。
注記initialDelaySeconds
値がperiodSeconds
値よりも低い場合、最初の readiness プローブがタイマーの問題により 2 つの期間の間のある時点で生じます。timeoutSeconds
値はperiodSeconds
の値よりも低い値である必要があります。Pod
オブジェクトを作成します。oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヘルスチェック Pod の状態を確認します。
oc describe pod my-application
$ oc describe pod my-application
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、コンテナーを再起動した障害のあるプローブの出力です。
正常ではないコンテナーに関する liveness チェック出力の例
oc describe pod pod1
$ oc describe pod pod1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow