スタートアッププローブ(Startup probe)
起動の遅いコンテナが立ち上がるまでの時間を稼ぎ、その間はlivenessとreadinessのチェックを働かせないヘルスチェック。初期化に時間のかかるアプリが、せっかちなlivenessプローブに殺されるのを防ぐ。
問題はこうだ。livenessプローブはすぐに検査を始めるが、重いアプリ(大きなJavaモノリスや、起動時に大量のデータを読み込むアプリ)は起動に数分かかることがある。保護がなければ、起動中にlivenessが失敗してコンテナを再起動し続ける。永遠に起動を完了できない再起動ループである。スタートアッププローブはこれを解決する。成功するまでlivenessとreadinessは停止し、こちらには十分に長いタイムアウト(たとえば多数回の試行)を与える。成功したら、あとは通常どおり他の二つが引き継ぐ。
利点は、livenessのタイムアウトを途方もなく高く設定せずに、遅い初期化を許容できることだ。高く設定すると、運用中のハング検出という本来の役目が果たせなくなる。起動時間が読めないレガシーアプリでは特に有用である。