Health Checks et Probes 20 min de lecture

Liveness et Readiness Probes

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.