Keep each check focused
A liveness check should detect a process that is irrecoverably stuck, not every temporary dependency failure. If it depends on a database or external API, a transient outage could trigger repeated restarts and make recovery harder.
A readiness check can include conditions required to handle requests, such as completed initialization or access to essential local state. It should change promptly when the instance can no longer serve work and recover when the condition clears.
Set thresholds and observe behavior
Allow realistic startup time and use thresholds that account for normal latency variation. Check that probes do not create excessive load or disclose sensitive details in public responses.
During rollout, observe probe results alongside request errors and restart counts. Test startup, dependency degradation, and recovery cases so that each check produces the intended routing or restart behavior.