Pourquoi des Health Checks ?
Les probes permettent a Kubernetes de detecter et reagir automatiquement aux problemes :
- Redemarrer les conteneurs bloques (liveness)
- Ne pas envoyer de trafic aux Pods non prets (readiness)
- Attendre que l'application demarre (startup)
Liveness Probe
Verifie si le conteneur est vivant. Si la probe echoue, Kubernetes redémarre le conteneur.
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
Readiness Probe
Verifie si le conteneur est pret a recevoir du trafic. Si la probe echoue, le Pod est retire du Service.
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
Types de probes
HTTP GET
httpGet:
path: /health
port: 8080
httpHeaders:
- name: Custom-Header
value: Awesome
TCP Socket
tcpSocket:
port: 3306
Exec Command
exec:
command:
- cat
- /tmp/healthy
Best practice : Utilisez toujours liveness ET readiness probes pour une application robuste.