Startup- First check
- 0s after container start
- Acts after
- ≈116s of continuous failure
- Action
- Startup failure: container is killed and restarted. Liveness and readiness do not run until startup succeeds.
- Startup budget ≈ initialDelaySeconds + failureThreshold × periodSeconds = 120s before the container is restarted.
- Any HTTP status from 200 to 399 counts as success. Redirects to another host are not followed as success checks of that host.
- Timings are arithmetic from the fields. kubelet scheduling jitter, container start time and probe execution time make real timings vary.
Readiness- First check
- after startup succeeds (≤ 120s)
- Acts after
- ≈22s of continuous failure
- Action
- Pod is marked NotReady and removed from Service endpoints (container keeps running).
- Any HTTP status from 200 to 399 counts as success. Redirects to another host are not followed as success checks of that host.
- Timings are arithmetic from the fields. kubelet scheduling jitter, container start time and probe execution time make real timings vary.
Liveness- First check
- after startup succeeds (≤ 120s)
- Acts after
- ≈42s of continuous failure
- Action
- Container is killed and restarted according to restartPolicy.
- Any HTTP status from 200 to 399 counts as success. Redirects to another host are not followed as success checks of that host.
- Timings are arithmetic from the fields. kubelet scheduling jitter, container start time and probe execution time make real timings vary.
Passes pack schema5 warning(s)Kubernetes 1.31, pack 2026.10.0
container "app" does not set allowPrivilegeEscalation: false.
container "app": runAsNonRoot is not true at container or pod level.
container "app" does not drop ALL capabilities.
container "app": seccompProfile is unset at container and pod level.
container "app" has no resources.requests (BestEffort QoS).
containers:
- name: app
image: registry.example.com/app:1.0.0
ports:
- name: http
containerPort: 8080
startupProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 0
periodSeconds: 5
timeoutSeconds: 1
failureThreshold: 24
successThreshold: 1
readinessProbe:
httpGet:
path: /ready
port: http
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 3
successThreshold: 1
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 0
periodSeconds: 20
timeoutSeconds: 2
failureThreshold: 3
successThreshold: 1