{"id":38965,"date":"2019-10-31T22:27:03","date_gmt":"2019-10-31T19:27:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/liveness-probes-v-kubernetes-mogut-byt-opasny\/"},"modified":"2019-10-31T22:27:03","modified_gmt":"2019-10-31T19:27:03","slug":"liveness-probes-v-kubernetes-mogut-byt-opasny","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","title":{"rendered":"Liveness probe'id Kuberneteses v\u00f5ivad olla ohtlikud","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>M\u00e4rk. t\u00f5lge.<\/b>: Zalando peainsener Henning Jacobs on korduvalt m\u00e4rganud, et Kubernetesega kasutajatel on probleeme liveness (ja readiness) probe'ide m\u00f5istmisega ning nende \u00f5ige rakendamisega. Seet\u00f5ttu kogus ta oma m\u00f5tted kokku selles l\u00fchikeses m\u00e4rkuses, mis ajapikku saab K8s dokumentatsiooni osaks.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Liveness probe&#039;id Kuberneteses v\u00f5ivad olla ohtlikud\" src=\"\/wp-content\/uploads\/2019\/10\/b246e18dadd582889382f306508135a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuberneteses tuntud olekusektsioonid <i>liveness probe'id<\/i> <i>(s.t. s\u00f5na-s\u00f5nalt \"eluj\u00f5udlustestid\" \u2014 t\u00f5lkija m\u00e4rkus)<\/i>, v\u00f5ivad olla \u00fcsna ohtlikud. Soovitan neid v\u00f5imalusel v\u00e4ltida; eranditeks on vaid juhtumid, kui need on t\u00f5eliselt vajalikud ning te m\u00f5istate t\u00e4ielikult nende kasutamise spetsiifikat ja tagaj\u00e4rgi. Selles postituses r\u00e4\u00e4gitakse liveness- ja readiness-probe'idest ning ka sellest, millal <i>maksavad<\/i> ja millal mitte neid kasutada.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Minu kolleeg Sandor jagas hiljuti Twitteris k\u00f5ige sagedamini esinevaid vigu, millega ta kokku puutub, sealhulgas readiness\/liveness probe-de kasutamisel:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175377157343907840\"><img decoding=\"async\" alt=\"Liveness probe&#039;id Kuberneteses v\u00f5ivad olla ohtlikud\" src=\"\/wp-content\/uploads\/2019\/10\/8bc2e834e77e2b51baf06d2465a97b4f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Vale seadistamine <code>livenessProbe<\/code> v\u00f5ib keerulisemaks muuta olukordi, kus on k\u00f5rge koormus (laviinilised katkestused + potentsiaalselt pikaajaline konteineri\/rakenduse k\u00e4ivitamine) ja p\u00f5hjustada muid negatiivseid tagaj\u00e4rgi, nagu s\u00f5ltuvuste kokkuvarisemine. <i>(vt ka <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/posts\/k3s-outage-traefik-acme-lets-encrypt-local-path.html\">minu hiljutine artikkel<\/a><\/noindex> p\u00e4ringute arvu piiramise kohta koos K3s+ACME-ga)<\/i>. Veel hullem on see, kui liveness probe on \u00fchiselt seotud s\u00f5ltuvuse tervisekontrolliga, milleks on v\u00e4line andmebaas: <b>\u00fcks andmebaasi rike taask\u00e4ivitab k\u00f5ik teie konteinerid.<\/b>!<\/p>\n<p>\u00dcks peamine punkt <i>\u201e\u00c4rge kasutage liveness probes\u201c<\/i> selles kontekstis aitab v\u00e4he, seega vaatame, milleks on m\u00f5eldud readiness- ja liveness-kontrollid. <\/p>\n<p><i>M\u00e4rkus: suurem osa allpool olevast testist oli algselt lisatud Zalando arendajate sisemisse dokumentatsioonisse.<\/i><\/p>\n<h2>Readiness ja Liveness kontrollid<\/h2>\n<p>\nKubernetes pakub kahte olulist mehhanismi, mida nimetatakse <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness probes ja readiness probes.<\/a><\/noindex>Need teevad perioodiliselt teatud toimingut \u2014 n\u00e4iteks saadavad HTTP-p\u00e4ringu, avavad TCP-\u00fchenduse v\u00f5i t\u00e4idavad konteineris k\u00e4su \u2014 et kinnitada, et rakendus t\u00f6\u00f6tab korralikult.<\/p>\n<p>Kubernetes kasutab <b>readiness probes<\/b>, et m\u00f5ista, millal konteiner on valmis liiklust vastu v\u00f5tma. Pod on valmis, kui k\u00f5ik selle konteinerid on valmis. \u00dcks selle mehhanismi rakendusi on j\u00e4lgida, milliseid pod'e kasutatakse Kubernetes'e teenuste (ja eriti Ingress'i) tagaplaanidena.<\/p>\n<p><b>Eluiga kontrollib<\/b> aitavad Kubernetes\u2019il m\u00f5ista, millal on aeg konteiner taaselustada. N\u00e4iteks selline kontroll aitab kinni pidada deadlock\u2019i, kui rakendus \u201ej\u00e4 \u043c\u043e\u0440\u043e\u0437\u0438\u0442\u0441\u044f\u201d \u00fches kohas. Konteineri taask\u00e4ivitamine sellises olekus aitab rakendust elustada, hoolimata veadest, kuid see v\u00f5ib samuti p\u00f5hjustada kaskaadne t\u00f5rkeid (vt allpool).<\/p>\n<p>Kui proovite juurutada rakenduse v\u00e4rskendust, mis eba\u00f5nnestub eluiga\/valmiduse kontrollides, j\u00e4\u00e4b selle rakendamine seisma, kuna Kubernetes ootab <code>Valmis<\/code> k\u00f5igi pod'ide.<\/p>\n<h2>N\u00e4ide<\/h2>\n<p>\nSiin on n\u00e4ide valmiduse kontrollist, mis kontrollib teed <code>\/health<\/code> HTTP kaudu vaikeseadetega (<i>interval<\/i>: 10 sekundit, <i>ajakava<\/i>: 1 sekund, <i>edukuse kynrakindlus<\/i>: 1, <i>eba\u00f5nnestumise kynrakindlus<\/i>: 3):<\/p>\n<pre><code class=\"plaintext\"># \u0447\u0430\u0441\u0442\u044c \u043e\u0431\u0449\u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f deployment'\u0430\/\u0441\u0442\u0435\u043a\u0430\npodTemplate:\n  spec:\n    containers:\n    - name: my-container\n      # ...\n      readinessProbe:\n        httpGet:\n          path: \/health\n          port: 8080<\/code><\/pre>\n<p><\/p>\n<h2>Soovitused<\/h2>\n<p><\/p>\n<ol>\n<li> HTTP l\u00f5pp-punktidega mikroteenuste jaoks (nt REST) <b>m\u00e4\u00e4rake alati valmiduse kontroll<\/b>, mis kontrollib, kas rakendus (pod) on valmis liiklust vastu v\u00f5tma.<\/li>\n<li> Veenduge, et valmiduse kontroll <b>katab veebiserveri tegeliku sadama valmisolekut<\/b>:\n<ul>\n<li> kasutades haldussorte, nimetatakse neid \"admin\" v\u00f5i \"management\" (n\u00e4iteks 9090), <code>readinessProbe<\/code>, veenduge, et l\u00f5pp-punkt tagastab OK ainult siis, kui p\u00f5hihttp-sadam (nagu 8080) on valmis liiklust vastu v\u00f5tma*;\n<p><i>* Olen teadlik v\u00e4hemalt \u00fchest juhtumist Zalando's, kui seda ei juhtunud, st <code>readinessProbe<\/code> kontrollisin \"management\" sadamat, kuid server ei hakanud t\u00f6\u00f6le, kuna oli probleemidega vahem\u00e4lu laadimisega.<\/i><\/li>\n<li> saab readiness probe'i paigutamine eraldi porti viia olukorrani, kus p\u00f5hiv\u00e4rava \u00fclekoormus ei kajastu tervisekontrollis (st serveri niitide bassein on t\u00e4is, kuid tervisekontroll n\u00e4itab j\u00e4tkuvalt, et k\u00f5ik on korras).<\/li>\n<\/ul>\n<\/li>\n<li> Veenduge, et <b>valmistamiskatse h\u00f5lmab andmebaasi initsialiseerimist\/migratsiooni<\/b>;\n<ul>\n<li> lihtsaim viis selle saavutamiseks on p\u00f6\u00f6rduda HTTP-serveri poole alles p\u00e4rast initsialiseerimise l\u00f5ppu (nt andmebaasi migratsiooniga <noindex><a rel=\"nofollow\" href=\"https:\/\/flywaydb.org\/\">Flyway<\/a><\/noindex> jne; see t\u00e4hendab, et selle asemel, et muuta tervisekontrolli staatust, \u00e4rge lihtsalt k\u00e4ivitage veebiserverit enne, kui andmebaasi migratsioon on l\u00f5ppenud*.\n<p><i>* Samuti on v\u00f5imalik k\u00e4ivitada andmebaasi migratsioone init-konteineritest v\u00e4ljaspool pood\u2019i. Ma olen endiselt iseseisvate (self-contained) rakenduste f\u00e4nn, mis t\u00e4hendab, et rakenduse konteiner teab ilma v\u00e4list koordinatsioonita, kuidas viia andmebaas soovitud olekusse.<\/i><\/li>\n<\/ul>\n<\/li>\n<li> Kasutage <code>httpGet<\/code> valmistatuskontrollide jaoks t\u00fc\u00fcpiliste tervisekontrollide endpoint\u2019ide kaudu (n\u00e4iteks, <code>\/health<\/code>).<\/li>\n<li> <b>Tutvuge vaikeparameetritega.<\/b> (<code>interval: 10s<\/code>, <code>timeout: 1s<\/code>, <code>successThreshold: 1<\/code>, <code>failureThreshold: 3<\/code>):\n<ul>\n<li> vaikeparameetrid t\u00e4hendavad, et pod muutub <i>not-ready<\/i> umbes 30 sekundi p\u00e4rast (3 eba\u00f5nnestunud t\u00f6\u00f6v\u00f5imekuse kontrolli).<\/li>\n<\/ul>\n<\/li>\n<li> Kasutage \u00abadmin\u00bb v\u00f5i \u00abmanagement\u00bb jaoks eraldi porti, kui tehnoloogiline stack (n\u00e4iteks Java\/Spring) seda v\u00f5imaldab, et eraldada \u00abtervishoiu\u00bb ja m\u00f5\u00f5dikute haldamine tavalisest liiklusest:\n<ul>\n<li> aga \u00e4rge unustage punkti 2.<\/li>\n<\/ul>\n<\/li>\n<li> Vajadusel saab readiness probet kasutada k\u00fctmiseks\/vahem\u00e4lu laadimiseks ja tagastada olekukood 503, kuni konteiner on \u00absoojenenud\u00bb:\n<ul>\n<li> soovitan samuti tutvuda uue kontrolliga, <code>startupProbe<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/sysdig.com\/blog\/whats-new-kubernetes-1-16\/\">mis ilmus versioonis 1.16,<\/a><\/noindex> <i>(me oleme sellest kirjutanud vene keeles. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/467477\/\">siit<\/a><\/noindex> \u2014 kt. t\u00f5lge)<\/i>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Hoiatused<\/h2>\n<p><\/p>\n<ol>\n<li> <b>\u00c4rge toetuge v\u00e4listele s\u00f5ltuvustele.<\/b> (n\u00e4iteks andmehoidlad) readiness\/liveness testide l\u00e4biviimisel \u2014 see v\u00f5ib p\u00f5hjustada kaskaadseid t\u00f5rkeid:\n<ul>\n<li> n\u00e4iteks v\u00f5tame stateful-teenuse REST, millel on 10 poodi, mis s\u00f5ltuvad \u00fchest Postgres andmebaasist: kui kontroll s\u00f5ltub toimivast andmebaasi \u00fchendusest, v\u00f5ivad k\u00f5ik 10 poodi kukkuda, kui tekib viivitus v\u00f5rgus\/v\u00f5i andmebaasi poolel \u2014 tavaliselt l\u00f5peb see k\u00f5ik hullemalt, kui v\u00f5iks;<\/li>\n<li> pange t\u00e4hele, et Spring Data kontrollib vaikimisi \u00fchendust andmebaasiga*;\n<p><i>* Sedasi k\u00e4itub vaikimisi Spring Data Redis (v\u00e4hemalt oli see viimasel ajal, kui ma seda kontrollisin), mis viis 'katastroofilise' t\u00f5rkeni: kui Redis oli l\u00fchikest aega k\u00e4ttesaamatu, kukkusid k\u00f5ik pood\u2019id 'maha'.<\/i><\/li>\n<li> \u00abv\u00e4line\u00bb t\u00e4henduses v\u00f5ib see t\u00e4hendada ka teiste pod'ide olemasolu samas rakenduses, seega peaks ideaaljuhul kontroll s\u00f5ltuma mitte teiste pod\u2019ide olekust samas klastris, et v\u00e4ltida kaskaadvigu:\n<ul>\n<li> tulemused v\u00f5ivad varieeruda rakendustes, millel on jaotatud olek (nt m\u00e4lus hoidmine pod'ides).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li> <b>\u00c4rge kasutage liveness probe<\/b> pod'ide jaoks (v\u00e4lja arvatud juhtudel, kui need on t\u00f5eliselt vajalikud ja te olete t\u00e4ielikult teadlikud nende rakendamise erip\u00e4radest ja tagaj\u00e4rgedest):\n<ul>\n<li> liveness probe v\u00f5ib aidata taastada \"hangunud\" konteinerit, kuid kuna teil on t\u00e4ielik kontroll oma rakenduse \u00fcle, ei tohiks sellised asjad nagu \"hangunud\" protsessid ja deadlock'id ideaalis juhtuda: parem alternatiiv on rakenduse tahtlik kukkumine ja selle tagasiviimine eelnevalt stabiilsesse olekusse;<\/li>\n<li> eba\u00f5nnestunud liveness probe p\u00f5hjustab konteineri taask\u00e4ivitamist, mis v\u00f5ib potentsiaalselt s\u00fcvendada laadimisvigade tagaj\u00e4rgi: konteineri taask\u00e4ivitamine toob kaasa seisaku (v\u00e4hemalt rakenduse k\u00e4ivitamise ajaks, \u00fctleme, \u00fcle 30 sekundi), tekitades uusi vigu ja suurendades teiste konteinerite koormust ning suurendades t\u00f5rkeid jne;<\/li>\n<li> liveness-kontrollid koos v\u00e4lise s\u00f5ltuvusega on halvim v\u00f5imalik kombinatsioon, mis \u00e4hvardab kaskaadi eba\u00f5nnestumistega: isegi v\u00e4ike viivitus andmebaasi poolel toob kaasa k\u00f5igi teie konteinerite taask\u00e4ivitamise!<\/li>\n<\/ul>\n<\/li>\n<li> liveness- ja readiness-kontrollide parameetrid <b>peavad olema erinevad<\/b>:\n<ul>\n<li> liveness probet saab kasutada sama health check'iga, kuid k\u00f5rgema aktiveerimisk\u00fcnnisega (<code>failureThreshold<\/code>), n\u00e4iteks m\u00e4\u00e4rata olek <i>not-ready<\/i> p\u00e4rast 3 katset ja pidada liveness-proovi eba\u00f5nnestunuks p\u00e4rast 10 katset;<\/li>\n<\/ul>\n<\/li>\n<li> <b>\u00c4rge kasutage exec-kontrolle<\/b>, kuna nendega on seotud tuntud probleemid, mis v\u00f5ivad viia zombiprotsesside tekkimiseni:\n<ul>\n<li> t\u00e4iendavaid \u00fcksikasju: vt. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=QKI-JRs2RIE\">Datadogi spetsialistide ettekanne<\/a><\/noindex>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p><\/p>\n<ul>\n<li> Kasutage readiness probe, et m\u00e4\u00e4rata, millal pod on valmis liiklust vastu v\u00f5tma.<\/li>\n<li> Kasutage liveness probe ainult siis, kui need on t\u00f5eliselt vajalikud.<\/li>\n<li> Vale readiness\/liveness proovi kasutamine v\u00f5ib viia k\u00e4ttesaadavuse languseni ja kaskaadsetesse t\u00f5rgetesse.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175655221382529025\"><img decoding=\"async\" alt=\"Liveness probe&#039;id Kuberneteses v\u00f5ivad olla ohtlikud\" src=\"\/wp-content\/uploads\/2019\/10\/8c212c41d6e69cd515a85d2b6100aaed.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Lisatud materjalid teema kohta<\/h2>\n<p><\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">Kubernetesi dokumendid: Konfigureeri Liveness ja Readiness Probes<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.colinbreck.com\/kubernetes-liveness-and-readiness-probes-revisited-how-to-avoid-shooting-yourself-in-the-other-foot\/\">Kubernetes Liveness ja Readiness Probes Uuesti Vaadatud: Kuidas V\u00e4ltida Endale Teise Jalaga Tulistamist<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/keepingitclassless.net\/2018\/12\/december-4-nre-labs-outage-post-mortem\/\">NRE Labs Peatumise J\u00e4reldus<\/a><\/noindex> (k\u00e4tkeb ka livenessProbi).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Uuendus nr 1, 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/BarrWill1\/status\/1178144162526453760\">Init-konteineritest andmebaasi migratsiooniks<\/a><\/noindex>: lisatud jalus.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/ejc3\/status\/1178077779293683713\">EJ meenutas mulle<\/a><\/noindex> PDB-st: \u00fcks liveness kontrollide puudusi on pod'ide vahelise koordinatsiooni puudumine. Kubernetesel on <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/configure-pdb\/\">Pod Disruption Budgets (PDB)<\/a><\/noindex> rakenduse samal ajal toimuvaid paralleelseid rikkeid piirates, kuid kontrollid ei arvestata PDB-ga. Ideaalis v\u00f5iksime K8s-ile \u00f6elda: \u201eTaask\u00e4ivita \u00fcks pod, kui selle kontroll eba\u00f5nnestub, kuid \u00e4ra taask\u00e4ivita neid k\u00f5iki, et mitte veelgi halvemaks teha.\u201d<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178083887991398400\">Bryan s\u00f5nastas selle suurep\u00e4raselt<\/a><\/noindex>: \u201eKasutage elavuse uuringut, kui te teate t\u00e4pselt, et <b>parim asi, mida teha, on \u201etapmine\u201d rakendus<\/b>\u201c (taaskord, selles ei tasu \u00fcle pingutada).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178207929540972544\"><img decoding=\"async\" alt=\"Liveness probe&#039;id Kuberneteses v\u00f5ivad olla ohtlikud\" src=\"\/wp-content\/uploads\/2019\/10\/524122a63bd4acd950bf9fc8aeeb45be.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Uuendus nr 2 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Guillaume_Swiss\/status\/1178258781152563200\">Mis puudutab dokumentatsiooni lugemist enne kasutamist<\/a><\/noindex>: olen loonud vastava p\u00e4ringu (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/website\/issues\/16607\">feature request<\/a><\/noindex>) dokumentatsiooni t\u00e4iendamiseks elavuse uurimise osas.<\/p>\n<h2>P.S. t\u00f5lkija m\u00e4rkused<\/h2>\n<p>\nLugege ka meie blogist:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415393\/\">Kubernetes: podi elu<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">7 parimat konteinerite haldamise praktikat Google'i versioonis<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353272\/\">7 p\u00f5him\u00f5tet konteinerip\u00f5histe rakenduste projekteerimiseks<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/470958\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0435\u043c\u0443 \u043e\u043d \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0432\u043e\u0438 \u043c\u044b\u0441\u043b\u0438 \u0432 \u044d\u0442\u0443 \u0451\u043c\u043a\u0443\u044e \u0437\u0430\u043c\u0435\u0442\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u0435\u0442 \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 K8s. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0432 Kubernetes \u043a\u0430\u043a liveness probes (\u0442.\u0435., \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38965","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0435\u043c\u0443 \u043e\u043d \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0432\u043e\u0438 \u043c\u044b\u0441\u043b\u0438 \u0432 \u044d\u0442\u0443 \u0451\u043c\u043a\u0443\u044e \u0437\u0430\u043c\u0435\u0442\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u0435\u0442 \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 K8s. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0432 Kubernetes \u043a\u0430\u043a liveness probes (\u0442.\u0435., \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Liveness probes \u0432 Kubernetes \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0430\u0441\u043d\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0435\u043c\u0443 \u043e\u043d \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0432\u043e\u0438 \u043c\u044b\u0441\u043b\u0438 \u0432 \u044d\u0442\u0443 \u0451\u043c\u043a\u0443\u044e \u0437\u0430\u043c\u0435\u0442\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u0435\u0442 \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 K8s. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0432 Kubernetes \u043a\u0430\u043a liveness probes (\u0442.\u0435., \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:27:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Elavuse uuringud Kuberneteses v\u00f5ivad olla ohtlikud | ProHoster","description":"M\u00e4rkus t\u00f5lkeks: Zalando juhtiv insener \u2014 Henning Jacobs \u2014 on korduvalt t\u00e4heldanud Kubernetes'i kasutajate raskusi elavuse (ja valmisoleku) uurimiste sihtotstarbe ja nende \u00f5ige rakendamise m\u00f5istmisel. Seet\u00f5ttu kogus ta oma m\u00f5tted sellesse l\u00fchikesse m\u00e4rkusesse, mis aja jooksul saab K8s dokumentatsiooni osaks. Oleku kontrollid, mida Kubernetes'is tuntakse elavuse uurimistena (st, t\u00f5lkes,","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Liveness probes \u0432 Kubernetes \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0430\u0441\u043d\u044b | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0435\u043c\u0443 \u043e\u043d \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0432\u043e\u0438 \u043c\u044b\u0441\u043b\u0438 \u0432 \u044d\u0442\u0443 \u0451\u043c\u043a\u0443\u044e \u0437\u0430\u043c\u0435\u0442\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u0435\u0442 \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 K8s. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0432 Kubernetes \u043a\u0430\u043a liveness probes (\u0442.\u0435., \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e,","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:27:03+00:00","article:modified_time":"2019-10-31T19:27:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38965","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 00:10:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:59:27","updated":"2026-01-24 00:10:22"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=38965"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/29232"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=38965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=38965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=38965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}