{"id":55712,"date":"2020-01-27T00:00:00","date_gmt":"2020-01-26T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat"},"modified":"2020-02-18T14:03:51","modified_gmt":"2020-02-18T11:03:51","slug":"tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat","title":{"rendered":"Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti\" src=\"\/wp-content\/uploads\/2020\/01\/0b076d65db116cabdd1b4ae380d3777d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nZa popolno obvladovanje Kubernetes je potrebno poznati razli\u010dne na\u010dine za skaliranje virov v klastru: po <noindex><a rel=\"nofollow\" href=\"https:\/\/speakerdeck.com\/thockin\/everything-you-ever-wanted-to-know-about-resource-scheduling-dot-dot-dot-almost\">besedah razvijalcev sistema<\/a><\/noindex>, je to ena od glavnih nalog Kubernetes. Pripravili smo visokoleten pregled mehanizmov horizontalnega in vertikalnega avtomatskega skaliranja ter spreminjanja velikosti klastrov, skupaj s priporo\u010dili, kako jih u\u010dinkovito uporabljati.<\/p>\n<p>\u010clanek <noindex><a rel=\"nofollow\" href=\"https:\/\/www.magalix.com\/blog\/kubernetes-autoscaling-101\">Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Autoscaler, and Vertical Pod Autoscaler<\/a><\/noindex> je prevedla ekipa, ki je implementirala avtomatsko skaliranje v <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/containers\/\">Kubernetes aaS od Mail.ru<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Zakaj je pomembno razmisliti o skaliranju <\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/kubernetes-for-much-stuff\">Kubernetes<\/a><\/noindex> \u2014 orodje za upravljanje virov in orkestracijo. Seveda ni slabo, \u010de se poglobimo v odli\u010dne funkcije uvedbe, spremljanja in upravljanja podov (modul pod je skupina kontejnerjev, ki se za\u017eenejo kot odgovor na zahtevo). <\/p>\n<p>Vendar pa bi se morali zamisliti tudi o tak\u0161nih vpra\u0161anjih:<\/p>\n<ol>\n<li>Kako skalirati module in aplikacije?\n<\/li>\n<li>Kako ohranjati konteinerje v delovnem in u\u010dinkovitm stanju?\n<\/li>\n<li>Kako se odzvati na stalne spremembe v kodi in obremenitvah uporabnikov?\n<\/li>\n<\/ol>\n<p>\nNastavitev klastrov Kubernetes za uravnote\u017eenje virov in zmogljivosti je lahko zapletena naloga, ki zahteva strokovno znanje o notranjem delovanju Kubernetes. Obremenitev va\u0161ih aplikacij ali storitev se lahko spreminja \u010dez dan ali celo v eni uri, zato je uravnote\u017eenje bolje razumeti kot nenehen proces.<\/p>\n<h2>Ravni avtomatskega skaliranja Kubernetes<\/h2>\n<p>\nU\u010dinkovito avtomatsko skaliranje zahteva usklajevanje med dvema ravnema: <\/p>\n<ol>\n<li>\u0423\u0440\u043e\u0432\u0435\u043d\u044c pod&#8217;\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 (Horizontal Pod Autoscaler, HPA) \u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (Vertical Pod Autoscaler, VPA). \u042d\u0442\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u0432\u0430\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.\n<\/li>\n<li>Raven klasterja, ki jo upravlja sistem avtomatskega skaliranja klasterja (Cluster Autoscaler, CA), ki pove\u010duje ali zmanj\u0161uje \u0161tevilo vozli\u0161\u010d v klasterju.\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Modul horizontalnega avtomatskega skaliranja (HPA)<\/h2>\n<p>\n\u041a\u0430\u043a \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, HPA \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043f\u043b\u0438\u043a pod&#8217;\u043e\u0432. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0440\u0435\u043f\u043b\u0438\u043a \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0434\u0435\u0432\u043e\u043f\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043f\u0430\u043c\u044f\u0442\u044c. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/#support-for-custom-metrics\">uporabni\u0161kih metrik<\/a><\/noindex>, njih <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/#support-for-multiple-metrics\">kombinacij<\/a><\/noindex> ali celo <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/tutorials\/external-metrics-autoscaling\">zunanjih metrik<\/a><\/noindex>.<\/p>\n<p>Visokoleten pregled delovanja HPA:<\/p>\n<ol>\n<li>HPA nepretr\u017eno preverja vrednosti meritev, ki so bile dolo\u010dene ob namestitvi, s privzetim intervalom 30 sekund.\n<\/li>\n<li>HPA posku\u0161a pove\u010dati \u0161tevilo modulov, \u010de je dose\u017eena dolo\u010dena meja.\n<\/li>\n<li>HPA posodobi \u0161tevilo replik znotraj nadzornika za uvedbo\/replikacijo.\n<\/li>\n<li>Nadzornik za uvedbo\/replikacijo nato uvede vse potrebne dodatne module.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti\" src=\"\/wp-content\/uploads\/2020\/01\/e98534431712eb3303668446b0fe567b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>HPA spro\u017ei postopek uvajanja modulov, ko dose\u017ee mejno vrednost meritev.<\/i><\/p>\n<p>Pri uporabi HPA upo\u0161tevajte naslednje:<\/p>\n<ul>\n<li>Privzeti interval preverjanja HPA je 30 sekund. Dolo\u010da ga zastavica. <i>horizontal-pod-autoscaler-sync-period<\/i> v nadzorniku kontrolerja.\n<\/li>\n<li>Privzeta relativna napaka zna\u0161a 10%.\n<\/li>\n<li>Po zadnjem pove\u010danju \u0161tevila modulov HPA pri\u010dakuje stabilizacijo meritev v treh minutah. Ta interval nastavi zastavica. <i>horizontal-pod-autoscaler-upscale-delay<\/i>.\n<\/li>\n<li>Po zadnjem zmanj\u0161anju \u0161tevila modulov HPA pri\u010dakuje stabilizacijo v petih minutah. Ta interval nastavi zastavica. <i>horizontal-pod-autoscaler-downscale-delay<\/i>.\n<\/li>\n<li>HPA najbolje deluje z objekti uvajanja, ne pa z nadzorniki replik. Horizontalno avtomatsko skaliranje ni zdru\u017eljivo s postopnim posodabljanjem (rolling update), ki neposredno manipulira z nadzorniki replik. Pri uvajanju je \u0161tevilo replik neposredno odvisno od objektov uvajanja.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 pod&#8217;\u043e\u0432<\/h2>\n<p>\n\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (VPA) \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 (\u0438\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435) \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 pod&#8217;\u043e\u0432. \u041f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f pod&#8217;\u043e\u0432 \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f (stateful) \u0438\u043b\u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e (stateless), \u043d\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0434\u043b\u044f stateful-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c VPA \u0438 \u0434\u043b\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043c \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. <\/p>\n<p>VPA \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u0435\u0442 \u043d\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f OOM (out of memory, \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0430\u043c\u044f\u0442\u0438). \u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043e\u0431\u044a\u0435\u043c\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a pod&#8217;\u043e\u0432. \u041f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0435 VPA \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0435\u0442 \u0431\u044e\u0434\u0436\u0435\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f (<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/disruptions\/\">pods distribution budget, PDB<\/a><\/noindex>), da zagotovi minimalno potrebno \u0161tevilo modulov. <\/p>\n<p>Lahko nastavite minimalne in maksimalne vire za vsak modul. Tako lahko omejite najve\u010dji dodeljeni pomnilnik na 8 GB. To je koristno, \u010de trenutni vozli ne morejo dodeliti ve\u010d kot 8 GB pomnilnika na kontejner. Podrobne specifikacije in mehanizmi delovanja so opisani v <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/autoscaling\/vertical-pod-autoscaler.md\">uradni VPA wiki<\/a><\/noindex>.<\/p>\n<p>Poleg tega ima VPA zanimivo funkcijo priporo\u010devalca (VPA Recommender). Ta spremlja uporabo virov in dogodke OOM vseh modulov, da predlaga nove vrednosti pomnilnika in procesorskega \u010dasa na podlagi inteligentnega algoritma, ki upo\u0161teva zgodovinske metrike. Na voljo je tudi API, ki sprejme deskriptor pod in vrne predlagane vrednosti virov.<\/p>\n<p>Pomembno je omeniti, da VPA Recommender ne spremlja 'meje' virov. To lahko privede do tega, da modul monopolizira vire v vozlih. Bolje je nastaviti mejno vrednost na ravni prostora imen, da se izognete velikemu poraba pomnilnika ali procesorskega \u010dasa.<\/p>\n<p>Visok nivo delovanja VPA:<\/p>\n<ol>\n<li>VPA neprekinjeno preverja vrednosti metrik, dolo\u010denih ob namestitvi, z privzetim intervalom 10 sekund.\n<\/li>\n<li>\u010ce je dose\u017eena dolo\u010dena meja, VPA posku\u0161a spremeniti dodeljeno koli\u010dino virov.\n<\/li>\n<li>VPA posodobi koli\u010dino virov znotraj nadzora razporeditve\/repliciranja.\n<\/li>\n<li>Ob ponovnem zagonu modulov se vsi novi viri uporabljajo za ustvarjene instance.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti\" src=\"\/wp-content\/uploads\/2020\/01\/324702d5e36e9fcf45ced8b3f276db52.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>VPA doda potrebno koli\u010dino virov. <\/i><\/p>\n<p>Pri uporabi VPA upo\u0161tevajte naslednje to\u010dke:<\/p>\n<ul>\n<li>\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 pod&#8217;\u0430. \u042d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u0441\u043b\u0435 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0414\u043b\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u043f\u043e \u0443\u0437\u043b\u0430\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\n<\/li>\n<li>VPA \u0438 HPA \u043f\u043e\u043a\u0430 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 pod&#8217;\u0430\u0445. \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u043e\u0431\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442 \u0438\u043c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445.\n<\/li>\n<li>VPA prilagaja zahteve kontejnerjev za vire izklju\u010dno na podlagi pretekle in trenutne uporabe. Ne postavlja omejitev uporabe virov. Lahko pride do te\u017eav z nepravilnim delovanjem aplikacij, ki bodo za\u010dele zavzemati vse ve\u010d virov, kar bo privedlo do tega, da Kubernetes ugasne ta pod.\n<\/li>\n<li>VPA je \u0161e v zgodnji fazi razvoja. Bodite pripravljeni, da bo v bli\u017enji prihodnosti sistem lahko do\u017eivel nekatere spremembe. Lahko preberete o <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/autoscaler\/tree\/master\/vertical-pod-autoscaler#known-limitations-of-the-alpha-version\">znanih omejitvah<\/a><\/noindex> in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/autoscaling\/vertical-pod-autoscaler.md#future-work\">razvojnih na\u010drtih<\/a><\/noindex>. \u0422\u0430\u043a, \u0432 \u043f\u043b\u0430\u043d\u0430\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 VPA \u0438 HPA, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0438\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430 &#8216;requires VPA&#8217;).\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>Samodejno prilagajanje klasterja Kubernetes<\/h2>\n<p>\nSamodejno prilagajanje klasterja (Cluster Autoscaler, CA) spreminja \u0161tevilo vozli\u0161\u010d glede na \u0161tevilo pri\u010dakovanih modulov pod. Sistem redno preverja prisotnost pri\u010dakovanih modulov \u2014 in pove\u010duje velikost klasterja, \u010de so potrebni dodatni viri in \u010de klaster ne presega nastavljenih omejitev. CA sodeluje s ponudnikom obla\u010dnih storitev, zahteva dodatna vozli\u0161\u010da ali sprosti neaktivna. Prva javna razli\u010dica CA je bila predstavljena v Kubernetes 1.8.<\/p>\n<p>Visokotanjna shema delovanja CA:<\/p>\n<ol>\n<li>CA preverja prisotnost modulov v \u010dakanju v privzetnem intervalu 10 sekund.\n<\/li>\n<li>\u010ce so en ali ve\u010d modulov v \u010dakanju zaradi pomanjkanja razpolo\u017eljivih virov v klasterju za njihovo razporeditev, posku\u0161a pripraviti eno ali ve\u010d dodatnih vozli\u0161\u010d.\n<\/li>\n<li>Ko ponudnik obla\u010dnih storitev dodeli potrebno vozli\u0161\u010de, se le to pridru\u017ei klasterju in je pripravljeno za obravnavo modulov pod.\n<\/li>\n<li>Kubernetesov na\u010drtovalnik razporedi pri\u010dakovane module na novo vozli\u0161\u010de. \u010ce nekateri moduli po tem \u0161e vedno ostanejo v \u010dakanju, se proces ponovi \u2014 in v klaster dodajo nova vozli\u0161\u010da.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti\" src=\"\/wp-content\/uploads\/2020\/01\/2cd3c97f5d1b040b813940a4e804365e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Samodejno dodeljevanje vozli\u0161\u010d klasterja v oblaku<\/i><\/p>\n<p>Upo\u0161tevajte naslednje pri uporabi CA:<\/p>\n<ul>\n<li>CA zagotavlja, da imajo vsi moduli v klasterju prostor za zagon, ne glede na stopnjo obremenitve procesorja. Poleg tega posku\u0161a zagotoviti, da v klasterju ni nepotrebnih vozli\u0161\u010d.\n<\/li>\n<li>CA registrira potrebo po skaliranju pribli\u017eno v 30 sekundah.\n<\/li>\n<li>Potem ko vozli\u0161\u010de postane nepotrebno, CA privzeto \u010daka 10 minut, preden skalira sistem.\n<\/li>\n<li>V sistemu za avtomatsko skaliranje obstaja koncept raz\u0161irjevalcev (expanders). To so razli\u010dne strategije za izbiro skupine vozli\u0161\u010d, v katero bodo dodana nova.\n<\/li>\n<li>Odgovorno uporabite mo\u017enost <i>cluster-autoscaler.kubernetes.io\/safe-to-evict (true)<\/i>. \u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e pod&#8217;\u043e\u0432 \u0438\u043b\u0438 \u0435\u0441\u043b\u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u044b \u043f\u043e \u0432\u0441\u0435\u043c \u0443\u0437\u043b\u0430\u043c, \u0432\u044b \u0432 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.\n<\/li>\n<li>Iskoristite <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/disruptions\/\">PodDisruptionBudgets<\/a><\/noindex>, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 pod&#8217;\u043e\u0432, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u0447\u0430\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 \u0441\u0442\u0440\u043e\u044f.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kako sisteme za avtomatsko skaliranje Kubernetes sodelujejo med seboj<\/h2>\n<p>\n\u0414\u043b\u044f \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0433\u0430\u0440\u043c\u043e\u043d\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 pod&#8217;\u043e\u0432 (HPA\/VPA), \u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041e\u043d\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439:<\/p>\n<ol>\n<li>HPA \u0438\u043b\u0438 VPA \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u0442 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 pod&#8217;\u043e\u0432 \u0438\u043b\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 pod&#8217;\u043e\u0432.\n<\/li>\n<li>\u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0443\u0437\u043b\u043e\u0432, CA \u0437\u0430\u043c\u0435\u0447\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 pod&#8217;\u043e\u0432 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f.\n<\/li>\n<li>CA dodeli nova vozli\u0161\u010da.\n<\/li>\n<li>Moduli so porazdeljeni po novih vozli\u0161\u010dih.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti\" src=\"\/wp-content\/uploads\/2020\/01\/09379f30f349a235bb26a670ad0d0bfd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Skupni sistem sistemov za skaliranje Kubernetes<\/i><\/p>\n<h2>Tipi\u010dne napake pri avtomatskem skaliranju Kubernetes<\/h2>\n<p>\nObstaja ve\u010d tipi\u010dnih te\u017eav, s katerimi se devops sre\u010duje, ko posku\u0161a uporabiti avtomatsko skaliranje.<\/p>\n<p>HPA in VPA sta odvisna od metrik in nekaterih zgodovinskih podatkov. \u010ce je dodeljenih premalo virov, se moduli zlo\u017eijo in ne morejo ustvarjati metrik. V tem primeru avtomatsko skaliranje nikoli ne bo uspe\u0161no.<\/p>\n<p>\u0421\u0430\u043c\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430 \u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u2014 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u044f\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u0441\u0431\u043e\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f pod&#8217;\u043e\u0432 \u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>Idealni scenarij je 4 minute:<\/p>\n<ol>\n<li>30 sekund. Posodobitev ciljanih metrik: 30\u221260 sekund.\n<\/li>\n<li>30 sekund. HPA preverja vrednosti metrik: 30 sekund.\n<\/li>\n<li>Manj kot 2 sekundi. Moduli pod so ustvarjeni in prehajajo v stanje \u010dakanja: 1 sekunda.\n<\/li>\n<li>Manj kot 2 sekundi. CA vidi \u010dakajo\u010de module in po\u0161ilja klice za pripravo vozli\u0161\u010d: 1 sekunda.\n<\/li>\n<li>3 minute. Obla\u010dni provajder dodeljuje \u010dvorove. K8s \u010deka da budu spremni: do 10 minuta (zavisno od nekoliko faktora).\n<\/li>\n<\/ol>\n<p>\nNajgori (realniji) scenario \u2014 12 minuta:<\/p>\n<ol>\n<li>30 sekundi. A\u017euriranje ciljanih metrika.\n<\/li>\n<li>30 sekundi. HPA proverava vrednosti metrika.\n<\/li>\n<li>Manje od 2 sekunde. Pod moduli su kreirani i prelaze u stanje \u010dekanja.\n<\/li>\n<li>Manje od 2 sekunde. CA vidi \u010dekaju\u0107e module i \u0161alje pozive za pripremu \u010dvorova.\n<\/li>\n<li>10 minuta. Obla\u010dni provajder dodeljuje \u010dvorove. K8s \u010deka da budu spremni. Vreme \u010dekanja zavisi od nekoliko faktora, kao \u0161to su ka\u0161njenje provajdera, ka\u0161njenje operativnog sistema, rad pomo\u0107nih alata.\n<\/li>\n<\/ol>\n<p>\n\u041d\u0435 \u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u0441 \u043d\u0430\u0448\u0435\u0439 CA. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0443\u0437\u043b\u043e\u0432. \u041e\u043d \u043d\u0435 \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0432\u0430\u0448\u0438\u043c\u0438 pod&#8217;\u0430\u043c\u0438 \u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c. \u042d\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e. <\/p>\n<h2>Kako upravljati skaliranjem u Kubernetesu<\/h2>\n<p><\/p>\n<ol>\n<li>Kubernetes \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u0438 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u043a\u0438. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e pod&#8217;\u0430\u043c\u0438 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0432\u0435\u0445\u0430 \u0432 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0438 Kubernetes.\n<\/li>\n<li>\u0423\u0441\u0432\u043e\u0439\u0442\u0435 \u043b\u043e\u0433\u0438\u043a\u0443 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 pod&#8217;\u043e\u0432 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c HPA \u0438 VPA.\n<\/li>\n<li>CA \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u0445 pod&#8217;\u043e\u0432 \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.\n<\/li>\n<li>Za optimalnu konfiguraciju klastera potrebno je razumeti kako razli\u010diti sistemi skaliranja rade zajedno.\n<\/li>\n<li>Pri proceni vremena skaliranja imajte u vidu najgori i najbolji scenario.\n<\/li>\n<\/ol>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/484344\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u044f Kubernetes \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432: \u043f\u043e \u0441\u043b\u043e\u0432\u0430\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 Kubernetes. \u041c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043e\u0431\u0437\u043e\u0440 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438, \u043a\u0430\u043a \u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0421\u0442\u0430\u0442\u044c\u044e Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Autoscaler, and Vertical Pod Autoscaler \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55712","post","type-post","status-publish","format-standard","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=\"\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\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\/sl\/blog\/administrirovanie\/tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0440\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes: \u043a\u0430\u043a \u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat\" \/>\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-01-26T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:51+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\udd47Tri nivoa automatskog skaliranja u Kubernetesu: kako ih efikasno koristiti | ProHoster","description":"Za potpuno.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0440\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes: \u043a\u0430\u043a \u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c | ProHoster","og:description":"\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/tri-urovnya-avtomasshtabirovaniya-v-kubernetes-kak-ih-effektivno-ispolzovat","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-01-26T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55712","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 19:38:31","updated":"2022-09-29 14:33:55","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/55712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=55712"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/55712\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=55712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=55712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=55712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}