{"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\/sq\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","title":{"rendered":"Liveness probes n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Sh\u00ebn. p\u00ebrkth.<\/b>: Inxhinier i lart\u00eb nga kompania Zalando \u2014 Henning Jacobs \u2014 ka v\u00ebn\u00eb re disa her\u00eb probleme me p\u00ebrdoruesit e Kubernetes n\u00eb kuptimin e q\u00ebllimit t\u00eb liveness (dhe readiness) probes dhe aplikimit t\u00eb tyre t\u00eb sakt\u00eb. Prandaj, ai ka mbledhur mendimet e tij n\u00eb k\u00ebt\u00eb sh\u00ebnim t\u00eb shpejt\u00eb, i cili me kalimin e koh\u00ebs do t\u00eb b\u00ebhet pjes\u00eb e dokumentacionit K8s.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Liveness probes n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme.\" src=\"\/wp-content\/uploads\/2019\/10\/b246e18dadd582889382f306508135a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKontrollimet e gjendjes, t\u00eb njohura n\u00eb Kubernetes si <i>liveness probes<\/i> <i>(t\u00eb cilat dometh\u00ebn\u00eb, 'testet e jetshm\u00ebris\u00eb' \u2014 sh\u00ebn. p\u00ebrkth.)<\/i>, mund t\u00eb jen\u00eb mjaft t\u00eb rrezikshme. Rekomandoj t\u00eb shmangni ato sa t\u00eb jet\u00eb e mundur; p\u00ebrjashtimet jan\u00eb vet\u00ebm rastet kur ato jan\u00eb v\u00ebrtet t\u00eb nevojshme dhe ju e kuptoni plot\u00ebsisht specifik\u00ebn dhe pasojat e p\u00ebrdorimit t\u00eb tyre. N\u00eb k\u00ebt\u00eb publikim, do t\u00eb flasim p\u00ebr liveness- dhe readiness-probes, si dhe do t\u00eb diskutojm\u00eb se n\u00eb cilat raste <i>ndodhet<\/i> dhe nuk duhet t'i aplikoni.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Kolegu im Sandor s\u00eb fundmi ndau n\u00eb Twitter gabimet m\u00eb t\u00eb zakonshme q\u00eb has, p\u00ebrfshir\u00eb ato q\u00eb lidhen me p\u00ebrdorimin e probes readiness\/liveness:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175377157343907840\"><img decoding=\"async\" alt=\"Liveness probes n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme.\" src=\"\/wp-content\/uploads\/2019\/10\/8bc2e834e77e2b51baf06d2465a97b4f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>E keq\u00ebkonfiguruar <code>livenessProbe<\/code> mund t\u00eb p\u00ebrkeq\u00ebsoj\u00eb situatat me ngarkes\u00eb t\u00eb lart\u00eb (\u00e7lirimi n\u00eb batic\u00eb + potencialisht nisje e gjat\u00eb e kontejnerit\/aplikacionit) dhe t\u00eb sjell\u00eb pasojat e tjera negative si\u00e7 jan\u00eb r\u00ebniet e var\u00ebsive <i>(shih gjithashtu <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/posts\/k3s-outage-traefik-acme-lets-encrypt-local-path.html\">artikulli im i fundit<\/a><\/noindex> n\u00eb lidhje me kufizimin e numrit t\u00eb k\u00ebrkesave n\u00eb kombinimin K3s+ACME)<\/i>. Akoma m\u00eb keq, kur liveness probe i kombinohet me kontrollet sh\u00ebndet\u00ebsore t\u00eb var\u00ebsis\u00eb (health check), t\u00eb cilin e kryen nj\u00eb baz\u00eb t\u00eb dh\u00ebnash e jashtme: <b>nj\u00eb d\u00ebshtim i vet\u00ebm i DB do t\u00eb ri-nis\u00eb t\u00eb gjith\u00eb kontejner\u00ebt tuaj.<\/b>!<\/p>\n<p>Mesazhi i p\u00ebrgjithsh\u00ebm <i>\"Mos p\u00ebrdorni liveness probes\"<\/i> n\u00eb k\u00ebt\u00eb rast ndihmon pak, prandaj le t\u00eb shqyrtojm\u00eb se p\u00ebr \u00e7far\u00eb jan\u00eb krijuar kontrollet e readiness- dhe liveness. <\/p>\n<p><i>Sh\u00ebnim: pjesa m\u00eb e madhe e provimit t\u00eb m\u00ebposht\u00ebm fillimisht ishte p\u00ebrfshir\u00eb n\u00eb dokumentacionin e brendsh\u00ebm p\u00ebr zhvilluesit e Zalando.<\/i><\/p>\n<h2>Kontrollimet Readiness dhe Liveness<\/h2>\n<p>\nKubernetes ofron dy mekanizma t\u00eb r\u00ebnd\u00ebsish\u00ebm, t\u00eb quajtur <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness probes dhe readiness probes.<\/a><\/noindex>Ato kryejn\u00eb periodikisht nj\u00eb veprim \u2014 p\u00ebr shembull, d\u00ebrgojn\u00eb nj\u00eb k\u00ebrkes\u00eb HTTP, hapin nj\u00eb lidhje TCP ose ekzekutojn\u00eb nj\u00eb komand\u00eb n\u00eb kontejner \u2014 p\u00ebr t\u00eb konfirmuar q\u00eb aplikacioni po punon si\u00e7 duhet.<\/p>\n<p>Kubernetes p\u00ebrdor <b>readiness probes.<\/b>, p\u00ebr t\u00eb kuptuar kur kontejneri \u00ebsht\u00eb gati p\u00ebr t\u00eb pranuar trafik. Pod-i konsiderohet i gatsh\u00ebm p\u00ebr pun\u00eb kur t\u00eb gjitha kontejner\u00ebt e tij jan\u00eb t\u00eb gatsh\u00ebm. Nj\u00eb nga aplikimet e k\u00ebtij mekanizmi \u00ebsht\u00eb t\u00eb monitoroj\u00eb se cilat pod p\u00ebrdoren si backend p\u00ebr sh\u00ebrbimet Kubernetes (dhe ve\u00e7an\u00ebrisht p\u00ebr Ingress).<\/p>\n<p><b>Probat e gjall\u00ebris\u00eb<\/b> ndihmojn\u00eb Kubernetes t\u00eb kuptoj\u00eb kur \u00ebsht\u00eb koha p\u00ebr t\u00eb rinisur kontejnerin. P\u00ebr shembull, nj\u00eb prov\u00eb e till\u00eb ndihmon p\u00ebr t\u00eb ndalur deadlock-un, kur aplikacioni \"ngat\u00ebrron\" n\u00eb nj\u00eb vend. Rinisi i kontejnerit n\u00eb k\u00ebt\u00eb gjendje ndihmon p\u00ebr t\u00eb l\u00ebvizur aplikacionin nga pika n\u00eb ndales\u00eb, megjithat\u00eb, kjo mund t\u00eb \u00e7oj\u00eb gjithashtu n\u00eb d\u00ebshtime kaskad\u00eb (shih m\u00eb posht\u00eb).<\/p>\n<p>N\u00ebse p\u00ebrpiqeni t\u00eb zhvilloni nj\u00eb p\u00ebrdit\u00ebsim t\u00eb aplikacionit q\u00eb d\u00ebshton provat e gjall\u00ebris\u00eb\/gatshm\u00ebris\u00eb, angazhimi i tij do t\u00eb ngec\u00eb, pasi Kubernetes do t\u00eb pres\u00eb statusin <code>Gati<\/code> nga t\u00eb gjitha pod-et.<\/p>\n<h2>Shembulli<\/h2>\n<p>\nJa nj\u00eb shembull i prov\u00ebs s\u00eb gatshm\u00ebris\u00eb, q\u00eb kontrollon rrug\u00ebn <code>\/health<\/code> p\u00ebrmes HTTP me konfigurime t\u00eb paracaktuara (<i>interval<\/i>: 10 sekonda, <i>timeout<\/i>: 1 sekond\u00eb, <i>pragu i suksesit<\/i>: 1, <i>pragu i d\u00ebshtimit<\/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>Rekomandime<\/h2>\n<p><\/p>\n<ol>\n<li> P\u00ebr mikrosh\u00ebrbimet me endpoint HTTP (REST e k\u00ebshtu me radh\u00eb) <b>gjithmon\u00eb caktoni prov\u00ebn e gatshm\u00ebris\u00eb<\/b>, e cila kontrollon n\u00ebse aplikacioni (pod) \u00ebsht\u00eb gati t\u00eb pranoj\u00eb trafik.<\/li>\n<li> Sigurohuni q\u00eb provat e gatshm\u00ebris\u00eb <b>t\u00eb mbulojn\u00eb gatishm\u00ebrin\u00eb e portit aktual t\u00eb serverit web<\/b>:\n<ul>\n<li> duke p\u00ebrdorur porte p\u00ebr nevojat administrativ\u00eb, t\u00eb quajtura \"admin\" ose \"menaxhimi\" (p.sh., 9090), p\u00ebr <code>readinessProbe<\/code>, sigurohuni q\u00eb endpoint t\u00eb kthej\u00eb OK vet\u00ebm n\u00ebse porti kryesor HTTP (si 8080) \u00ebsht\u00eb gati p\u00ebr t\u00eb pranuar trafik*;\n<p><i>* Jam i vet\u00ebdijsh\u00ebm p\u00ebr t\u00eb pakt\u00ebn nj\u00eb rast n\u00eb Zalando, kur kjo nuk ndodhi, pra <code>readinessProbe<\/code> kontrolloi portin \"menaxhimi\", por vet\u00eb serveri nuk nisi p\u00ebr shkak t\u00eb problemeve me ngarkimin e caches.<\/i><\/li>\n<li> v\u00ebnie e readiness probe n\u00eb nj\u00eb port t\u00eb ve\u00e7ant\u00eb mund t\u00eb \u00e7oj\u00eb n\u00eb at\u00eb q\u00eb mbingarkesa n\u00eb portin kryesor nuk do t\u00eb reflektohet n\u00eb health check (dmth, pool-i i rrjedhave n\u00eb server \u00ebsht\u00eb i mbushur, por health check ende tregon se gjith\u00e7ka \u00ebsht\u00eb OK).<\/li>\n<\/ul>\n<\/li>\n<li> Sigurohuni q\u00eb <b>prova e gatshm\u00ebris\u00eb p\u00ebrfshin inicializimin\/migrimin e baz\u00ebs s\u00eb t\u00eb dh\u00ebnave<\/b>;\n<ul>\n<li> m\u00ebnyra m\u00eb e thjesht\u00eb p\u00ebr ta arritur k\u00ebt\u00eb \u00ebsht\u00eb t\u00eb kontaktoni serverin HTTP vet\u00ebm pas p\u00ebrfundimit t\u00eb inicializimit (p.sh., migrimi i BDs me <noindex><a rel=\"nofollow\" href=\"https:\/\/flywaydb.org\/\">Flyway<\/a><\/noindex> e k\u00ebshtu me radh\u00eb); dmth, n\u00eb vend q\u00eb t\u00eb ndryshoni statusin e health check-it, thjesht mos e nisni serverin web deri sa migrimi i DB t\u00eb p\u00ebrfundoj\u00eb*.\n<p><i>* Gjithashtu mund t\u00eb nisni migrimet e DB nga init-kontejner\u00ebt jasht\u00eb pod-it. Un\u00eb ende jam nj\u00eb fans i aplikacioneve t\u00eb pavarura (self-contained), dmth, atyre, n\u00eb t\u00eb cilat kontejneri i aplikacionit, pa koordinim t\u00eb jasht\u00ebm, di si t\u00eb sjell\u00eb DB-n\u00eb n\u00eb gjendjen e duhur.<\/i><\/li>\n<\/ul>\n<\/li>\n<li> P\u00ebrdorni <code>httpGet<\/code> p\u00ebr verifikimet readiness p\u00ebrmes endpoint-eve tipike t\u00eb health check-it (p\u00ebr shembull, <code>\/health<\/code>).<\/li>\n<li> <b>Merrni parasysh parametrat e kontrolleve t\u00eb caktuar si\u00e7 \u00ebsht\u00eb parazgjedhur<\/b> (<code>intervali: 10s<\/code>, <code>koha e skadenc\u00ebs: 1s<\/code>, <code>threshold-i i suksesit: 1<\/code>, <code>threshold-i i d\u00ebshtimit: 3<\/code>):\n<ul>\n<li> parametrat e parazgjedhur do t\u00eb thot\u00eb se pod-i do t\u00eb b\u00ebhet <i>not-ready<\/i> pjes\u00ebrisht pas rreth 30 sekondave (3 kontrolle t\u00eb d\u00ebshtuar t\u00eb funksionimit).<\/li>\n<\/ul>\n<\/li>\n<li> P\u00ebrdorni nj\u00eb port t\u00eb ve\u00e7ant\u00eb p\u00ebr \u00abadmin\u00bb ose \u00abmenaxhim\u00bb, n\u00ebse stoku teknologjik (p\u00ebr shembull, Java\/Spring) e lejon k\u00ebt\u00eb, p\u00ebr t\u00eb ndar\u00eb menaxhimin e 'sh\u00ebndetit' dhe metrike nga trafiku i zakonsh\u00ebm:\n<ul>\n<li> por mos harroni pik\u00ebn 2.<\/li>\n<\/ul>\n<\/li>\n<li> N\u00ebse \u00ebsht\u00eb e nevojshme, mund t\u00eb p\u00ebrdorni kontrollet e gatishm\u00ebris\u00eb p\u00ebr ngrohje\/ngarkim t\u00eb caches dhe t\u00eb ktheni kodin e gjendjes 503 derisa konteineri t\u00eb 'ngrohet':\n<ul>\n<li> po ashtu rekomandoj t\u00eb njiheni me kontrollin e ri <code>startupProbe<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/sysdig.com\/blog\/whats-new-kubernetes-1-16\/\">q\u00eb u shfaq n\u00eb versionin 1.16<\/a><\/noindex> <i>(ne kemi shkruar p\u00ebr t\u00eb n\u00eb rusisht <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/467477\/\">k\u00ebtu<\/a><\/noindex> \u2014 sh\u00ebn. p\u00ebrkth.)<\/i>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>K\u00ebshilla<\/h2>\n<p><\/p>\n<ol>\n<li> <b>Mos u mb\u00ebshtetni n\u00eb var\u00ebsi t\u00eb jashtme<\/b> (si\u00e7 jan\u00eb depozit\u00eb t\u00eb dh\u00ebnash) kur b\u00ebni prova p\u00ebr gatishm\u00ebrin\u00eb\/livshm\u00ebrin\u00eb \u2014 kjo mund t\u00eb \u00e7oj\u00eb n\u00eb d\u00ebshtime kaskad\u00eb:\n<ul>\n<li> si nj\u00eb shembull, le t\u00eb marrim nj\u00eb sh\u00ebrbim stateful REST me 10 pod-e, q\u00eb varen nga nj\u00eb baz\u00eb t\u00eb dh\u00ebnash Postgres: kur kontrolli varet nga nj\u00eb lidhje aktive me DB-n\u00eb, t\u00eb gjith\u00eb 10 pod-et mund t\u00eb d\u00ebshtojn\u00eb, n\u00ebse ka vones\u00eb n\u00eb rrjet\/nga ana e DB-s\u00eb \u2014 zakonisht t\u00eb gjitha k\u00ebto p\u00ebrfundojn\u00eb m\u00eb keq se sa mund t\u00eb ishte;<\/li>\n<li> kushtojini v\u00ebmendje se Spring Data n\u00eb parazgjedhje kontrollon lidhjen me DB-n\u00eb*;\n<p><i>* Kjo \u00ebsht\u00eb sjellja e parazgjedhur e Spring Data Redis (t\u00eb pakt\u00ebn, ka qen\u00eb k\u00ebshtu kur e kontrollova her\u00ebn e fundit), q\u00eb shkaktoi nj\u00eb d\u00ebshtim 'katastrofik': kur p\u00ebr nj\u00eb koh\u00eb t\u00eb shkurt\u00ebr Redis nuk ishte i disponuesh\u00ebm, t\u00eb gjitha pod-et 'd\u00ebshtuan'.<\/i><\/li>\n<li> \u2018jashtme\u2019 n\u00eb k\u00ebt\u00eb kuptim gjithashtu mund t\u00eb n\u00ebnkuptoj\u00eb pod-e t\u00eb tjera t\u00eb t\u00eb nj\u00ebjtit aplikacion, dmth, n\u00eb m\u00ebnyr\u00eb ideale kontrolli nuk duhet t\u00eb varet nga gjendja e pod-eve t\u00eb tjera t\u00eb t\u00eb nj\u00ebjtit klaster p\u00ebr t\u00eb parandaluar d\u00ebshtimet kaskad\u00eb:\n<ul>\n<li> rezultatet mund t\u00eb variojn\u00eb p\u00ebr aplikacionet me gjendje t\u00eb shp\u00ebrndar\u00eb (p\u00ebr shembull, caching in-memory n\u00eb pod-e).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li> <b>Mos p\u00ebrdorni probe livshm\u00ebrie<\/b> p\u00ebr pod&#8217;et (p\u00ebrjashtimet jan\u00eb raste kur ato jan\u00eb n\u00eb t\u00eb v\u00ebrtet\u00eb t\u00eb nevojshme dhe ju jeni plot\u00ebsisht t\u00eb vet\u00ebdijsh\u00ebm p\u00ebr specifikat dhe pasojat e p\u00ebrdorimit t\u00eb tyre):\n<ul>\n<li> probe e liveness mund t\u00eb ndihmoj\u00eb n\u00eb rikuperimin e kontejner\u00ebve \"t\u00eb ngrir\u00eb\", por, pasi keni kontroll t\u00eb plot\u00eb mbi aplikacionin tuaj, gj\u00ebra si proceset \"t\u00eb ngrira\" dhe bllokimet, idealisht nuk duhet t\u00eb ndodhin: alternativa m\u00eb e mir\u00eb \u00ebsht\u00eb r\u00ebnia e q\u00ebllimshme e aplikacionit dhe kthimi n\u00eb gjendjen e tij t\u00eb m\u00ebparshme t\u00eb q\u00ebndrueshme;<\/li>\n<li> D\u00ebshtimi i p\u00ebrgjigjes liveness do t\u00eb \u00e7oj\u00eb n\u00eb rinisjen e konteinerit, duke p\u00ebrkeq\u00ebsuar potencialisht pasojat e gabimeve t\u00eb lidhura me ngarkes\u00ebn: rinisja e konteinerit do t\u00eb sjell\u00eb ndalesa (t\u00eb pakt\u00ebn p\u00ebr koh\u00ebn e nisjes s\u00eb aplikacionit, le t\u00eb themi, m\u00eb shum\u00eb se 30 sekonda), duke shkaktuar gabime t\u00eb reja, duke rritur ngarkes\u00ebn n\u00eb konteiner\u00ebt e tjer\u00eb dhe duke rritur probabilitetin e d\u00ebshtimit t\u00eb tyre, etj.;<\/li>\n<li> Kontrolli i liveness n\u00eb kombinim me nj\u00eb var\u00ebsi t\u00eb jashtme \u00ebsht\u00eb kombinimi m\u00eb i keq i mundsh\u00ebm, q\u00eb k\u00ebrc\u00ebnon me d\u00ebshtime kaskad\u00eb: nj\u00eb vones\u00eb e vog\u00ebl n\u00eb an\u00ebn e DB do t\u00eb sjell\u00eb rinisje t\u00eb t\u00eb gjith\u00eb konteiner\u00ebve tuaj!<\/li>\n<\/ul>\n<\/li>\n<li> Parametrat e kontrolleve liveness dhe readiness <b>duhet t\u00eb jen\u00eb t\u00eb ndrysh\u00ebm<\/b>:\n<ul>\n<li> mund t\u00eb p\u00ebrdorni probe e liveness me t\u00eb nj\u00ebjtin health check&#8217; p\u00ebrsa i p\u00ebrket pragut t\u00eb aktivizimit m\u00eb t\u00eb lart\u00eb (<code>failureThreshold<\/code>), p\u00ebr shembull, t\u00eb jepni statusin <i>not-ready<\/i> pas 3 p\u00ebrpjekjeve dhe t\u00eb konsideroni se p\u00ebrgjigja liveness ka d\u00ebshtuar pas 10 p\u00ebrpjekjeve;<\/li>\n<\/ul>\n<\/li>\n<li> <b>Mos p\u00ebrdorni kontrolle exec<\/b>, pasi lidhjet me to kan\u00eb probleme t\u00eb njohura q\u00eb \u00e7ojn\u00eb n\u00eb shfaqjen e proceseve zombie:\n<ul>\n<li> detajet: shihni <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=QKI-JRs2RIE\">prezantimin e specialist\u00ebve t\u00eb kompanis\u00eb Datadog<\/a><\/noindex>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>CV<\/h2>\n<p><\/p>\n<ul>\n<li> P\u00ebrdorni kontrollin readiness p\u00ebr t\u00eb p\u00ebrcaktuar kur pod-i \u00ebsht\u00eb i gatsh\u00ebm t\u00eb pranoj\u00eb trafik.<\/li>\n<li> P\u00ebrdorni kontrollin liveness vet\u00ebm kur \u00ebsht\u00eb e nevojshme.<\/li>\n<li> P\u00ebrdorimi i gabuar i kontrollave readiness\/liveness mund t\u00eb \u00e7oj\u00eb n\u00eb ulje t\u00eb disponueshm\u00ebris\u00eb dhe d\u00ebshtime kaskad\u00eb.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175655221382529025\"><img decoding=\"async\" alt=\"Liveness probes n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme.\" src=\"\/wp-content\/uploads\/2019\/10\/8c212c41d6e69cd515a85d2b6100aaed.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Materiale shtes\u00eb mbi k\u00ebt\u00eb tem\u00eb<\/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\/\">Dokumentet Kubernetes: Konfiguro Provat e Liveness dhe Readiness<\/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\/\">Provat e Liveness dhe Readiness n\u00eb Kubernetes Rishikuar: Si t\u00eb Shmangni Shk\u00ebputjen e Vetvetes<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/keepingitclassless.net\/2018\/12\/december-4-nre-labs-outage-post-mortem\/\">Analiza e Nd\u00ebrprerjes NRE Labs<\/a><\/noindex> (flet edhe p\u00ebr livenessProbe).<\/li>\n<\/ul>\n<p><\/p>\n<h2>P\u00ebrdit\u00ebsimi #1 nga 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/BarrWill1\/status\/1178144162526453760\">Rreth konteiner\u00ebve init p\u00ebr migrimin e DB<\/a><\/noindex>: \u00ebsht\u00eb shtuar nj\u00eb sh\u00ebnim.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/ejc3\/status\/1178077779293683713\">EJ m\u00eb kujtoi<\/a><\/noindex> rreth PDB: nj\u00eb nga problemet e kontrollit t\u00eb liveness \u00ebsht\u00eb mungesa e koordinat\u00ebs midis pod&#8217;eve. N\u00eb Kubernetes ka <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/configure-pdb\/\">Buxhetet e Shk\u00ebputjes s\u00eb Pod-eve (PDB)<\/a><\/noindex> p\u00ebr t\u00eb kufizuar numrin e d\u00ebshtimeve paralele q\u00eb mund t\u00eb p\u00ebrjetoj\u00eb aplikacioni, megjithat\u00eb kontrollet nuk e marrin parasysh PDB-n\u00eb. Idealisht mund t\u00eb urdh\u00ebrojm\u00eb K8s: \"Rinisni nj\u00eb pod, n\u00ebse kontrolli i tij d\u00ebshton, por mos rinisni t\u00eb gjith\u00eb, p\u00ebr t\u00eb mos e b\u00ebr\u00eb edhe m\u00eb keq\".<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178083887991398400\">Bryan e formuloi shk\u00eblqyesh\u00ebm<\/a><\/noindex>: \u00abP\u00ebrdorni sondat e liveness-it kur jeni t\u00eb sigurt se <b>gj\u00ebja m\u00eb e mir\u00eb p\u00ebr t\u00eb b\u00ebr\u00eb \u00ebsht\u00eb t\u00eb \u00abvrasni\u00bb aplikacionin<\/b>\u00bb (p\u00ebrs\u00ebri, mos u teproni).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178207929540972544\"><img decoding=\"async\" alt=\"Liveness probes n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme.\" src=\"\/wp-content\/uploads\/2019\/10\/524122a63bd4acd950bf9fc8aeeb45be.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>P\u00ebrdit\u00ebsimi nr. 2 nga 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Guillaume_Swiss\/status\/1178258781152563200\">Sa i p\u00ebrket leximit t\u00eb dokumentacionit p\u00ebrpara p\u00ebrdorimit<\/a><\/noindex>: un\u00eb kam krijuar k\u00ebrkes\u00ebn p\u00ebrkat\u00ebse (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/website\/issues\/16607\">feature request<\/a><\/noindex>) p\u00ebr t\u00eb shtuar dokumentacionin mbi sondat e liveness-it.<\/p>\n<h2>P.S. nga p\u00ebrkthyesi<\/h2>\n<p>\nLexoni gjithashtu n\u00eb blogun ton\u00eb:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415393\/\">Kubernetes: jeta e pod-it<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">7 best practices for container operations according to Google<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353272\/\">7 principles of application design based on containers<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Burimi: <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.2.1 - 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\/sq\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47Sondat e liveness-it n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme | ProHoster","description":"Sh\u00ebn. p\u00ebrk.: Inxhinieri lider nga kompania Zalando \u2014 Henning Jacobs \u2014 ka v\u00ebn\u00eb re disa her\u00eb te p\u00ebrdoruesit e Kubernetes probleme n\u00eb kuptimin e q\u00ebllimit t\u00eb sondave t\u00eb liveness (dhe readiness) dhe p\u00ebrdorimin e tyre t\u00eb sakt\u00eb.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/38965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=38965"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/38965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/29232"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=38965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=38965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=38965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}