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