Sobes.tech
Junior

Welke soorten tests bestaan er om de status van diensten en applicaties te controleren?

sobes.tech AI

Antwoord van AI

Er zijn verschillende veelvoorkomende soorten probes:

  • Liveness Probe: Bepaalt of de applicatie werkt. Als de probe niet slaagt, herstart Kubernetes de pod. Gebruikt om vastgelopen processen te detecteren.

    • HTTP Get Probes: Sturen HTTP GET-verzoeken naar het opgegeven pad en poort.
    • TCP Socket Probes: Controleren of er verbinding gemaakt kan worden met de opgegeven poort.
    • Exec Probes: Voert een commando uit binnen de container en controleert de returncode.
  • Readiness Probe: Bepaalt of de pod klaar is om verkeer te ontvangen. Als de probe niet slaagt, stuurt de service geen verkeer naar deze pod. Gebruikt om de gereedheid van de applicatie te bepalen na het starten of tijdens een update.

    • Gebruikt dezelfde mechanismen als Liveness Probes (HTTP Get, TCP Socket, Exec).
  • Startup Probe: Bepaalt of de initialisatie van de applicatie is voltooid. Als de probe is geconfigureerd, voert Kubernetes geen Liveness- en Readiness-probes uit totdat de Startup Probe succesvol is. Handig voor langzaam opstartende applicaties om voortijdige herstarts te voorkomen.

    • Gebruikt dezelfde mechanismen als andere probes.

Voorbeeld van configuratie in Kubernetes:

livenessProbe: # Levensprobe
  httpGet: # Via HTTP
    path: /healthz # Pad
    port: 8080 # Poort
  initialDelaySeconds: 15 # Vertraging voor de eerste controle
  timeoutSeconds: 1 # Wachttijd op antwoord
readinessProbe: # Gereedheidscontrole
  tcpSocket: # Via TCP
    port: 8080 # Poort
  initialDelaySeconds: 5 # Vertraging voor de eerste controle
  periodSeconds: 10 # Interval tussen controles