Health Checks et Probes 16 min de lecture

Startup Probes et strategies

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.