12.5.4. HTTP liveness プローブの定義
仮想マシンインスタンス (VMI) 設定の spec.livenessProbe.httpGet
フィールドを設定して HTTP liveness プローブを定義します。readiness プローブと同様に、liveness プローブの HTTP および TCP テストの両方を定義できます。この手順では、HTTP GET テストを使用して liveness プローブのサンプルを設定します。
手順
HTTP liveness プローブの詳細を VMI 設定ファイルに追加します。
HTTP GET テストを使用した liveness プローブの例
# ... spec: livenessProbe: initialDelaySeconds: 120 1 periodSeconds: 20 2 httpGet: 3 port: 1500 4 path: /healthz 5 httpHeaders: - name: Custom-Header value: Awesome timeoutSeconds: 10 6 # ...
- 1
- VMI が起動してから liveness プローブが開始されるまでの時間 (秒単位)。
- 2
- プローブの実行間の遅延 (秒単位)。デフォルトの遅延は 10 秒です。この値は
timeoutSeconds
よりも大きくなければなりません。 - 3
- VMI への接続に使用する HTTP GET 要求。
- 4
- プローブがクエリーする VMI のポート。上記の例では、プローブはポート 1500 をクエリーします。VMI は、cloud-init 経由でポート 1500 に最小限の HTTP サーバーをインストールし、実行します。
- 5
- HTTP サーバーでアクセスするパス。上記の例では、サーバーの
/healthz
パスのハンドラーが成功コードを返す場合に、VMI は正常であるとみなされます。ハンドラーが失敗コードを返すと、VMI が削除され、新規インスタンスが作成されます。 - 6
- プローブがタイムアウトし、VMI が失敗したと想定されてから非アクティブになるまでの時間 (秒数)。デフォルト値は 1 です。この値は
periodSeconds
未満である必要があります。
以下のコマンドを実行して VMI を作成します。
$ oc create -f <file_name>.yaml