Kokie yra testų tipai, norint patikrinti paslaugų ir programų būklę?
sobes.tech AI
Atsakymas iš AI
Yra keletas dažniausiai pasitaikančių bandymų tipų:
-
Gyvybingumo bandymas (Liveness): Nustato, ar programa veikia. Jei bandymas nepavyksta, Kubernetes perkrauna podą. Naudojama užšaldytų procesų aptikimui.
- HTTP Get bandymai: siunčia HTTP GET užklausas nurodytu keliu ir prievadu.
- TCP lizdo bandymai: tikrina, ar galima prisijungti prie nurodyto prievado.
- Exec bandymai: vykdo komandą konteineryje ir tikrina grąžinimo kodą.
-
Pasirengimo bandymas (Readiness): Nustato, ar podas yra pasiruošęs priimti srautą. Jei bandymas nepavyksta, paslauga neperadresuoja srauto į šį podą. Naudojama nustatyti programos pasirengimą po paleidimo ar atnaujinimo metu.
- Naudoja tuos pačius mechanizmus kaip ir Gyvybingumo bandymai (HTTP Get, TCP lizdas, Exec).
-
Paleidimo bandymas (Startup): Nustato, ar programos inicializacija baigta. Jei bandymas yra sukonfigūruotas, Kubernetes nevykdys Gyvybingumo ir Pasirengimo bandymų, kol Startup bandymas nebus sėkmingas. Naudinga lėtai paleidžiančioms programoms, siekiant išvengti ankstyvų perkrovų.
- Naudoja tuos pačius mechanizmus kaip ir kiti bandymai.
Pavyzdys konfigūracijai Kubernetes:
livenessProbe: # Gyvybingumo patikra
httpGet: # Per HTTP
path: /healthz # Kelias
port: 8080 # Prievadas
initialDelaySeconds: 15 # Uždelsta pradžia
timeoutSeconds: 1 # Atsakymo laukimo laikas
readinessProbe: # Pasirengimo patikra
tcpSocket: # Per TCP
port: 8080 # Prievadas
initialDelaySeconds: 5 # Uždelsta pradžia
periodSeconds: 10 # Intervalas tarp patikrinimų