Middle
K čemu slouží zkoušky v Kubernetes?
sobes.tech AI
Odpověď od AI
Proby v Kubernetesu se používají k určení stavu kontejnerů a správě životního cyklu podů. Umožňují clusteru automaticky reagovat na změny stavu aplikací, čímž zajišťují jejich dostupnost a stabilitu.
Existují tři hlavní typy prob:
- Liveness probe (Proba životnosti): Určuje, zda aplikace uvnitř kontejneru funguje. Pokud selže, Kubernetes restartuje kontejner.
- Readiness probe (Proba připravenosti): Určuje, zda je kontejner připraven přijímat provoz. Pokud selže, Kubernetes dočasně odstraní pod ze seznamu dostupných koncových bodů služby, která ho směruje.
- Startup probe (Proba spuštění): Určuje, zda aplikace v kontejneru dokončila spuštění. Může být použita pro aplikace, které vyžadují dlouhou inicializaci. Pokud je úspěšná, následující kontroly (životnost/ připravenost) začínají podle plánu. Pokud selže, Kubernetes zabije a znovu spustí kontejner.
Proby lze implementovat různými způsoby:
- ExecAction: Spouští příkaz uvnitř kontejneru. Úspěch je určen kódem návratu (0 - úspěch, jinak chyba).
# Příklad ExecAction pro životnostní prob livenessProbe: exec: command: - cat - /tmp/healthy initialDelaySeconds: 5 periodSeconds: 5 - HTTPGetAction: Odesílá HTTP GET požadavek na určený port a cestu kontejneru. Úspěch je určen kódem stavu HTTP (obvykle 2xx nebo 3xx).
# Příklad HTTPGetAction pro připravenost readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 3 - TCPSocketAction: Pokouší se navázat TCP spojení na určený port kontejneru. Úspěch je určen úspěšným připojením.
# Příklad TCPSocketAction pro životnostní prob livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 15 periodSeconds: 20
Správné použití prob je klíčové pro spolehlivost a odolnost aplikací v Kubernetes.