A property-tax batch importer on OKE needs several minutes to load reference data on first boot, and liveness keeps killing it mid-load. What should the team add?
Select an answer to reveal the explanation.
Short Explanation
Startup is a soft "still unpacking" window for slow first boots. While startup is running, liveness stays out of the way; once startup succeeds, liveness and readiness take over. That stops property-tax importers from being killed mid-load.
Full Explanation
A startup probe is the right addition when first boot needs several minutes to load property-tax reference data and liveness would otherwise kill the container mid-load. While the startup probe is not yet successful, kubelet does not apply the normal liveness (and readiness) failure restarts in the same way—giving the importer a protected initialization window. After startup succeeds, liveness and readiness resume their steady-state roles. Raising maxSurge creates more Pods in parallel during rolls; it does not protect a single slow-initializing container from liveness kills. Extra half-loaded Pods can worsen load on shared dependencies without solving the boot-time probe conflict. Removing all probes avoids false restarts but also abandons detection of hung importers later. Production batch jobs still need liveness after initialization so a permanently wedged process is restarted. Readiness alone does not disable liveness during boot. Readiness controls Service membership; liveness still restarts on failure unless a startup probe (or carefully tuned initialDelay/thresholds) covers the long load. Claiming readiness always disables liveness is incorrect. Exam caveat: size the startup probe failureThreshold × periodSeconds to exceed worst-case first-load time; if startup never succeeds, the Pod never becomes Ready and will eventually be restarted according to probe rules. Operational check: time a cold start of the importer, set startup probe parameters above that window, confirm liveness no longer kills mid-load, and verify the Pod becomes Ready only after reference data is fully loaded.