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