{"id":82920,"date":"2020-05-26T13:42:37","date_gmt":"2020-05-26T11:42:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov"},"modified":"2020-05-26T13:42:37","modified_gmt":"2020-05-26T11:42:37","slug":"luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","title":{"rendered":"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Najbolje prakse Kubernetes-a. Kreiranje malih kontejnera.<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Najbolje prakse Kubernetes-a. Organiziranje Kubernetes-a s prostorima imena.<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Najbolje prakse Kubernetes-a. Provjera \u017eivotne sposobnosti Kubernetes-a pomo\u0107u Readiness i Liveness testova.<\/a><\/noindex><\/p>\n<p>Za svaki Kubernetes resurs postoji mogu\u0107nost postavljanja dva tipa zahtjeva \u2014 Requests i Limits. Prvi opisuje minimalne zahtjeve za slobodnim resursima \u010dvora koji su potrebni za pokretanje kontejnera ili poda, dok drugi strogo ograni\u010dava resurse dostupne kontejneru. <\/p>\n<p>Kada Kubernetes planira pod, vrlo je va\u017eno da kontejneri imaju dovoljno resursa za normalan rad. Ako planirate implementirati veliku aplikaciju na \u010dvoru s ograni\u010denim resursima, mogu\u0107e je da ne\u0107e raditi zbog nedostatka memorije ili procesorske snage na \u010dvoru. U ovom \u010dlanku \u0107emo razmotriti kako rije\u0161iti probleme nedostatka ra\u010dunalnih resursa kroz zahtjeve za resursima i ograni\u010denja.<\/p>\n<p>Zahtjevi Requests i ograni\u010denja Limits su mehanizmi koje Kubernetes koristi za upravljanje resursima poput procesora i memorije. Requests osiguravaju da kontejner dobije tra\u017eeni resurs. Ako kontejner tra\u017ei resurs, Kubernetes \u0107e ga planirati samo na onom \u010dvoru koji ga mo\u017ee pru\u017eiti. Ograni\u010denja Limits kontroliraju da resursi koje kontejner tra\u017ei nikada ne prema\u0161e odre\u0111enu vrijednost.<\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/047fc1c3dddef1f33be78616ad70d62f.png\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Kontejner mo\u017ee pove\u0107ati ra\u010dunalne resurse samo do odre\u0111enog limita, nakon \u010dega \u0107e biti ograni\u010den. Pogledajmo kako to funkcionira. Dakle, postoje dva tipa resursa \u2014 procesor i memorija. Kubernetesov planirnik koristi podatke o tim resursima kako bi utvrdio gdje pokrenuti va\u0161e pode. Tipi\u010dna specifikacija resursa za pod izgleda ovako.<\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/84f1212f7098d25273217d4218d661f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSvaka posuda u podu mo\u017ee postaviti svoje vlastite zahtjeve i ograni\u010denja, a sve je to aditivno. Resursi procesora odre\u0111uju se u milikorama. Ako va\u0161 kontejner treba dva puna jezgra za pokretanje, postavljate vrijednost na 2000m. Ako kontejneru treba samo 1\/4 jezgra, vrijednost \u0107e biti 250m. Imajte na umu da ako dodijelite vrijednost resursa procesora ve\u0107u od broja jezgra najve\u0107e nodne jedinice, va\u0161a pod jedinica ne\u0107e biti planirana. Sli\u010dna situacija \u0107e se dogoditi ako imate pod koji zahtijeva \u010detiri jezgra, a Kubernetes klaster se sastoji od samo dva glavna virtualna stroja.<\/p>\n<p>Osim ako va\u0161a aplikacija nije posebno dizajnirana za iskori\u0161tavanje prednosti vi\u0161e jezgara (na umu imamo programe poput slo\u017eenih znanstvenih prora\u010duna i operacija s bazama podataka), najbolja praksa je postaviti zahtjeve za CPU na 1 ili ni\u017ee, a zatim pokrenuti ve\u0107i broj replika radi skalabilnosti. Ovo rje\u0161enje \u0107e sustavu dati ve\u0107u fleksibilnost i pouzdanost.<\/p>\n<p>Kada su u pitanju ograni\u010denja procesora, situacija postaje zanimljivija, jer se processor smatra kompresibilnim resursom. Ako va\u0161a aplikacija po\u010dne dolaziti do limita procesorske snage, Kubernetes \u0107e po\u010deti usporavati va\u0161 kontejner koriste\u0107i CPU Throttling \u2014 smanjenje frekvencije procesora. To zna\u010di da \u0107e procesor biti umjetno ograni\u010den, \u0161to mo\u017ee dovesti do lo\u0161ije izvedbe aplikacije, ali proces ne\u0107e biti prekinut ili isklju\u010den. <\/p>\n<p>Resursi memorije odre\u0111uju se u bajtovima. Obi\u010dno se vrijednost u postavkama mjeri u mebibajtima Mib, ali mo\u017eete postaviti bilo koju vrijednost, od bajtova do petabajta. Ovdje vrijedi ista situacija kao i s CPU-om \u2014 ako postavite zahtjev za memorijom koji prema\u0161uje kapacitet memorije va\u0161ih nodova, izvr\u0161enje te pod jedinice ne\u0107e biti planirano. No, za razliku od resursa procesora, memorija se ne mo\u017ee komprimirati jer ne postoji na\u010din da se ograni\u010di njezina upotreba. Stoga \u0107e izvr\u0161enje kontejnera biti zaustavljeno \u010dim prema\u0161i dodijeljenu memoriju.<\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/a2b372ad9de7e065b435dae87ee62708.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVa\u017eno je zapamtiti da ne mo\u017eete postaviti zahtjeve koji prema\u0161uju veli\u010dinu resursa koje va\u0161i \u010dvorovi mogu osigurati. Zna\u010dajke zajedni\u010dkih resursa za GKE virtualne strojeve mo\u017eete prona\u0107i putem poveznica postavljenih ispod ovog videozapisa.<\/p>\n<p>U idealnom svijetu, zadane postavke kontejnera su sasvim dovoljne da radni procesi pro\u0111u glatko. No, stvarni svijet nije takav; ljudi lako mogu zaboraviti postaviti upotrebu resursa ili hakeri mogu postaviti zahtjeve i ograni\u010denja koja prema\u0161uju stvarne mogu\u0107nosti infrastrukture. Kako biste sprije\u010dili razvoj takvih scenarija, mo\u017eete postaviti kvote resursa ResourceQuota i raspon ograni\u010denja LimitRange.<\/p>\n<p>Nakon stvaranja prostora imena, mo\u017eete ih zaklju\u010dati pomo\u0107u kvota. Na primjer, ako imate prostore imena prod i dev, koristi se predlo\u017eak u kojem kvote za produkciju uop\u0107e ne postoje, dok su kvote za razvoj vrlo stroge. To omogu\u0107ava da prod u slu\u010daju naglog porasta prometa preuzme sve dostupne resurse, potpuno blokiraju\u0107i dev.<\/p>\n<p>Kvote resursa mogu izgledati ovako. U ovom primjeru postoje 4 odjeljka \u2013 to su 4 donje linije koda.<\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/569f4ddde6ad46c707e91cc05947fc6b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPogledajmo svaki od njih. Requests.cpu \u2014 to je maksimalni broj kombiniranih zahtjeva procesorske snage koji mogu dolaziti od svih kontejnera u prostoru imena. U ovom primjeru mo\u017eete imati 50 kontejnera s zahtjevima od 10m, pet kontejnera s zahtjevima od 100m ili jednostavno jedan kontejner s zahtjevom od 500m. Dok ukupni broj requests.cpu ovog prostora imena bude manji od 500m, sve \u0107e biti u redu.<\/p>\n<p>Zahtijevana memorija requests.memory \u2014 to je maksimalna koli\u010dina kombiniranih zahtjeva memorije koju svi kontejneri u prostoru imena mogu imati. Kao i u prethodnom slu\u010daju, mo\u017eete imati 50 kontejnera po 2 mib, pet kontejnera po 20 Mib ili jedan kontejner s 100 Mib, sve dok ukupna koli\u010dina zahtijevane memorije u prostoru imena bude manja od 100 mebibajta.<\/p>\n<p>Limits.cpu \u2014 to je maksimalna kombinirana vrijednost procesorske snage koju mogu koristiti svi kontejneri u prostoru imena. Mo\u017ee se smatrati da je to limit za zahtjeve procesorske snage.<\/p>\n<p>Na kraju, limits.memory \u2013 maksimalna koli\u010dina ukupne memorije koju mogu koristiti svi kontejneri u imenskom prostoru. Ova ograni\u010denja su zbirni zahtevi memorije.<br \/>\nDakle, prema zadanim postavkama, kontejneri u Kubernetes klasteru rade s neograni\u010denim ra\u010dunalnim resursima. Pomo\u0107u kvota resursa, administratori klastera mogu ograni\u010diti potro\u0161nju resursa i njihovo stvaranje na osnovu imenskih prostora. U imenskom prostoru, pod moduli ili kontejneri mogu konzumirati onoliko CPU snage i memorije koliko je odre\u0111eno kvotom resursa imenog prostora. Me\u0111utim, postoji zabrinutost da jedan pod ili kontejner mo\u017ee monopolizovati sve dostupne resurse. Da bi se sprije\u010dila takva situacija, koristi se predjelni opseg limit Range \u2013 politika ograni\u010davanja raspodjele resursa (za podove ili kontejnere) u imenskom prostoru.<\/p>\n<p>Predjelni opseg pru\u017ea ograni\u010denja koja mogu:<\/p>\n<ul>\n<li>osigurati minimalnu i maksimalnu upotrebu ra\u010dunalnih resursa za svaki modul ili kontejner u imenskom prostoru;<\/li>\n<li>prisiliti da se minimalni i maksimalni zahtevi za pohranu Storage Request za svaki PersistentVolumeClaim u imenskom prostoru;<\/li>\n<li>prisiliti da se postavi odnos izme\u0111u zahteva Request i ograni\u010denja Limit za resurs u imenskom prostoru;<\/li>\n<li>postaviti Requests\/Limits po defaultu za ra\u010dunalne resurse u imenskom prostoru i automatski ih primijeniti u kontejnere tijekom izvo\u0111enja.<\/li>\n<\/ul>\n<p>\nNa taj na\u010din, mo\u017eete stvoriti predjelni opseg u svom imenskom prostoru. Za razliku od kvote koja se primjenjuje na cijeli imenski prostor, Limit Range se koristi za pojedina\u010dne kontejnere. To mo\u017ee sprije\u010diti korisnike da stvaraju vrlo male ili, s druge strane, ogromne kontejnere unutar imenskog prostora. Predjelni opseg Limit Range mo\u017ee izgledati ovako. <\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/3fb358788910ca21e267a887032cdf1a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKao i u prethodnom slu\u010daju, ovdje se mo\u017ee istaknuti 4 sekcije. Pogledajmo svaku.<br \/>\nU sekciji default postavljaju se zadana ograni\u010denja za kontejner u podu. Ako postavite ove vrednosti u predjelnom opsegu, svi kontejneri za koje ove vrednosti nisu izri\u010dito postavljene, bit \u0107e vo\u0111eni zadanim vrednostima.<\/p>\n<p>U odjeljku defaultRequest postavljeni su zahtjevi po defaultu za kontejnere u podu. Ponovno, ako postavite ove vrijednosti unutar ograni\u010denja, svi kontejneri za koje ovi parametri nisu izri\u010dito postavljeni, koristit \u0107e ove vrijednosti kao zadane.<\/p>\n<p>U odjeljku max navedena su maksimalna ograni\u010denja koja se mogu postaviti za kontejnere u podu. Vrijednosti u odjeljku default i ograni\u010denja za kontejnere ne mogu biti postavljene iznad ovog praga. Va\u017eno je napomenuti da, ako je postavljena vrijednost max, a odjeljak default ne postoji, tada maksimalna vrijednost postaje zadana vrijednost.<\/p>\n<p>U odjeljku min navedeni su minimalni zahtjevi koji se mogu postaviti za kontejnere u podu. Vrijednosti u odjeljku default i zahtjevi za kontejnere ne mogu biti postavljeni ispod ovog praga.<\/p>\n<p>Ponovno, va\u017eno je napomenuti da, ako je ova vrijednost postavljena, a default vrijednost nije, tada minimalna vrijednost postaje zahtjev po defaultu.<\/p>\n<p>Na kraju, ovi zahtjevi resursa koriste Kubernetes scheduler za izvr\u0161avanje va\u0161ih radnih optere\u0107enja. Da biste mogli ispravno postaviti svoje kontejnere, vrlo je va\u017eno razumjeti kako to funkcionira. Pretpostavimo da \u017eelite pokrenuti nekoliko modula u svom klasteru. Pod uvjetom da su specifikacije poda valjane, u rasporedu Kubernetes \u0107e se koristiti cikli\u010dna ravnote\u017ea za odabir \u010dvora za izvr\u0161avanje radnog optere\u0107enja.<\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/29abd097fc0158dfbb585c4617036ccf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes \u0107e provjeriti ima li \u010dvor Node 1 dovoljno resursa za izvr\u0161avanje zahtjeva kontejnera poda, a ako ne, pre\u0107i \u0107e na sljede\u0107i \u010dvor. Ako nijedan od \u010dvorova u sustavu ne mo\u017ee zadovoljiti zahtjeve, podovi \u0107e pre\u0107i u stanje \u010dekanja (Pending state). Uz pomo\u0107 funkcija kao \u0161to su automatsko skaliranje \u010dvorova u Google Kubernetes Engineu, GKE mo\u017ee automatski prepoznati stanje \u010dekanja i stvoriti dodatne \u010dvorove. <\/p>\n<p>Ako kasnije do\u0111e do vi\u0161ka kapaciteta \u010dvorova, funkcija automatskog skaliranja smanjit \u0107e njihovu koli\u010dinu kako bi vam u\u0161tedjela novac. Zbog toga Kubernetes planira podove na temelju zahtjeva. Me\u0111utim, limit mo\u017ee biti ve\u0107i od zahtjeva, a u nekim slu\u010dajevima \u010dvor mo\u017ee zapravo iscrpiti resurse. Takvo stanje nazivamo stanjem overcommitment.<\/p>\n<p><img decoding=\"async\" alt=\"Najbolje prakse Kubernetes-a. Konfiguracija zahtjeva i ograni\u010denja resursa\" src=\"\/wp-content\/uploads\/2020\/05\/995c906880f09734c4765519f1f2465d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKao \u0161to sam ve\u0107 rekao, kada je u pitanju procesor, Kubernetes \u0107e po\u010deti ograni\u010davati podove. Svaki pod \u0107e dobiti koliko je zatra\u017eio, ali ako ne dostigne limit, po\u010det \u0107e se primjenjivati throttling. <\/p>\n<p>\u0160to se ti\u010de resursa memorije, Kubernetes je prisiljen donositi odluke o tome koje podove ukloniti, a koje zadr\u017eati, sve dok ne oslobodite sistemske resurse, ina\u010de \u0107e cijeli sistem pasti.<\/p>\n<p>Zamislimo scenarij u kojem imate stroj koji je dostigao limit memorije \u2013 kako \u0107e se Kubernetes u tom slu\u010daju pona\u0161ati? <\/p>\n<p>Kubernetes \u0107e tra\u017eiti podove koji koriste vi\u0161e resursa nego \u0161to su zatra\u017eili. Dakle, ako va\u0161i kontejneri nemaju nikakve zahtjeve, to zna\u010di da po defaultu koriste vi\u0161e nego \u0161to su zatra\u017eili, jednostavno zato \u0161to nisu zatra\u017eili ni\u0161ta! Takvi kontejneri postaju glavni kandidati za isklju\u010divanje. Sljede\u0107i kandidati su kontejneri koji su zadovoljili sve svoje zahtjeve, ali se i dalje nalaze ispod maksimalnog limita. <\/p>\n<p>Dakle, ako Kubernetes prona\u0111e nekoliko podova koji su prema\u0161ili svoje zahtjeve, sortira ih prema prioritetu, a zatim uklanja module s najni\u017eim prioritetom. Ako svi moduli imaju isti prioritet, Kubernetes \u0107e prekinuti rad onih podova koji su prema\u0161ili svoje zahtjeve vi\u0161e od ostalih podova. <\/p>\n<p>U vrlo rijetkim slu\u010dajevima Kubernetes mo\u017ee prekinuti rad podova koji se jo\u0161 uvijek nalaze unutar svojih zahtjeva. To se mo\u017ee dogoditi kada kriti\u010dne komponente sistema, poput Kubelet agenta ili Dockera, po\u010dnu koristiti vi\u0161e resursa nego \u0161to je za njih rezervirano. <br \/>\nDakle, u ranim fazama rada malih tvrtki, Kubernetes klaster mo\u017ee savr\u0161eno raditi bez postavljanja zahtjeva za resursima i ograni\u010denja, ali kako va\u0161e ekipe i projekti po\u010dinju rasti, mo\u017eete se suo\u010diti s problemima u ovom podru\u010dju. Dodavanje zahtjeva i ograni\u010denja u va\u0161e module i prostore imena zahtijeva vrlo malo dodatnog truda i mo\u017ee vas osloboditi mnogih briga.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\"> Najbolje prakse Kubernetes-a. Ispravno isklju\u010divanje Terminate<\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"mxEvAPQRwhw\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/mxEvAPQRwhw\/hqdefault.jpg\" alt=\"Pogledajte 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>Malo reklame \ud83d\ude42<\/h3>\n<p>\nHvala \u0161to ostajete s nama. Svi\u0111a li vam se na\u0161e \u010dlanke? \u017delite li vidjeti vi\u0161e zanimljivih materijala? Podr\u017eite nas narud\u017ebom ili preporu\u010dite prijateljima, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">obla\u010dni VPS za developere od 4,99 $<\/a><\/noindex>, <b>jedinstveni analog entry-level servera koji smo razvili za vas:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Sva istina o VPS-u (KVM) E5-2697 v3 (6 jezgri) 10GB DDR4 480GB SSD 1Gbps od 19 $ ili kako pravilno dijeliti server?<\/a><\/noindex> (dostupne opcije s RAID1 i RAID10, do 24 jezgre i do 40GB DDR4).<\/p>\n<p><b>Dell R730xd je 2 puta jeftiniji u data centaru Equinix Tier IV u Amsterdamu?<\/b> Samo kod nas <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> u Nizozemskoj! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 $!<\/b><\/b> Pro\u010ditajte o tome <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Kako izgraditi infrastrukturu korporacijske klase koriste\u0107i Dell R730xd E5-2650 v4 servere po cijeni od 9000 eura za sitni\u0161?<\/a><\/noindex><br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">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 \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Kubernetes \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 Requests \u0438 Limits. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82921,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82920","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=\"\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\/hr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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. \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 | 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\/hr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\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:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:37+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\udd47Najbolje prakse Kubernetes-a. Postavljanje zahtjeva i limita resursa | ProHoster","description":"Najbolje prakse Kubernetes.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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. \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 | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","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:37+00:00","article:modified_time":"2020-05-26T11:42:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82920","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-28 05:48:38","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/82920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=82920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/82920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/82921"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=82920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=82920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=82920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}