Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Pi bon pratik Kubernetes. Kreye ti resipyan
Pi bon pratik Kubernetes. Òganizasyon Kubernetes ak espas non

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Sistèm distribiye yo ka difisil pou jere paske yo gen anpil eleman k ap deplase, k ap chanje ke tout bezwen travay byen pou sistèm nan fonksyone. Si youn nan eleman yo echwe, sistèm nan dwe detekte li, kontoune li epi ranje li, epi tout bagay sa yo dwe fè otomatikman. Nan seri Meyè Pratik Kubernetes sa a, nou pral aprann kijan pou etabli tès Preparasyon ak Liveness pou teste sante yon gwoup Kubernetes.

Chèk Sante se yon fason senp pou fè sistèm nan konnen si aplikasyon w lan ap fonksyone oswa ou pa. Si egzanp aplikasyon w lan pa tonbe, lè sa a lòt sèvis pa ta dwe gen aksè a li oswa voye demann ba li. Olye de sa, yo dwe voye demann lan nan yon lòt egzanp aplikasyon an ki deja fonksyone oswa ki pral lanse pita. Anplis de sa, sistèm nan ta dwe retabli fonksyonalite a pèdi nan aplikasyon w lan.

Pa default, Kubernetes pral kòmanse voye trafik nan yon gous lè tout veso ki nan gous yo ap kouri, epi rekòmanse veso yo lè yo aksidan. Konpòtman sistèm default sa a ka bon ase pou kòmanse, men ou ka amelyore fyab nan deplwaman pwodwi ou lè w itilize chèk saniti personnalisé.

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Erezman, Kubernetes fè sa a byen fasil fè, kidonk pa gen okenn eskiz pou inyore chèk sa yo. Kubernetes bay de kalite Chèk Sante, epi li enpòtan pou konprann diferans ki genyen nan fason yo itilize chak.

Tès Preparasyon an fèt pou di Kubernetes aplikasyon w lan pare pou jere trafik. Anvan li pèmèt yon sèvis voye trafik nan yon gous, Kubernetes dwe verifye si chèk preparasyon an reyisi. Si tès Preparasyon an echwe, Kubernetes ap sispann voye trafik nan gous la jiskaske tès la pase.

Tès Liveness la di Kubernetes si aplikasyon w lan vivan oswa mouri. Nan premye ka a, Kubernetes pral kite li pou kont li, nan dezyèm lan li pral efase gous ki mouri a epi ranplase li ak yon nouvo.

Ann imajine yon senaryo kote aplikasyon w lan pran 1 minit pou chofe ak lanse. Sèvis ou a pa pral kòmanse travay jiskaske aplikasyon an konplètman chaje ak kouri, byenke workflow la te deja kòmanse. Ou pral gen pwoblèm tou si ou vle ogmante deplwaman sa a nan plizyè kopi, paske kopi sa yo pa ta dwe resevwa trafik jiskaske yo fin pare nèt. Sepandan, pa default, Kubernetes pral kòmanse voye trafik le pli vit ke pwosesis andedan veso a kòmanse.

Lè w ap itilize tès Preparasyon an, Kubernetes ap tann jiskaske aplikasyon an ap fonksyone nèt anvan li pèmèt sèvis la voye trafik nan nouvo kopi a.

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Ann imajine yon lòt senaryo kote aplikasyon an pandye pou yon tan long, sispann demann sèvis yo. Kòm pwosesis la ap kontinye kouri, pa default Kubernetes pral asime tout bagay anfòm epi kontinye voye demann nan gous la ki pa travay. Men, lè w ap itilize Liveness, Kubernetes pral detekte ke aplikasyon an pa sèvi demann ankò epi li pral rekòmanse gous la mouri pa default.

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Ann gade ki jan preparasyon pou ak viabilite yo teste. Gen twa metòd tès - HTTP, Command ak TCP. Ou ka itilize nenpòt nan yo pou tcheke. Fason ki pi komen pou teste yon itilizatè se yon pwofonde HTTP.

Menm si aplikasyon w lan se pa yon sèvè HTTP, ou ka toujou kreye yon sèvè HTTP ki lejè andedan aplikasyon w lan pou kominike avèk tès Liveness la. Apre sa, Kubernetes pral kòmanse ping gous la, epi si repons HTTP an se nan seri a 200 oswa 300 ms, li pral endike ke gous la an sante. Sinon, modil la pral make kòm "malsen".

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Pou tès kòmand, Kubernetes kouri lòd la andedan veso ou a. Si kòmandman an retounen ak yon kòd sòti zewo, Lè sa a, veso a pral make kòm an sante, otreman, lè li resevwa yon nimewo estati sòti nan 1 a 255, veso a pral make kòm "malad". Metòd tès sa a itil si ou pa kapab oswa ou pa vle kouri yon sèvè HTTP, men ou kapab kouri yon lòd ki pral tcheke sante aplikasyon w lan.

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Mekanis verifikasyon final la se tès TCP. Kubernetes pral eseye etabli yon koneksyon TCP sou pò a espesifye. Si sa ka fè, veso a konsidere kòm an sante; si se pa sa, li konsidere kòm pa viable. Metòd sa a ka itil si w ap itilize yon senaryo kote tès ak yon demann HTTP oswa ekzekisyon lòd pa travay trè byen. Pou egzanp, sèvis prensipal yo pou verifikasyon lè l sèvi avèk TCP ta dwe gRPC oswa FTP.

Pi bon pratik Kubernetes. Validasyon Kubernetes Liveness ak Preparasyon ak Tès Liveness

Tès yo ka configuré nan plizyè fason ak paramèt diferan. Ou ka presize konbyen fwa yo ta dwe egzekite, ki papòt siksè ak echèk yo, ak konbyen tan pou tann repons yo. Pou plis enfòmasyon, gade dokiman pou tès Preparasyon ak Liveness. Sepandan, gen yon pwen trè enpòtan nan mete kanpe tès la Liveness - anviwònman inisyal la nan reta tès la initialDelaySeconds. Kòm mwen mansyone, echèk tès sa a pral lakòz modil la rekòmanse. Se konsa, ou bezwen asire w ke tès la pa kòmanse jiskaske aplikasyon an pare pou ale, otreman li pral kòmanse monte bisiklèt nan rekòmanse. Mwen rekòmande pou itilize tan demaraj P99 la oswa tan demaraj aplikasyon an mwayèn nan tanpon an. Sonje pou ajiste valè sa a pandan tan demaraj aplikasyon w lan ap vin pi vit oswa pi dousman.

Pifò ekspè yo pral konfime ke Chèk Sante yo se yon chèk obligatwa pou nenpòt ki sistèm distribye, ak Kubernetes pa gen okenn eksepsyon. Sèvi ak chèk sante sèvis yo asire operasyon Kubernetes serye, san pwoblèm epi li fasil pou itilizatè yo.

Pou kontinye trè byento...

Kèk piblisite 🙂

Mèsi paske w rete avèk nou. Ou renmen atik nou yo? Vle wè plis kontni enteresan? Sipòte nou pa mete yon lòd oswa rekòmande pou zanmi, nwaj VPS pou devlopè soti nan $ 4.99, yon analogue inik nan sèvè nivo antre, ki te envante pa nou pou ou: Tout verite sou VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps soti nan $ 19 oswa ki jan yo pataje yon sèvè? (disponib ak RAID1 ak RAID10, jiska 24 nwayo ak jiska 40GB DDR4).

Dell R730xd 2 fwa pi bon mache nan sant done Equinix Tier IV nan Amstèdam? Sèlman isit la 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV soti nan $199 nan Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - soti nan $ 99! Li sou Ki jan yo bati enfrastrikti corp. klas ak itilizasyon Dell R730xd E5-2650 v4 serveurs ki vo 9000 ero pou yon jounen travay?

Sous: www.habr.com

Add nouvo kòmantè