Sobes.tech
Junior

Millised on teenuste ja rakenduste oleku kontrollimiseks olemas testitüübid?

sobes.tech AI

Vastus AI-lt

On olemas mitu levinud proovivormi:

  • Elususe proov: Määrab, kas rakendus töötab. Kui proov ei õnnestu, taaskäivitab Kubernetes pordi. Kasutatakse hangunud protsesside tuvastamiseks.

    • HTTP Get Proovid: saadab HTTP GET päringuid määratud teele ja pordile.
    • TCP Socket Proovid: kontrollib ühendusvõimalust määratud pordiga.
    • Exec Proovid: täidab käsu konteineris ja kontrollib tagastuskoodi.
  • Valmiduse proov: Määrab, kas pood on valmis liiklust vastu võtma. Kui proov ei õnnestu, ei suuna teenus sellele pordile liiklust. Kasutatakse rakenduse valmisoleku määramiseks pärast käivitamist või uuendamise ajal.

    • Kasutab samu mehhanisme nagu Elususe Proovid (HTTP Get, TCP Socket, Exec).
  • Startup Proov: Määrab, kas rakenduse initsialiseerimine on lõppenud. Kui proov on seadistatud, ei täida Kubernetes Elususe ja Valmiduse proovide teste enne, kui Startup Proov õnnestub. Kasulik aeglaselt käivitatavate rakenduste jaoks, et vältida enneaegseid taaskäivitusi Elususe Proovi.

    • Kasutab samu mehhanisme nagu teised proovivormid.

Kubernetese konfiguratsiooni näide:

livenessProbe: # Elususe kontroll
  httpGet: # HTTP kaudu
    path: /healthz # Tee
    port: 8080 # Port
  initialDelaySeconds: 15 # Viivitus enne esimest kontrolli
  timeoutSeconds: 1 # Vastuse ootamise aeg
readinessProbe: # Valmiduse kontroll
  tcpSocket: # TCP kaudu
    port: 8080 # Port
  initialDelaySeconds: 5 # Viivitus enne esimest kontrolli
  periodSeconds: 10 # Kontrollide vaheline intervall