{"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":"Provat e jet\u00ebgjat\u00ebsis\u00eb 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\u00ebrk.<\/b>: Inxhinier i kryesor nga kompania Zalando \u2014 Henning Jacobs \u2014 shpesh ka v\u00ebrejtur te p\u00ebrdoruesit e Kubernetes probleme n\u00eb kuptimin e q\u00ebllimit t\u00eb provave t\u00eb jet\u00ebgjat\u00ebsis\u00eb (dhe gatishm\u00ebris\u00eb) dhe p\u00ebrdorimit t\u00eb sakt\u00eb t\u00eb tyre. Prandaj ai ka mbledhur mendimet e tij n\u00eb k\u00ebt\u00eb nota t\u00eb shkurt\u00ebr, e cila me kalimin e koh\u00ebs do t\u00eb b\u00ebhet pjes\u00eb e dokumentacionit K8s.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Provat e jet\u00ebgjat\u00ebsis\u00eb 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 \/>\nKontrolli i gjendjes, i njohur n\u00eb Kubernetes si <i>provat e jet\u00ebgjat\u00ebsis\u00eb<\/i> <i>(dmth, n\u00eb dosje, \u2018testet p\u00ebr jet\u00ebgjat\u00ebsi\u2019 \u2014 sh\u00ebn. p\u00ebrkth.)<\/i>, mund t\u00eb jen\u00eb mjaft t\u00eb rrezikshme. Rekomandoj t\u00eb shmangni ato sa m\u00eb shum\u00eb q\u00eb t\u00eb jet\u00eb e mundur: p\u00ebrjashtimet jan\u00eb vet\u00ebm rastet kur ato jan\u00eb me t\u00eb v\u00ebrtet\u00eb t\u00eb nevojshme dhe ju e kuptoni plot\u00ebsisht specifikat dhe pasojat e p\u00ebrdorimit t\u00eb tyre. N\u00eb k\u00ebt\u00eb publikim do t\u00eb flas\u00eb p\u00ebr provat e jet\u00ebgjat\u00ebsis\u00eb dhe gatishm\u00ebris\u00eb, si dhe do t\u00eb diskutohet se kur <i>kushtojn\u00eb<\/i> dhe kur nuk duhen aplikuar.<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 shpeshta q\u00eb t\u00eb sjellin n\u00eb v\u00ebshtir\u00ebsi, duke p\u00ebrfshir\u00eb ato lidhur me p\u00ebrdorimin e probes p\u00ebr gatishm\u00ebrin\u00eb\/liv\u00ebsin\u00eb:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175377157343907840\"><img decoding=\"async\" alt=\"Provat e jet\u00ebgjat\u00ebsis\u00eb 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>Konfiguruar gabim <code>livenessProbe<\/code> mund t\u00eb p\u00ebrkeq\u00ebsoj\u00eb situatat me ngarkes\u00eb t\u00eb lart\u00eb (nd\u00ebrprerje n\u00eb zinxhir + nisje potencialisht e gjat\u00eb t\u00eb 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\">artikullin tim t\u00eb fundit<\/a><\/noindex> p\u00ebr kufizimin e numrit t\u00eb k\u00ebrkesave n\u00eb kombinimin K3s+ACME)<\/i>. Edhe m\u00eb keq, kur probe p\u00ebr liv\u00ebsin\u00eb bashkohet me kontrollin e sh\u00ebndetit t\u00eb var\u00ebsive (kontrollin e sh\u00ebndetit), i cili kryhet nga nj\u00eb baz\u00eb e jashtme t\u00eb dh\u00ebnash: <b>nj\u00eb d\u00ebshtim i vet\u00ebm i DB do t\u00eb rinis\u00eb t\u00eb gjith\u00eb kontejner\u00ebt tuaj<\/b>!<\/p>\n<p>Mesazhi i p\u00ebrgjithsh\u00ebm <i>\u00abMos p\u00ebrdorni liveness probes\u00bb<\/i> n\u00eb k\u00ebt\u00eb rast ndihmon pak, prandaj le t\u00eb shqyrtojm\u00eb p\u00ebr \u00e7far\u00eb jan\u00eb krijuar kontrollet readiness dhe liveness. <\/p>\n<p><i>Sh\u00ebnim: pjesa m\u00eb e madhe e testit t\u00eb m\u00ebposht\u00ebm ishte fillimisht p\u00ebrfshir\u00eb n\u00eb dokumentacionin e brendsh\u00ebm p\u00ebr zhvilluesit e Zalando.<\/i><\/p>\n<h2>Kontrolli 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 nj\u00eb veprim t\u00eb caktuar n\u00eb m\u00ebnyr\u00eb periodike \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 funksionon si\u00e7 duhet.<\/p>\n<p>Kubernetes p\u00ebrdor <b>readiness probes<\/b>, p\u00ebr t\u00eb kuptuar se kur kontejneri \u00ebsht\u00eb gati p\u00ebr t\u00eb pranuar trafik. Pod konsiderohet gati p\u00ebr pun\u00eb n\u00ebse t\u00eb gjith\u00eb kontejner\u00ebt e tij jan\u00eb gati. Nj\u00eb nga aplikimet e k\u00ebtij mekanizmi \u00ebsht\u00eb t\u00eb monitoroni se cilat pod p\u00ebrdoren si backend p\u00ebr sh\u00ebrbimet Kubernetes (dhe ve\u00e7an\u00ebrisht Ingress).<\/p>\n<p><b>Kontrollet e gatishm\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 verifikim i till\u00eb lejon kapjen e ng\u00ebr\u00e7it, kur aplikacioni \"ngjitet\" n\u00eb nj\u00eb vend. Rinisi i kontejnerit n\u00eb nj\u00eb gjendje t\u00eb till\u00eb ndihmon n\u00eb l\u00ebvizjen e aplikacionit nga pika e vdekur, pavar\u00ebsisht nga gabimet, megjithat\u00eb, ai gjithashtu mund t\u00eb \u00e7oj\u00eb n\u00eb d\u00ebshtime kaskad\u00eb (shih m\u00eb posht\u00eb).<\/p>\n<p>N\u00ebse p\u00ebrpiqeni t\u00eb implementoni nj\u00eb p\u00ebrdit\u00ebsim t\u00eb aplikacionit q\u00eb d\u00ebshton n\u00eb kontrollet e gatishm\u00ebris\u00eb\/gjall\u00ebris\u00eb, nxjerrja e tij do t\u00eb ngec\u00eb, sepse Kubernetes do t\u00eb pres\u00eb statusin <code>Gati<\/code> nga t\u00eb gjitha pod.<\/p>\n<h2>Shembuj<\/h2>\n<p>\nJa nj\u00eb shembull i nj\u00eb kontrolli t\u00eb gatishm\u00ebris\u00eb, q\u00eb kontrollon rrug\u00ebn <code>\/health<\/code> n\u00ebp\u00ebrmjet HTTP me cil\u00ebsimet e parazgjedhura (<i>interval<\/i>: 10 sekonda, <i>koha e skadimit<\/i>: 1 sekond\u00eb, <i>kufi suksesi<\/i>: 1, <i>kufi d\u00ebshtimi<\/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>R rekomandimet<\/h2>\n<p><\/p>\n<ol>\n<li> P\u00ebr mikrosh\u00ebrbimet me endpoint HTTP (REST e k\u00ebshtu me radh\u00eb) <b>k\u00ebtu duhet t\u00eb p\u00ebrcaktoni gjithmon\u00eb nj\u00eb kontroll gatishm\u00ebrie<\/b>, e cila kontrollon n\u00ebse aplikacioni (pod-i) \u00ebsht\u00eb gati p\u00ebr t\u00eb pranuar trafik.<\/li>\n<li> Sigurohuni q\u00eb kontrolli i gatishm\u00ebris\u00eb <b>mbulon gatishm\u00ebrin\u00eb e portit t\u00eb v\u00ebrtet\u00eb t\u00eb serverit t\u00eb uebit<\/b>:\n<ul>\n<li> duke p\u00ebrdorur porte p\u00ebr nevoja administrative, t\u00eb quajtur \"admin\" ose \"management\" (p.sh. 9090), p\u00ebr <code>readinessProbe<\/code>, sigurohuni q\u00eb endpoint-i kthen OK vet\u00ebm n\u00ebse porta kryesore HTTP (si 8080) \u00ebsht\u00eb e gatshme t\u00eb pranoj\u00eb trafik*;\n<p><i>* Kam dijeni p\u00ebr t\u00eb pakt\u00ebn nj\u00eb rast n\u00eb Zalando kur kjo nuk ndodhi, dometh\u00ebn\u00eb <code>readinessProbe<\/code> verifikoi portin \"management\", por serveri vet\u00eb nuk filloi ndonj\u00ebher\u00eb t\u00eb punonte p\u00ebr shkak t\u00eb problemeve me ngarkimin e caches.<\/i><\/li>\n<li> vendosja e probes p\u00ebr gatishm\u00ebri n\u00eb nj\u00eb port t\u00eb ve\u00e7ant\u00eb mund t\u00eb rezultoj\u00eb n\u00eb at\u00eb q\u00eb ngarkesa n\u00eb portin kryesor nuk reflektohet n\u00eb kontrollin e sh\u00ebndetit (dometh\u00ebn\u00eb, pool-i i thirrjeve n\u00eb server \u00ebsht\u00eb i mbushur, megjithat\u00eb kontrolli i sh\u00ebndetit ende tregon se gjith\u00e7ka \u00ebsht\u00eb n\u00eb rregull).<\/li>\n<\/ul>\n<\/li>\n<li> Sigurohuni q\u00eb <b>readiness probe 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 me serverin HTTP vet\u00ebm pas p\u00ebrfundimit t\u00eb inicializimit (p.sh. migrimi i DB me <noindex><a rel=\"nofollow\" href=\"https:\/\/flywaydb.org\/\">Flyway<\/a><\/noindex> etj.); dometh\u00ebn\u00eb, n\u00eb vend q\u00eb t\u00eb ndryshoni statusin e kontrollit t\u00eb sh\u00ebndetit, thjesht mos e aktivizoni serverin web derisa migrimi i DB t\u00eb p\u00ebrfundoj\u00eb*.\n<p><i>* Gjithashtu mund t\u00eb ekzekutoni migrazionet e DB nga kontenier\u00ebt init nga jasht pod-it. Un\u00eb vazhdoj t\u00eb jem nj\u00eb adhurues i aplikacioneve t\u00eb vet\u00eb-mjaftueshme (self-contained), q\u00eb do t\u00eb thot\u00eb ato ku kontenieri i aplikacionit, pa koordinim t\u00eb jasht\u00ebm, di se 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 e readiness p\u00ebrmes endpoint-eve tipike t\u00eb kontrolleve t\u00eb sh\u00ebndetit (p.sh., <code>\/health<\/code>).<\/li>\n<li> <b>Shqyrtoni parametrat e kontrolleve t\u00eb caktuar si parazgjedhje<\/b> (<code>interval: 10s<\/code>, <code>timeout: 1s<\/code>, <code>successThreshold: 1<\/code>, <code>failureThreshold: 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> af\u00ebrsisht pas 30 sekondave (3 d\u00ebshtime t\u00eb kontrolleve t\u00eb funksionit).<\/li>\n<\/ul>\n<\/li>\n<li> P\u00ebrdorni nj\u00eb port t\u00eb ve\u00e7ant\u00eb p\u00ebr 'admin' ose 'menaxhim', n\u00ebse stoku i teknologjis\u00eb (p\u00ebr shembull, Java\/Spring) e lejon k\u00ebt\u00eb, p\u00ebr t\u00eb ndar\u00eb menaxhimin e 'sh\u00ebndetit' dhe metrikave nga trafiku normal:\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 readiness probe p\u00ebr t\u00eb ngrohur\/ngarkuar cache-n\u00eb dhe t\u00eb ktheni kodin e statusit 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\/\">t\u00eb shfaqur n\u00eb versionin 1.16<\/a><\/noindex> <i>(ne kemi shkruar rreth saj n\u00eb rusisht <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/467477\/\">k\u00ebtu<\/a><\/noindex> \u2014 sh\u00ebnim i p\u00ebrkthyesit.)<\/i>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Paralajm\u00ebrime<\/h2>\n<p><\/p>\n<ol>\n<li> <b>Mos u mb\u00ebshtetni n\u00eb var\u00ebsi t\u00eb jashtme<\/b> (si t\u00eb dh\u00ebnat e ruajtjes) gjat\u00eb testeve p\u00ebr gatishm\u00ebri\/gjendem\u00ebri \u2014 kjo mund t\u00eb \u00e7oj\u00eb n\u00eb d\u00ebshtime t\u00eb kaskad\u00ebs:\n<ul>\n<li> si 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 gjitha 10 pod-et mund t\u00eb bien n\u00ebse ka nj\u00eb vones\u00eb n\u00eb rrjet\/n\u00eb an\u00ebn e DB-s\u00eb \u2014 zakonisht e gjith\u00eb kjo p\u00ebrfundon m\u00eb keq nga sa do mund t\u00eb p\u00ebrfundonte;<\/li>\n<li> vini re se Spring Data kontrollon lidhjen me DB si parazgjedhje*;\n<p><i>* Ky \u00ebsht\u00eb sjellja e parazgjedhur e Spring Data Redis (t\u00eb pakt\u00ebn k\u00ebshtu ishte kur e kontrollova her\u00ebn e fundit), e cila \u00e7oi n\u00eb nj\u00eb d\u00ebshtim 'katastrofik': kur p\u00ebr nj\u00eb periudh\u00eb t\u00eb shkurt\u00ebr Redis nuk ishte i aksesuesh\u00ebm, t\u00eb gjitha pod-et 'p\u00ebshtyn\u00eb'.<\/i><\/li>\n<li> \u2018jasht\u2019 n\u00eb k\u00ebt\u00eb kuptim gjithashtu mund t\u00eb n\u00ebnkuptoj\u00eb pod-e t\u00eb tjera t\u00eb s\u00eb nj\u00ebjt\u00ebs aplikacion, q\u00eb do t\u00eb thot\u00eb se 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 r\u00ebniet kaskad\u00eb:\n<ul>\n<li> rezultatet mund t\u00eb ndryshojn\u00eb p\u00ebr aplikacione me gjendje t\u00eb shp\u00ebrndar\u00eb (p.sh., caching in-memory n\u00eb pod\u02b9).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li> <b>Mos p\u00ebrdorni liveness probe<\/b> p\u00ebr pod\u02b9 (p\u00ebrjashtimet jan\u00eb rastet kur ato jan\u00eb t\u00eb nevojshme dhe ju jeni plot\u00ebsisht n\u00eb dijeni t\u00eb specifikave dhe pasojave t\u00eb p\u00ebrdorimit t\u00eb tyre):\n<ul>\n<li> prova e jet\u00ebs mund t\u00eb ndihmoj\u00eb n\u00eb rikuperimin e konteiner\u00ebve \"t\u00eb ngritur\", por, pasi keni kontroll t\u00eb plot\u00eb mbi aplikacionin tuaj, gj\u00ebra si proceset \"t\u00eb ngritura\" dhe bllokimet, n\u00eb m\u00ebnyr\u00eb ideale nuk duhet t\u00eb ndodhin: alternativa m\u00eb e mir\u00eb \u00ebsht\u00eb r\u00ebnia e q\u00ebllimshme e aplikacionit dhe rikthimi n\u00eb gjendjen e tij t\u00eb m\u00ebparshme t\u00eb stabilizuar;<\/li>\n<li> d\u00ebshtimi i probe liveness do t\u00eb shkaktoj\u00eb rib\u00ebrjen e konteinerit, duke p\u00ebrkeq\u00ebsuar potencialisht pasojat e gabimeve t\u00eb lidhura me ngarkes\u00ebn: rib\u00ebrja e konteinerit do t\u00eb \u00e7oj\u00eb n\u00eb pezullim (t\u00eb pakt\u00ebn p\u00ebr koh\u00ebn e nisjes s\u00eb aplikacionit, le t\u00eb themi, p\u00ebr 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 shanset p\u00ebr d\u00ebshtimin e tyre, etj.;<\/li>\n<li> kontrollimet e liveness n\u00eb kombinim me nj\u00eb var\u00ebsi t\u00eb jashtme jan\u00eb kombinimi m\u00eb i keq i mundsh\u00ebm, q\u00eb rrezikon d\u00ebshtime n\u00eb cascada: nj\u00eb vones\u00eb e vog\u00ebl n\u00eb an\u00ebn e DB do t\u00eb \u00e7oj\u00eb n\u00eb rib\u00ebrjen e 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\u00ebrdoret prova e jet\u00ebs me t\u00eb nj\u00ebjtin kontroll sh\u00ebndeti, por me nj\u00eb prag m\u00eb t\u00eb lart\u00eb ndjeshm\u00ebrie (<code>failureThreshold<\/code>), p\u00ebr shembull, t\u00eb caktohet statusi <i>not-ready<\/i> pas 3 p\u00ebrpjekjeve dhe t\u00eb konsiderohet se liveness probe ka d\u00ebshtuar pas 10 p\u00ebrpjekjeve;<\/li>\n<\/ul>\n<\/li>\n<li> <b>Mos p\u00ebrdorni kontrolla exec<\/b>, pasi ato 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 ekspert\u00ebve t\u00eb kompanis\u00eb Datadog<\/a><\/noindex>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Curriculum Vitae<\/h2>\n<p><\/p>\n<ul>\n<li> P\u00ebrdorni readiness probes p\u00ebr t\u00eb p\u00ebrcaktuar kur pod-i \u00ebsht\u00eb i gatsh\u00ebm t\u00eb pranoj\u00eb trafik.<\/li>\n<li> P\u00ebrdorni liveness probes vet\u00ebm kur jan\u00eb me t\u00eb v\u00ebrtet\u00eb t\u00eb nevojshme.<\/li>\n<li> P\u00ebrdorimi i gabuar i readiness\/liveness probes 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=\"Provat e jet\u00ebgjat\u00ebsis\u00eb 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 p\u00ebr tem\u00ebn<\/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 e Kubernetes: Konfiguro Liveness dhe 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 dhe Readiness Probes t\u00eb Rishikuara: Si t\u00eb Shmangni Veten nga Shtylla tjet\u00ebr<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/keepingitclassless.net\/2018\/12\/december-4-nre-labs-outage-post-mortem\/\">NRE Labs Outage Post-Mortem<\/a><\/noindex> (flitet gjithashtu p\u00ebr livenessProbe).<\/li>\n<\/ul>\n<p><\/p>\n<h2>P\u00ebrdit\u00ebsimi \u21161 nga 2019-09-29<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/BarrWill1\/status\/1178144162526453760\">P\u00ebr init-kontainer\u00ebt 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> p\u00ebr PDB: nj\u00eb nga t\u00eb k\u00ebqijat e kontrollit t\u00eb jet\u00ebs \u00ebsht\u00eb mungesa e koordinat\u00ebs midis pod\u02b9eve. N\u00eb Kubernetes ka <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/configure-pdb\/\">Pod Disruption Budgets (PDB)<\/a><\/noindex> p\u00ebr t\u00eb kufizuar numrin e d\u00ebshtimeve paralele q\u00eb aplikacioni mund t\u00eb p\u00ebrjetoj\u00eb, megjithat\u00eb Kontrollimet nuk marrin parasysh PDB. Idealisht, mund t\u00eb urdh\u00ebrojm\u00eb K8s: \"Rivado nj\u00eb pod, n\u00ebse kontrolli i tij d\u00ebshtoi, por mos e rivado t\u00eb gjith\u00eb, q\u00eb t\u00eb mos e b\u00ebsh 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>: \"P\u00ebrdorni sondimin e gjall\u00ebris\u00eb kur e dini sakt\u00ebsisht se <b>gj\u00ebja m\u00eb e mir\u00eb q\u00eb mund t\u00eb b\u00ebni \u00ebsht\u00eb t\u00eb 'vritni' aplikacionin<\/b>\" (p\u00ebrs\u00ebri, mos i jepni shum\u00eb).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178207929540972544\"><img decoding=\"async\" alt=\"Provat e jet\u00ebgjat\u00ebsis\u00eb 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>K\u00ebnaq\u00ebsi e dyt\u00eb 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 para p\u00ebrdorimit<\/a><\/noindex>: krijova nj\u00eb k\u00ebrkes\u00eb p\u00ebrkat\u00ebse (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/website\/issues\/16607\">k\u00ebrkes\u00eb p\u00ebr karakteristika<\/a><\/noindex>) p\u00ebr t\u00eb shtuar dokumentacionin p\u00ebr sondat e gjall\u00ebris\u00eb.<\/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 praktikat m\u00eb t\u00eb mira p\u00ebr operimin e konteiner\u00ebve sipas Google<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353272\/\">7 principe t\u00eb dizajnit t\u00eb aplikacioneve t\u00eb bazuara n\u00eb konteiner\u00eb<\/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 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\/sq\/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=\"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. \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\/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\udd47Liveness probes n\u00eb Kubernetes mund t\u00eb jen\u00eb t\u00eb rrezikshme | ProHoster","description":"Sh\u00ebnim: Inxhinieri kryesor nga kompania Zalando \u2014 Henning Jacobs \u2014 ka v\u00ebn\u00eb re shpesh probleme te p\u00ebrdoruesit e Kubernetes n\u00eb kuptimin e q\u00ebllimit t\u00eb liveness (dhe readiness) probes dhe p\u00ebrdorimin e tyre t\u00eb sakt\u00eb. Prandaj, ai ka mbledhur mendimet e tij n\u00eb k\u00ebt\u00eb sh\u00ebnim t\u00eb p\u00ebrmbledhur, i cili me kalimin e koh\u00ebs do t\u00eb b\u00ebhet pjes\u00eb e dokumentacionit K8s. Kontrolloret e gjendjes, t\u00eb njohur n\u00eb Kubernetes si liveness probes (dmth, p\u00ebrkthyer),","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. \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\/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"},"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}]}}