Sobes.tech
Junior

Kādi ir testi, lai pārbaudītu pakalpojumu un lietojumprogrammu stāvokli?

sobes.tech AI

Atbilde no AI

Ir daudz biežāk sastopamu sondu veidi:

  • Dzīvības sonda (Liveness): Nosaka, vai lietojumprogramma darbojas. Ja sonda neizdodas, Kubernetes restartēs podu. Izmanto, lai noteiktu iestrēgušus procesus.

    • HTTP Get sondas: nosūta HTTP GET pieprasījumus norādītajā ceļā un portā.
    • TCP socket sondas: pārbauda, vai ir iespējams savienoties ar norādīto portu.
    • Exec sondas: izpilda komandu konteinerī un pārbauda atgriešanas kodu.
  • Gatavības sonda (Readiness): Nosaka, vai pods ir gatavs pieņemt satiksmi. Ja sonda neizdodas, pakalpojums nesūdz satiksmi uz šo podu. Izmanto, lai noteiktu lietojumprogrammas gatavību pēc palaišanas vai atjaunināšanas laikā.

    • Izmanto tās pašas mehānismus kā dzīvības sondas (HTTP Get, TCP socket, Exec).
  • Starta sonda (Startup): Nosaka, vai lietojumprogrammas inicializācija ir pabeigta. Ja sonda ir konfigurēta, Kubernetes nesāks veikt dzīvības un gatavības sondas, kamēr Starta sonda nav veiksmīgi izieta. Noderīga lēni startējošām lietojumprogrammām, lai novērstu priekšlaicīgas pārstartēšanas.

    • Izmanto tās pašas mehānismus kā citas sondas.

Kubernetes konfigurācijas piemērs:

livenessProbe: # Dzīvības pārbaude
  httpGet: # Ar HTTP
    path: /healthz # Ceļš
    port: 8080 # Ports
  initialDelaySeconds: 15 # Aizkave pirms pirmās pārbaudes
  timeoutSeconds: 1 # Atbildes gaidīšanas laiks
readinessProbe: # Gatavības pārbaude
  tcpSocket: # Ar TCP
    port: 8080 # Ports
  initialDelaySeconds: 5 # Aizkave pirms pirmās pārbaudes
  periodSeconds: 10 # Intervāls starp pārbaudēm