Kubernetes: Liveness und Readiness Probes erklärt

Overview

Wissenswertes

Basiswissen

Wie kommt eine externe Anfrage zu einem Container?

WAN –> LoadBalancer –> Ingress –> Service –> Pod (oder mehrere Pods)

Ein Service sorgt dafür, dass eine Anfrage einen Pod erreicht der bereit ist eine Anfrage zu verarbeiten. Dies kann mit Livenes- und Readinessprobes ermittelt werden. Ist ein Pod nicht “Ready” wird dieser aus dem Service Objekt entfernt und erst wieder hinzugefügt wenn dieser bereit ist Anfrage zu verarbeiten.

Unterschied Livenessprobe und Readinessprobe

Startupprobe

Kubernetes docs - Startupprobe

Die Startupprobe prüft ob ein Pod überhaupt startet. Erst wenn dies der Fall ist wird eine Liveness- bzw. Readinessprobe durchgeführt.

Livenessprobe

Kubernetes docs - Livenessprobe

Die Livenessprobe sollte prüfen ob ein Pod fehlerfrei starten kann. Bsp.: Der Container startet zwar, aber die Anwendung meldet einen Fehler und der Container bleibt im fehlerhaften zustand erhalten. Schlägt die Livenessprobe fehl, wird der Container neu gestartet.

Readinessprobe

Kubernetes docs - Readinessprobe

Die Readinessprobe prüft, ob ein Pod bereit ist externe Anfragen korrekt zu verarbeiten. Ist dies nicht der Fall, wird Kubernetes keine Anfragen an diesen Pod durch ein Service Object zulassen. Der Container wird nicht neu gestartet.

Liveness und Readinessprobes konfigurieren

Liveness und Readinessprobes sollten für den entsprechenden Pod konfiguriert werden. Die Standardeinstellungen sind nicht für jeden Dienst geeignet.

Kubernetes docs - Probes konfigurieren

Kontakt

Unsere Container Experten beraten Sie gerne und individuell.

🏠 Halbergstr. 4, 66121, Saarbrücken
🕑 Mo - Fr: 09.00 - 17.00 Uhr
✉ hello@ayedo.de
☎ +49 681 3875 3330