{"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\/sl\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","title":{"rendered":"Liveness probe v Kubernetesu so lahko nevarne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Op. prev.<\/b>: Glavni in\u017eenjer iz kompanije Zalando \u2014 Henning Jacobs \u2014 je vi\u0161e puta primetio probleme korisnika Kubernetes-a u razumevanju svrhe liveness (i readiness) probes i njihove pravilne primene. Zbog toga je sakupio svoje misli u ovu kratku bele\u0161ku, koja \u0107e s vremenom postati deo dokumentacije K8s.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Liveness probe v Kubernetesu so lahko nevarne\" src=\"\/wp-content\/uploads\/2019\/10\/b246e18dadd582889382f306508135a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProvere stanja, poznate u Kubernetes-u kao <i>liveness probes<\/i> <i>(tj., doslovno, \u201etestovi na \u017eivotnost\u201c \u2014 napomena prev.)<\/i>, mogu biti veoma opasne. Preporu\u010dujem da ih po mogu\u0107stvu izbegavate: izuzeci su samo slu\u010dajevi kada su stvarno potrebni i kada ste potpuno svesni specifi\u010dnosti i posledica njihove upotrebe. U ovoj objavi bi\u0107e re\u010di o liveness i readiness proverama, kao i o situacijama u kojima <i>bi trebalo<\/i> i ne bi trebalo da ih primenjujete.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>\u041c\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u0433\u0430 Sandor \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u0432 Twitter&#8217;\u0435 \u0441\u0430\u043c\u044b\u043c\u0438 \u0447\u0430\u0441\u0442\u044b\u043c\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u043c\u0443 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c readiness\/liveness probes:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175377157343907840\"><img decoding=\"async\" alt=\"Liveness probe v Kubernetesu so lahko nevarne\" src=\"\/wp-content\/uploads\/2019\/10\/8bc2e834e77e2b51baf06d2465a97b4f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Pogre\u0161no pode\u0161ena <code>livenessProbe<\/code> mo\u017ee pogor\u0161ati situacije sa visokom optere\u0107eno\u0161\u0107u (lavinasto isklju\u010divanje + potencijalno dug po\u010detak kontejnera\/aplikacije) i dovesti do drugih negativnih posledica poput pada zavisnosti <i>(vidi tako\u0111e <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/posts\/k3s-outage-traefik-acme-lets-encrypt-local-path.html\">moju nedavnu temu<\/a><\/noindex> o ograni\u010davanju broja zahteva u kombinaciji K3s+ACME)<\/i>. \u0415\u0449\u0435 \u0445\u0443\u0436\u0435, \u043a\u043e\u0433\u0434\u0430 liveness probe \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (health check&#8217;\u043e\u043c), \u0432 \u0440\u043e\u043b\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445: <b>jedan jedini kvar Baze podataka resetova\u0107e sve va\u0161e kontejneri<\/b>!<\/p>\n<p>Op\u0161ti savet <i>\u201eNe koristite liveness probes\u201c<\/i> u ovom slu\u010daju ne poma\u017ee mnogo, pa hajde da razmotrimo za \u0161ta su intended readiness i liveness provere. <\/p>\n<p><i>Napomena: ve\u0107i deo u nastavku testiran je prvobitno uklju\u010den u internu dokumentaciju za programere Zalando.<\/i><\/p>\n<h2>Provere Readiness i Liveness<\/h2>\n<p>\nKubernetes pru\u017ea dva va\u017ena mehanizma, nazivaju se <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness probes i readiness probes<\/a><\/noindex>. Oni povremeno izvr\u0161avaju neku radnju \u2014 na primer, \u0161alju HTTP zahtev, otvaraju TCP vezu ili izvr\u0161avaju komandu unutar kontejnera \u2014 kako bi potvrdili da aplikacija ispravno radi.<\/p>\n<p>Kubernetes uporablja <b>readiness probes<\/b>, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0433\u043e\u0442\u043e\u0432 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a. Pod \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u043a \u0440\u0430\u0431\u043e\u0442\u0435, \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0433\u043e\u0442\u043e\u0432\u044b. \u041e\u0434\u043d\u043e \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 pod&#8217;\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Kubernetes (\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e Ingress&#8217;\u0430).<\/p>\n<p><b>Preverjanje \u017eivljenja<\/b> pomaga Kubernetesu razumeti, kdaj je \u010das, da znova za\u017eene kontejner. Na primer, tak\u0161na preverjanja lahko prestre\u017eejo mrtvo to\u010dko, ko aplikacija 'obti\u010di' na enem mestu. Ponovni zagon kontejnerja v takem stanju pomaga premakniti aplikacijo z mrtve to\u010dke, kljub napakam, hkrati pa lahko privede do kaskadnih okvar (glej spodaj).<\/p>\n<p>\u010ce posku\u0161ate izvesti posodobitev aplikacije, ki ne uspe pri preverjanju \u017eivljenja\/za\u010detne pripravljenosti, se bo njeno odvajanje ustavilo, saj bo Kubernetes \u010dakal na stanje <code>Ready<\/code> \u043e\u0442 \u0432\u0441\u0435\u0445 pod&#8217;\u043e\u0432.<\/p>\n<h2>Primer<\/h2>\n<p>\nTukaj je primer preverjanja pripravljenosti, ki preverja pot <code>\/health<\/code> prek HTTP z privzetimi nastavitvami (<i>interval<\/i>: 10 sekund, <i>\u010dasovni izostanek<\/i>: 1 sekunda, <i>prag uspeha<\/i>: 1, <i>prag neuspeha<\/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>Priporo\u010dila<\/h2>\n<p><\/p>\n<ol>\n<li> \u0414\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0441 HTTP endpoint&#8217;\u043e\u043c (REST \u0438 \u0442.\u043f.) <b>vedno dolo\u010dite preverjanje pripravljenosti<\/b>, ki preverja, ali je aplikacija (pod) pripravljena sprejemati promet.<\/li>\n<li> Preverite, da preverjanje pripravljenosti <b>pokrije pripravljenost dejanskega porta spletnega stre\u017enika<\/b>:\n<ul>\n<li> z uporabo portov za upravne namene, ki se imenujejo 'admin' ali 'management' (na primer 9090), za <code>preverjanjePripravljenosti<\/code>, poskrbite, da kon\u010dna to\u010dka vrne OK le, \u010de je glavni HTTP port (kot 8080) pripravljen sprejemati promet*;\n<p><i>* Zavedam se vsaj enega primera v Zalando, kjer tega ni bilo, namre\u010d <code>preverjanjePripravljenosti<\/code> je preverila port 'management', vendar sam stre\u017enik ni za\u010del z delom zaradi te\u017eav z nalaganjem predpomnilnika.<\/i><\/li>\n<li> \u043d\u0430\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435 readiness probe \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 health check&#8217;\u0435 (\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0443\u043b \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d, \u043e\u0434\u043d\u0430\u043a\u043e health check \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u0441\u0435 \u041e\u041a).<\/li>\n<\/ul>\n<\/li>\n<li> Uverite se da <b>preverjanje pripravljenosti vklju\u010duje inicializacijo\/migracijo baze podatkov<\/b>;\n<ul>\n<li> najla\u017eji na\u010din, da to dose\u017eete, je, da se obrnite na HTTP stre\u017enik \u0161ele po kon\u010dani inicializaciji (na primer, migraciji BDP z <noindex><a rel=\"nofollow\" href=\"https:\/\/flywaydb.org\/\">Flyway<\/a><\/noindex> \u0438 \u0442.\u043f.); \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 health check&#8217;\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0439\u0442\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0411\u0414*.\n<p><i>* \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0411\u0414 \u0438\u0437 init-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 pod&#8217;\u0430. \u042f \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u043f\u043e\u043a\u043b\u043e\u043d\u043d\u0438\u043a\u043e\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0445 (self-contained) \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0446\u0438\u0438 \u0437\u043d\u0430\u0435\u0442, \u043a\u0430\u043a \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0411\u0414 \u0432 \u043d\u0443\u0436\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435.<\/i><\/li>\n<\/ul>\n<\/li>\n<li> Iskoristite <code>httpGet<\/code> \u0434\u043b\u044f readiness-\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u0447\u0435\u0440\u0435\u0437 \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0435 endpoint&#8217;\u044b health check&#8217;\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>\/health<\/code>).<\/li>\n<li> <b>Spoznajte privzete nastavitve preverjanj<\/b> (<code>interval: 10s<\/code>, <code>timeout: 1s<\/code>, <code>successThreshold: 1<\/code>, <code>failureThreshold: 3<\/code>):\n<ul>\n<li> privzete nastavitve pomenijo, da bo pod <i>not-ready<\/i> pribli\u017eno po 30 sekundah (3 neuspe\u0161na preverjanja delovanja).<\/li>\n<\/ul>\n<\/li>\n<li> Za 'admin' ali 'management' uporabite lo\u010deno vrata, \u010de tehnologija (na primer, Java\/Spring) to omogo\u010da, da lo\u010dite upravljanje 'zdravja' in metrik od obi\u010dajnega prometa:\n<ul>\n<li> ampak ne pozabite na to\u010dko 2.<\/li>\n<\/ul>\n<\/li>\n<li> Po potrebi se lahko readiness probe uporablja za ogrevanje\/nalaganje predpomnilnika in vra\u010da stanje 503, dokler se kontejner 'ne ogreje':\n<ul>\n<li> priporo\u010dam tudi, da se seznanite z novim preverjanjem <code>startupProbe<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/sysdig.com\/blog\/whats-new-kubernetes-1-16\/\">ki se je pojavilo v razli\u010dici 1.16<\/a><\/noindex> <i>(o tem smo pisali v sloven\u0161\u010dini <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/467477\/\">ovde<\/a><\/noindex> \u2014 op. prev.)<\/i>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Opozorila<\/h2>\n<p><\/p>\n<ol>\n<li> <b>Ne zana\u0161ajte se na zunanje odvisnosti<\/b> (kot so podatkovni skladi) pri izvedbi testov na readiness\/liveness \u2014 to lahko povzro\u010di kaskadne okvare:\n<ul>\n<li> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u044c\u043c\u0435\u043c stateful-\u0441\u0435\u0440\u0432\u0438\u0441 REST \u0441 10-\u044e pod&#8217;\u0430\u043c\u0438, \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u043c\u0438 \u043e\u0442 \u043e\u0434\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Postgres: \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0411\u0414, \u0432\u0441\u0435 10 pod&#8217;\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u0443\u043f\u0430\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 \u0441\u0435\u0442\u0438\/\u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0411\u0414 \u2014 \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u043c\u043e\u0433\u043b\u043e \u0431\u044b;<\/li>\n<li> uporabite, da Spring Data privzeto preverja povezavo z DB*;\n<p><i>* \u0422\u0430\u043a\u043e\u0432\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Spring Data Redis (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u043e\u043d\u043e \u0431\u044b\u043b\u043e \u0442\u0430\u043a\u0438\u043c, \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437), \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u00ab\u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443\u00bb \u0441\u0431\u043e\u044e: \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f Redis \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, \u0432\u0441\u0435 pod&#8217;\u044b \u00ab\u0443\u043f\u0430\u043b\u0438\u00bb.<\/i><\/li>\n<li> \u00ab\u0432\u043d\u0435\u0448\u043d\u0438\u0439\u00bb \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 pod&#8217;\u044b \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 pod&#8217;\u043e\u0432 \u0442\u043e\u0433\u043e \u0436\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a\u0430\u0441\u043a\u0430\u0434\u043d\u044b\u0445 \u043f\u0430\u0434\u0435\u043d\u0438\u0439:\n<ul>\n<li> \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u0440\u044c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, in-memory-\u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 pod&#8217;\u0430\u0445).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li> <b>Ne uporabljajte liveness probe<\/b> \u0434\u043b\u044f pod&#8217;\u043e\u0432 (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0438 \u0432\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0441\u043e\u0437\u043d\u0430\u0435\u0442\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0443 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f):\n<ul>\n<li> liveness probe \u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u00ab\u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0445\u00bb \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u044b \u0438\u043c\u0435\u0435\u0442\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0441\u0432\u043e\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c, \u0442\u0430\u043a\u0438\u0445 \u0432\u0435\u0449\u0435\u0439, \u043a\u0430\u043a \u00ab\u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0435\u00bb \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0438 deadlock&#8217;\u0438, \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0442\u044c\u0441\u044f: \u043b\u0443\u0447\u0448\u0435\u0439 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043e\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0435\u0433\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e;<\/li>\n<li> neuspela liveness probe bo povzro\u010dila ponovni zagon kontejnerja, kar lahko potencialno poslab\u0161a posledice napak, povezanih z nalaganjem: ponovni zagon kontejnerja bo povzro\u010dil zastoje (vsaj za \u010das zagon aplikacije, recimo, ve\u010d kot 30 sekund), kar bo povzro\u010dilo nove napake, pove\u010dalo obremenitev drugih kontejnerjev in pove\u010dalo verjetnost njihovega sesutja itd.;<\/li>\n<li> liveness preizkusi skupaj z zunanjimi odvisnostmi so najslab\u0161a mo\u017ena kombinacija, ki ogro\u017ea kaskadne napake: manj\u0161a zamuda na strani baze podatkov bo povzro\u010dila ponovni zagon vseh va\u0161ih kontejnerjev!<\/li>\n<\/ul>\n<\/li>\n<li> Parametri liveness in readiness preizkusov <b>morajo biti razli\u010dni<\/b>:\n<ul>\n<li> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c liveness probe \u0441 \u0442\u0435\u043c \u0436\u0435 health check&#8217;\u043e\u043c, \u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u043f\u043e\u0440\u043e\u0433\u043e\u043c \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f (<code>failureThreshold<\/code>), na primer, dodelite status <i>not-ready<\/i> po 3 poskusih in \u0161tejete, da je liveness probe spodletel po 10 poskusih;<\/li>\n<\/ul>\n<\/li>\n<li> <b>Ne uporabljajte exec preizkusov<\/b>, saj so povezane znane te\u017eave, ki vodijo do pojava zombijev procesov:\n<ul>\n<li> podrobnosti: glej <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=QKI-JRs2RIE\">nastop strokovnjakov podjetja Datadog<\/a><\/noindex>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>\u0420\u0435\u0437\u044e\u043c\u0435<\/h2>\n<p><\/p>\n<ul>\n<li> Uporabite readiness probes, da dolo\u010dite, kdaj je pod pripravljen za sprejem prometa.<\/li>\n<li> Uporabite liveness probes le, kadar so res potrebni.<\/li>\n<li> Nekoristna uporaba readiness\/liveness probes lahko privede do zmanj\u0161ane dostopnosti in kaskadnih napak.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175655221382529025\"><img decoding=\"async\" alt=\"Liveness probe v Kubernetesu so lahko nevarne\" src=\"\/wp-content\/uploads\/2019\/10\/8c212c41d6e69cd515a85d2b6100aaed.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Dodatni materiali na to temo<\/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\/\">Kubernetes dokumentacija: Konfigurirajte Liveness in Readiness Preizkuse<\/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 in Readiness Preizkusi Ponovno Opravljeni: Kako se Izogniti Lastnim Napakam<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/keepingitclassless.net\/2018\/12\/december-4-nre-labs-outage-post-mortem\/\">NRE Labs Odhod Post-Mortem<\/a><\/noindex> (govori tudi o livenessProbe).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Posodobitev \u21161 z dne 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/BarrWill1\/status\/1178144162526453760\">O init-kontejnerjih za migracijo baze podatkov<\/a><\/noindex>: dodana opomba.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/ejc3\/status\/1178077779293683713\">EJ me je spomnil<\/a><\/noindex> \u043e PDB: \u043e\u0434\u043d\u0430 \u0438\u0437 \u0431\u0435\u0434 liveness-\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u2014 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 pod&#8217;\u0430\u043c\u0438. \u0412 Kubernetes \u0435\u0441\u0442\u044c <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/configure-pdb\/\">Pod Disruption Budgets (PDB)<\/a><\/noindex> za omejevanje \u0161tevila hkratnih napak, ki jih lahko do\u017eivi aplikacija, vendar preizkusi ne upo\u0161tevajo PDB. V idealnem primeru lahko povemo K8s: \u00bbPonovno za\u017eeni en pod, \u010de njegov preizkus ne uspe, vendar ne ponovno za\u017eeni vseh, da ne bi poslab\u0161al situacije\u00ab.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178083887991398400\">Bryan je to odli\u010dno formuliral<\/a><\/noindex>: \u201eUporabite liveness sondiranje, ko to\u010dno veste, da <b>je najbolj\u0161a izbira \u201eubiti\u201c aplikacijo<\/b>\u201c (spet, ne pretiravajte).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178207929540972544\"><img decoding=\"async\" alt=\"Liveness probe v Kubernetesu so lahko nevarne\" src=\"\/wp-content\/uploads\/2019\/10\/524122a63bd4acd950bf9fc8aeeb45be.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Posodobitev \u0161t. 2 z dne 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Guillaume_Swiss\/status\/1178258781152563200\">Kar se ti\u010de branja dokumentacije pred uporabo<\/a><\/noindex>: sem ustvaril ustrezen zahtevek (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/website\/issues\/16607\">zahteva za funkcijo<\/a><\/noindex>) za dopolnitev dokumentacije o liveness sondah.<\/p>\n<h2>P.S. od prevajalca<\/h2>\n<p>\nPreberite tudi na na\u0161em blogu:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415393\/\">Kubernetes: \u017eivljenje poda<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">7 najbolj\u0161ih praks za upravljanje kontejnerjev po mnenju Googla<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353272\/\">7 na\u010del oblikovanja aplikacij, temelje\u010dih na kontejnerjih<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Izvor: <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 5.0.4 - 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.\" \/>\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\/sl\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/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\udd47Liveness sondiranje v Kubernetesu je lahko nevarno | ProHoster","description":"Op. prev.: Glavni in\u017eenir podjetja Zalando \u2014 Henning Jacobs \u2014 je ve\u010dkrat opazil te\u017eave uporabnikov Kubernetes pri razumevanju namena liveness (in readiness) sond ter njihove pravilne uporabe.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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.","og:url":"https:\/\/prohoster.info\/sl\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/38965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=38965"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/38965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/29232"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=38965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=38965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=38965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}