Sobes.tech
Junior

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ų