Middle
Kam naudojamos bandymai Kubernetes?
sobes.tech AI
Atsakymas iš AI
Kubernetes naudojamos bandymai nustatyti konteinerių būseną ir valdyti podų gyvavimo ciklą. Jie leidžia klasteriui automatiškai reaguoti į programų būsenos pokyčius, užtikrindami jų prieinamumą ir stabilumą.
Yra trys pagrindiniai bandymų tipai:
- Liveness probe (Gyvybingumo patikra): Nustato, ar programa veikia konteineryje. Jei gyvybingumo patikra baigiasi klaida, Kubernetes perkrauna konteinerį.
- Readiness probe (Pasirengimo patikra): Nustato, ar konteineris yra pasirengęs priimti srautą. Jei pasirengimo patikra baigiasi klaida, Kubernetes laikinai pašalina podą iš prieinamų galinių taškų sąrašo, skirtą paslaugai, kuri nukreipia srautą į jį.
- Startup probe (Paleidimo patikra): Nustato, ar programos paleidimas baigėsi. Gali būti naudojama ilgai inicializacijai reikalingoms programoms. Jei paleidimo patikra sėkminga, tolesni patikrinimai (gyvybingumas/pasirengimas) pradedami pagal grafiką. Jei paleidimo patikra nepavyksta nustatytu laiku, Kubernetes sunaikina ir perkrauna konteinerį.
Bandymai gali būti įgyvendinti įvairiais būdais:
- ExecAction: Vykdo komandą konteineryje. Sėkmė nustatoma pagal grąžinimo kodą (0 - sėkmė, kitoks - klaida).
# ExecAction pavyzdys gyvybingumo patikrai livenessProbe: exec: command: - cat - /tmp/healthy initialDelaySeconds: 5 periodSeconds: 5 - HTTPGetAction: Siunčia HTTP GET užklausą nurodytam prievadui ir keliui konteineryje. Sėkmė nustatoma pagal HTTP būsenos kodą (paprastai 2xx arba 3xx).
# HTTPGetAction pavyzdys pasirengimo patikrai readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 3 - TCPSocketAction: Bando užmegzti ryšį TCP lizdu per nurodytą prievadą konteineryje. Sėkmė nustatoma pagal sėkmingai užmegztą ryšį.
# TCPSocketAction pavyzdys gyvybingumo patikrai livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 15 periodSeconds: 20
Tinkamas bandymų naudojimas yra kritiškai svarbus programų patikimumui ir atsparumui Kubernetes aplinkoje.