Startup Probe — startup check for slowly starting applications.
Problem: Liveness probe kills Pod before application has started (long initialization).
Startup Probe solves this:
1apiVersion: apps/v12kind: Deployment3metadata:4 name: slow-app5spec:6 template:7 spec:8 containers:9 - name: app10 image: my-slow-app:latest11 startupProbe:12 httpGet:13 path: /health14 port: 808015 failureThreshold: 3016 periodSeconds: 1017 # 30 × 10 = 300 seconds max for startup18 readinessProbe:19 httpGet:20 path: /ready21 port: 808022 periodSeconds: 523 livenessProbe:24 httpGet:25 path: /health26 port: 808027 periodSeconds: 10
Check order:
While startup has not passed:
TCP Startup Probe:
1startupProbe:2 tcpSocket:3 port: 80804 failureThreshold: 305 periodSeconds: 10
Exec Startup Probe:
1startupProbe:2 exec:3 command:4 - cat5 - /tmp/ready6 failureThreshold: 307 periodSeconds: 10
When to use: Java/Spring Boot (long startup), ML model loading, DB migrations at startup.