Middle
Mire szolgálnak a próbák a Kubernetesben?
sobes.tech MI
Válasz az MI-től
A Kubernetesben a próbák a konténerek állapotának meghatározására és a podok életciklusának kezelésére szolgálnak. Lehetővé teszik a klaszter számára, hogy automatikusan reagáljon az alkalmazások állapotának változásaira, biztosítva azok elérhetőségét és stabilitását.
Három fő típusú próba létezik:
- Életképességi próba (Liveness probe): Meghatározza, hogy a konténerben lévő alkalmazás működik-e. Ha az életképességi próba sikertelen, a Kubernetes újraindítja a konténert.
- Készségpróba (Readiness probe): Meghatározza, hogy a konténer készen áll-e a forgalom fogadására. Ha a készségpróba sikertelen, a Kubernetes ideiglenesen eltávolítja a podot a rendelkezésre álló végpontok listájáról a szolgáltatás számára.
- Indítási próba (Startup probe): Meghatározza, hogy a konténerben lévő alkalmazás befejezte-e az indítást. Használható olyan alkalmazásokhoz, amelyek hosszú időt igényelnek az inicializáláshoz. Ha az indítási próba sikeres, a következő ellenőrzések (életképesség/készség) a ütemterv szerint kezdődnek. Ha a megadott időn belül sikertelen, a Kubernetes megöli és újraindítja a konténert.
A próbák különböző módokon valósíthatók meg:
- ExecAction: Parancsot futtat a konténeren belül. A siker a visszatérési kód alapján dől el (0 - siker, más - hiba).
# Példa az ExecAction-re az életképességi próba esetében livenessProbe: exec: command: - cat - /tmp/healthy initialDelaySeconds: 5 periodSeconds: 5 - HTTPGetAction: HTTP GET kérdést küld a megadott porthoz és útvonalhoz a konténerben. A siker a HTTP státuszkód alapján dől el (általában 2xx vagy 3xx).
# Példa a HTTPGetAction-re a készségpróba esetében readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 3 - TCPSocketAction: TCP kapcsolatot prób létesíteni a megadott porton a konténerben. A siker a sikeres kapcsolat alapján dől el.
# Példa a TCPSocketAction-re az életképességi próba esetében livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 15 periodSeconds: 20
A próbák helyes alkalmazása kulcsfontosságú az alkalmazások megbízhatósága és hibátűrő képessége szempontjából Kubernetesben.