Startup Probe
Pour les applications qui mettent du temps a demarrer. Desactive liveness/readiness pendant le demarrage.
startupProbe:
httpGet:
path: /startup
port: 8080
failureThreshold: 30
periodSeconds: 10
Avec ces parametres, l'application a 300 secondes (30 x 10) pour demarrer.
Configuration complete
spec:
containers:
- name: app
image: myapp
ports:
- containerPort: 8080
startupProbe:
httpGet:
path: /startup
port: 8080
failureThreshold: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /healthz
port: 8080
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /ready
port: 8080
periodSeconds: 5
failureThreshold: 2
Parametres importants
- initialDelaySeconds : Delai avant la premiere probe
- periodSeconds : Frequence des probes
- timeoutSeconds : Timeout de la probe
- successThreshold : Nombre de succes consecutifs requis
- failureThreshold : Nombre d'echecs avant action
Bonnes pratiques
- Endpoints de health legers (pas de DB queries lourdes)
- Readiness doit verifier les dependances (DB, cache)
- Liveness doit verifier uniquement l'application elle-meme
- Utilisez startup probe pour les apps lentes a demarrer
Attention : Une liveness probe trop aggressive peut causer des restart loops. Ajustez failureThreshold et periodSeconds.