{"id":82913,"date":"2020-05-26T13:42:32","date_gmt":"2020-05-26T11:42:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate"},"modified":"2020-05-26T13:42:32","modified_gmt":"2020-05-26T11:42:32","slug":"luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","title":{"rendered":"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Vytv\u00e1\u0159en\u00ed mal\u00fdch kontejner\u016f<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Organizace Kubernetes pomoc\u00ed jmenn\u00e9ho prostoru<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Kontrola \u017eivotaschopnosti Kubernetes pomoc\u00ed test\u016f Readiness a Liveness<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Nastaven\u00ed po\u017eadavk\u016f a limit\u016f zdroj\u016f<\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/4c3f50a0968007bbfa99d167b43d0a5a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nD\u016fle\u017eit\u00fdm aspektem pr\u00e1ce distribuovan\u00fdch syst\u00e9m\u016f je zpracov\u00e1n\u00ed selh\u00e1n\u00ed. Kubernetes v tom pom\u00e1h\u00e1 pomoc\u00ed kontroler\u016f, kter\u00e9 sleduj\u00ed stav va\u0161eho syst\u00e9mu a znovu spou\u0161t\u00ed slu\u017eby, kter\u00e9 p\u0159estaly fungovat. Nicm\u00e9n\u011b, Kubernetes m\u016f\u017ee vynutit zastaven\u00ed va\u0161ich aplikac\u00ed, aby zajistil celkovou \u017eivotaschopnost syst\u00e9mu. V t\u00e9to s\u00e9rii se pod\u00edv\u00e1me na to, jak m\u016f\u017eete Kubernetes pomoci vykon\u00e1vat svou pr\u00e1ci efektivn\u011bji a sni\u017eovat prostoje aplikac\u00ed. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>P\u0159ed zaveden\u00edm kontejner\u016f v\u011bt\u0161ina aplikac\u00ed b\u011b\u017eela na virtu\u00e1ln\u00edch nebo fyzick\u00fdch stroj\u00edch. Pokud aplikace selhala nebo se zasekla, trvalo hodn\u011b \u010dasu, ne\u017e bylo mo\u017en\u00e9 zastavit b\u011b\u017e\u00edc\u00ed \u00falohu a znovu na\u010d\u00edst program. V nejhor\u0161\u00edm p\u0159\u00edpad\u011b se n\u011bkdo musel s t\u00edmto probl\u00e9mem vypo\u0159\u00e1dat ru\u010dn\u011b v noci, v nejm\u00e9n\u011b vhodnou dobu. Pokud d\u016fle\u017eitou \u00falohu vykon\u00e1valo jen 1-2 pracovn\u00ed stroje, takov\u00e9 selh\u00e1n\u00ed bylo naprosto nep\u0159ijateln\u00e9. <br \/>\nProto m\u00edsto ru\u010dn\u00edho restartov\u00e1n\u00ed za\u010dali pou\u017e\u00edvat monitorov\u00e1n\u00ed na \u00farovni proces\u016f pro automatick\u00e9 restartov\u00e1n\u00ed aplikace v p\u0159\u00edpad\u011b jej\u00edho ne\u010dekan\u00e9ho ukon\u010den\u00ed. Pokud program selhal, monitorovac\u00ed proces zachyt\u00ed exit k\u00f3d a restartuje server. S p\u0159\u00edchodem syst\u00e9m\u016f, jako je Kubernetes, byl tento zp\u016fsob reakce na selh\u00e1n\u00ed syst\u00e9mu prost\u011b integrov\u00e1n do infrastruktury.<\/p>\n<p>Kubernetes pou\u017e\u00edv\u00e1 smy\u010dku ud\u00e1lost\u00ed \u201esledov\u00e1n\u00ed \u2013 z\u00e1znam rozd\u00edl\u016f \u2013 proveden\u00ed akce\u201c, aby zajistil, \u017ee prost\u0159edky z\u016fst\u00e1vaj\u00ed funk\u010dn\u00ed na cest\u011b od kontejner\u016f ke samotn\u00fdm uzl\u016fm.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/fe255d31824d2e570492a882ea7e54c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo znamen\u00e1, \u017ee u\u017e nemus\u00edte ru\u010dn\u011b spou\u0161t\u011bt sledov\u00e1n\u00ed proces\u016f. Pokud zdroj nepro\u0161el kontrolou zdrav\u00ed Health Check, Kubernetes mu jednodu\u0161e automaticky poskytne n\u00e1hradu. P\u0159itom Kubernetes d\u011bl\u00e1 mnohem v\u00edc ne\u017e jen sledov\u00e1n\u00ed selh\u00e1n\u00ed va\u0161ich aplikac\u00ed. M\u016f\u017ee vytv\u00e1\u0159et v\u00edce kopi\u00ed aplikace pro provoz na n\u011bkolika stroj\u00edch, aktualizovat aplikaci nebo sou\u010dasn\u011b spou\u0161t\u011bt n\u011bkolik verz\u00ed va\u0161\u00ed aplikace.<br \/>\nExistuje mnoho d\u016fvod\u016f, pro\u010d Kubernetes m\u016f\u017ee p\u0159eru\u0161it pr\u00e1ci zcela zdrav\u00e9ho kontejneru. Nap\u0159\u00edklad pokud aktualizujete sv\u00e9 nasazen\u00ed, Kubernetes pomalu zastav\u00ed star\u00e9 pody, zat\u00edmco sou\u010dasn\u011b spou\u0161t\u00ed nov\u00e9. Pokud vypnete uzel, Kubernetes ukon\u010d\u00ed v\u0161echny pody na tomto uzlu. A nakonec, pokud na uzlu dojdou prost\u0159edky, Kubernetes deaktivuje v\u0161echny pody, aby uvolnil tyto prost\u0159edky.<\/p>\n<p>Je proto velmi d\u016fle\u017eit\u00e9, aby va\u0161e aplikace p\u0159estala fungovat s minim\u00e1ln\u00edm dopadem na koncov\u00e9ho u\u017eivatele a co nejkrat\u0161\u00ed dobou obnovy. To znamen\u00e1, \u017ee p\u0159ed vypnut\u00edm mus\u00ed ulo\u017eit v\u0161echna pot\u0159ebn\u00e1 data, uzav\u0159\u00edt v\u0161echna s\u00ed\u0165ov\u00e1 spojen\u00ed, dokon\u010dit zb\u00fdvaj\u00edc\u00ed \u00fakoly a stihnout prov\u00e9st dal\u0161\u00ed nal\u00e9hav\u00e9 \u00fakoly.<\/p>\n<p>V praxi to znamen\u00e1, \u017ee va\u0161e aplikace by m\u011bla b\u00fdt schopna zpracovat sign\u00e1l SIGTERM \u2013 sign\u00e1l pro ukon\u010den\u00ed procesu, kter\u00fd je v\u00fdchoz\u00edm sign\u00e1lem pro utilitu kill v unixov\u00fdch opera\u010dn\u00edch syst\u00e9mech. Po obdr\u017een\u00ed tohoto sign\u00e1lu by se aplikace m\u011bla vypnout.<\/p>\n<p>Jakmile se Kubernetes rozhodne ukon\u010dit pod, nast\u00e1v\u00e1 cel\u00e1 \u0159ada ud\u00e1lost\u00ed. Pod\u00edvejme se na ka\u017ed\u00fd krok, kter\u00fd Kubernetes provede p\u0159i vypnut\u00ed kontejneru nebo podu.<\/p>\n<p>P\u0159edstavme si, \u017ee chceme ukon\u010dit jeden z pod\u016f. V tuto chv\u00edli p\u0159estane p\u0159ij\u00edmat nov\u00fd provoz \u2013 b\u011b\u017e\u00edc\u00ed kontejnery v podu nebudou ovlivn\u011bny, ale ve\u0161ker\u00fd nov\u00fd provoz bude zablokov\u00e1n.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/d89c31e39bfdc16e5a8db3b4e22f8dca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPod\u00edvejme se na hook preStop \u2013 to je speci\u00e1ln\u00ed p\u0159\u00edkaz nebo HTTP po\u017eadavek, kter\u00fd je zas\u00edl\u00e1n kontejner\u016fm v podu. Pokud va\u0161e aplikace p\u0159i obdr\u017een\u00ed SIGTERM nevyp\u00edn\u00e1 spr\u00e1vn\u011b, m\u016f\u017eete pou\u017e\u00edt preStop pro spr\u00e1vn\u00e9 ukon\u010den\u00ed. <\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/9d45a209daf3b5698266481680b45da2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u011bt\u0161ina program\u016f p\u0159i obdr\u017een\u00ed sign\u00e1lu SIGTERM spr\u00e1vn\u011b kon\u010d\u00ed sv\u016fj b\u011bh, ale pokud pou\u017e\u00edv\u00e1te extern\u00ed k\u00f3d nebo syst\u00e9m, kter\u00fd nem\u016f\u017eete \u00fapln\u011b kontrolovat, hook preStop je skv\u011bl\u00fd zp\u016fsob, jak vyvolat elegantn\u00ed vypnut\u00ed bez zm\u011bny aplikace.<\/p>\n<p>Po proveden\u00ed tohoto hooku Kubernetes za\u0161le kontejner\u016fm v podu sign\u00e1l SIGTERM, kter\u00fd je informuje, \u017ee brzy budou vypnuty. Po obdr\u017een\u00ed tohoto sign\u00e1lu v\u00e1\u0161 k\u00f3d p\u0159ejde k procesu vypnut\u00ed. Tento proces m\u016f\u017ee zahrnovat zastaven\u00ed jak\u00fdchkoliv dlouhodob\u00fdch p\u0159ipojen\u00ed, jako je p\u0159ipojen\u00ed k datab\u00e1zi nebo WebSocket, ulo\u017een\u00ed aktu\u00e1ln\u00edho stavu a podobn\u011b.<\/p>\n<p>I kdy\u017e pou\u017e\u00edv\u00e1te hook preStop, je velmi d\u016fle\u017eit\u00e9 zkontrolovat, co se d\u011bje s va\u0161\u00ed aplikac\u00ed, kdy\u017e j\u00ed po\u0161lete sign\u00e1l SIGTERM, jak se p\u0159i tom chov\u00e1, aby ud\u00e1losti nebo zm\u011bny v chodu syst\u00e9mu, zp\u016fsoben\u00e9 vypnut\u00edm podu, nebyly pro v\u00e1s p\u0159ekvapen\u00edm.<\/p>\n<p>V tomto okam\u017eiku, ne\u017e podniknete dal\u0161\u00ed kroky, Kubernetes po\u010dk\u00e1 po stanovenou dobu, zn\u00e1mou jako terminationGracePeriodSecond, co\u017e je doba pro spr\u00e1vn\u00e9 vypnut\u00ed po obdr\u017een\u00ed sign\u00e1lu SIGTERM.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/6f74959ff74252bb1ad2dd9c011c177c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVe v\u00fdchoz\u00edm nastaven\u00ed je tato doba 30 sekund. Je d\u016fle\u017eit\u00e9 poznamenat, \u017ee prob\u00edh\u00e1 paraleln\u011b s hookem preStop a sign\u00e1lem SIGTERM. Kubernetes nebude \u010dekat, a\u017e skon\u010d\u00ed preStop hook a SIGTERM \u2014 pokud va\u0161e aplikace skon\u010d\u00ed d\u0159\u00edve, ne\u017e uplyne doba terminationGracePeriod, Kubernetes okam\u017eit\u011b p\u0159ejde k dal\u0161\u00edmu kroku. Proto zkontrolujte, \u017ee hodnota t\u00e9to doby v sekund\u00e1ch nen\u00ed men\u0161\u00ed ne\u017e \u010das pot\u0159ebn\u00fd pro spr\u00e1vn\u00e9 vypnut\u00ed podu, a pokud p\u0159ekra\u010duje 30s, prodlu\u017ete tuto dobu na pot\u0159ebnou hodnotu v YAML. V uveden\u00e9m p\u0159\u00edkladu je to 60s.<\/p>\n<p>A nakonec, posledn\u00ed krok \u2014 pokud kontejnery st\u00e1le b\u011b\u017e\u00ed po uplynut\u00ed terminationGracePeriod, za\u0161lou sign\u00e1l SIGKILL a budou nucen\u011b odstran\u011bny. V tomto okam\u017eiku Kubernetes tak\u00e9 vy\u010dist\u00ed v\u0161echny ostatn\u00ed objekty podu.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/cb71079ffd166c955474738e5af6301a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes ukon\u010duje b\u011bh pod\u016f z mnoha d\u016fvod\u016f, proto se ujist\u011bte, \u017ee va\u0161e aplikace bude v ka\u017ed\u00e9m p\u0159\u00edpad\u011b ukon\u010dena spr\u00e1vn\u011b, aby byla zaji\u0161t\u011bna stabilita slu\u017eby. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503612\/\">Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb <\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"Z_l_kE1MDTc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/Z_l_kE1MDTc\/hqdefault.jpg\" alt=\"P\u0159ehr\u00e1t video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Mal\u00e1 reklama \ud83d\ude42<\/h3>\n<p>\nD\u011bkujeme, \u017ee s n\u00e1mi z\u016fst\u00e1v\u00e1te. L\u00edb\u00ed se v\u00e1m na\u0161e \u010dl\u00e1nky? Chcete vid\u011bt v\u00edce zaj\u00edmav\u00fdch materi\u00e1l\u016f? Podpo\u0159te n\u00e1s objedn\u00e1vkou nebo doporu\u010den\u00edm zn\u00e1m\u00fdm, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">cloudov\u00e9 VPS pro v\u00fdvoj\u00e1\u0159e od 4,99 $<\/a><\/noindex>, <b>unik\u00e1tn\u00ed alternativa entry-level server\u016f, kterou jsme pro v\u00e1s vymysleli:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">V\u0161echny pravdy o VPS (KVM) E5-2697 v3 (6 jader) 10GB DDR4 480GB SSD 1Gbps od 19 $ nebo jak spr\u00e1vn\u011b rozd\u011blit server?<\/a><\/noindex> (k dispozici varianty s RAID1 a RAID10, a\u017e 24 jader a a\u017e 40GB DDR4).<\/p>\n<p><b>Dell R730xd je dvakr\u00e1t levn\u011bj\u0161\u00ed v datov\u00e9m centru Equinix Tier IV v Amsterdamu?<\/b> Jen u n\u00e1s <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB od 199 $<\/a><\/noindex> v Nizozemsku! <b>Dell R420 \u2014 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 $!<\/b><\/b> \u010ct\u011bte o tom <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Jak postavit infrastrukturu podnikov\u00e9 t\u0159\u00eddy s pou\u017eit\u00edm server\u016f Dell R730xd E5-2650 v4 v hodnot\u011b 9000 eur za pakatel?<\/a><\/noindex><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0412\u0430\u0436\u043d\u044b\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0431\u043e\u0435\u0432. Kubernetes \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0435\u0434\u044f\u0442 \u0437\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82913","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\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\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate\" \/>\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=\"2020-05-26T11:42:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:32+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\udd47Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 vypnut\u00ed Terminate | ProHoster","description":"Nejlep\u0161\u00ed praktiky Kubernetes.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","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":"2020-05-26T11:42:32+00:00","article:modified_time":"2020-05-26T11:42:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82913","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:28:37","updated":"2022-09-29 17:02:01","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/82913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=82913"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/82913\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/82914"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=82913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=82913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=82913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}