{"id":94262,"date":"2020-09-14T19:42:34","date_gmt":"2020-09-14T17:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod"},"modified":"2020-09-14T19:42:34","modified_gmt":"2020-09-14T17:42:34","slug":"kak-poluchit-dostup-k-resursam-kubernetes-pod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod","title":{"rendered":"Kuidas p\u00e4\u00e4seda Kubernetes Podi ressurssidele","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kuidas p\u00e4\u00e4seda Kubernetes Podi ressurssidele\" src=\"\/wp-content\/uploads\/2020\/09\/3d6760d512ef456daad121f7d1ddbcf8.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" href=\"https:\/\/www.deviantart.com\/tohad\/art\/The-Reward-549720998\"><i>Tohad'i p\u00e4rl<\/i><\/a><\/noindex><\/p>\n<p>Kubernetes'iga alustades unustatakse tavaliselt konteinerite ressursi seadistamine. Sel etapil piisab, kui veenduda, et Docker'i pilt t\u00f6\u00f6tab ja seda saab Kubernetes'i klastris juurutada.<\/p>\n<p>Kuid hiljem tuleb rakendus juurutada tootmisklastrisse koos teiste rakendustega. Selleks tuleb konteinerile ressursid eraldada ja veenduda, et neid on piisavalt rakenduse k\u00e4ivitamiseks ja t\u00f6\u00f6tamiseks, ning et teistes k\u00e4ivitatud rakendustes ei tekiks probleeme.<\/p>\n<p>Meeskond <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/\">Mail.ru Kubernetes aaS<\/a><\/noindex> t\u00f5lkis artikli konteinerite ressurssidest (CPU &amp; MEM), ressursside n\u00f5udmistest ja piirangutest. Saate teada, millised eelised annavad need seadistused ja mis juhtub, kui neid ei seadistata.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Arvutusressursid<\/h2>\n<p>\nMeil on kaks t\u00fc\u00fcpi ressursse j\u00e4rgmiste \u00fchikutega:<\/p>\n<ul>\n<li>Keskmine protsessor (CPU) \u2014 s\u00fcdamikud;<\/li>\n<li>M\u00e4lu (MEM) \u2014 baitid.<\/li>\n<\/ul>\n<p>\nRessursid m\u00e4\u00e4ratakse iga konteineri jaoks. J\u00e4rgmises YAML-failis Pod n\u00e4ete ressurside jaotust, mis sisaldab n\u00f5utud ja piiratud ressursse:<\/p>\n<ul>\n<li>N\u00f5utud ressursid Pod = k\u00f5igi konteinerite n\u00f5utud ressursside summa;<\/li>\n<li>Piiratud ressursid Pod = k\u00f5igi konteinerite piiratud ressursside summa.<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"plaintext\">apiVersion: v1\nkind: Pod\nmetadata:\n  name: backend-pod-name\n  labels:\n    application: backend\nspec:\n  containers:\n    \u2014 name: main-container\n      image: my-backend\n      tag: v1\n      ports:\n      \u2014 containerPort: 8080\n      resources:\n        requests:\n          cpu: 0.2 # REQUESTED CPU: 200m cores\n          memory: &quot;1Gi&quot; # REQUESTED MEM: 1Gi\n        limits:\n          cpu: 1 # MAX CPU USAGE: 1 core\n          memory: &quot;1Gi&quot; # MAX MEM USAGE:  1Gi\n    \u2014 name: other-container\n      image: other-app\n      tag: v1\n      ports:\n      \u2014 containerPort: 8000\n      resources:\n        requests:\n          cpu: &quot;200m&quot; # REQUESTED CPU: 200m cores\n          memory: &quot;0.5Gi&quot; # REQUESTED MEM: 0.5Gi\n        limits:\n          cpu: 1 # MAX CPU USAGE: 1 core\n          memory: &quot;1Gi&quot; # MAX MEM USAGE:  1Gi<\/code><\/pre>\n<p>Palutud ja piiritletud ressurside n\u00e4ide<\/p>\n<p>V\u00e4li <code>resources.requested<\/code> Pod-spetsiifikast \u2014 \u00fcks elemente, mida kasutatakse \u00f5ige s\u00f5lme otsimiseks. Sellele saab juba planeerida Pod'i juurutamise. Kuidas aga sobivat s\u00f5lme otsitakse?<\/p>\n<p>Kubernetes koosneb mitmest komponendist, sealhulgas sisaldab peamist s\u00f5lme ehk master-s\u00f5lme (Kubernetes Control Plane). Master-s\u00f5lmes on mitmeid protsesse: kube-apiserver, kube-controller-manager ja kube-scheduler. <\/p>\n<p>Kube-scheduleri protsess vastutab uute moodulite j\u00e4lgimise ja sobivate t\u00f6\u00f6node otsimise eest, mis vastavad k\u00f5ikidele moodulite n\u00f5udmistele, sealhulgas n\u00f5utud ressursside hulgale. Kube-scheduleri leitud node'id on j\u00e4rjekorda pandud. Pod planeeritakse node'ile, millel on k\u00f5ige k\u00f5rgemad punktid.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas p\u00e4\u00e4seda Kubernetes Podi ressurssidele\" src=\"\/wp-content\/uploads\/2020\/09\/b489991a3cbbd5359c99701886d488e5.jpg\" style=\"display:block;margin: 0 auto;\" \/>Kuhu paigutatakse lilla Pod?<\/p>\n<p>Pildilt on n\u00e4ha, et kube-scheduler peab planeerima uue lillakase Pod'i. Kubernetes'i klaster sisaldab kahte node'i: A ja B. Nagu v\u00f5ib m\u00e4rgata, ei saa kube-scheduler planeerida Pod'i node'ile A \u2014 saadaolevad (mitte n\u00f5utud) ressursid ei vasta lilla Pod'i n\u00f5udmistele. Nii, lilla Pod'i n\u00f5utav 1 GB m\u00e4lu ei mahuks node'ile A, kuna saadaolev m\u00e4lu on 0,5 GB. Kuid node'il B on piisavalt ressursse. L\u00f5ppkokkuv\u00f5ttes otsustab kube-scheduler, et lilla Pod'i sihtkoht on node B.<\/p>\n<p>N\u00fc\u00fcd teame, kuidas n\u00f5utud ressursid m\u00f5jutavad node'i valikut Pod'i k\u00e4ivitamiseks. Aga kuidas m\u00f5jutavad piiriressursid?<\/p>\n<p>Ressursside piirangud on piir, mida CPU\/MEM ei saa \u00fcletada. Siiski on CPU ressurss paindlik, seega konteinerid, mis on saavutanud CPU piirv\u00e4\u00e4rtused, ei p\u00f5hjusta Pod'i seiskumist. Selle asemel k\u00e4ivitub CPU talitluspiirang. Kui aga saavutatakse MEM kasutamise piir, siis konteiner peatatakse OOM-Killer'i t\u00f5ttu ja taask\u00e4ivitatakse, kui see on RestartPolicy seadistusega lubatud.<\/p>\n<h2>K\u00fcsitud ja piiratud ressursid detailides<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Kuidas p\u00e4\u00e4seda Kubernetes Podi ressurssidele\" src=\"\/wp-content\/uploads\/2020\/09\/22e672100940e8895ae42a56a681111f.jpg\" style=\"display:block;margin: 0 auto;\" \/>Ressursside seos Docker'i ja Kubernetes'e vahel<\/p>\n<p>Parim viis selgitada, kuidas k\u00fcsitud ja piiratud ressursid t\u00f6\u00f6tavad, on n\u00e4ha seost Kubernetes'e ja Docker'i vahel. \u00dclaltoodud joonisel n\u00e4ete, kuidas on seotud Kubernetes'e v\u00e4ljad ja Docker'i k\u00e4ivitamislipikud.<\/p>\n<h2>M\u00e4lu: k\u00fcsimine ja piirang<\/h2>\n<p><\/p>\n<pre><code class=\"plaintext\">containers:\n...\n resources:\n   requests:\n     memory: &quot;0.5Gi&quot;\n   limits:\n     memory: &quot;1Gi&quot;\n<\/code><\/pre>\n<p>\nNagu eelpool mainitud, m\u00f5\u00f5detakse m\u00e4lu baitides. Tuginedes <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/manage-resources-containers\/#meaning-of-memory\">Kubernetes'i dokumentatsioonis<\/a><\/noindex>, saame m\u00e4lu m\u00e4\u00e4rata numbrina. Tavaline on, et see on t\u00e4isarv, n\u00e4iteks 2678 \u2014 see t\u00e4hendab 2678 baiti. Samuti saab kasutada sufikseid <code>G<\/code> ja <code>Gi<\/code>, oluline on meeles pidada, et need ei ole samav\u00e4\u00e4rsed. Esimene on k\u00fcmnendi, teine aga binaars\u00fcsteemi. N\u00e4iteks k8s dokumentatsioonis mainitud: <code>128974848<\/code>, <code>129e6<\/code>, <code>129M<\/code>, <code>123Mi<\/code> \u2014 need on praktiliselt ekvivalentsed.<\/p>\n<p>Kubernetesi parameeter <code>limits.memory<\/code> vastab lipule <code>--memory<\/code> Dockerist. Kui <code>request.memory<\/code> n\u00e4idik Dockerile puudub, kuna Docker ei kasuta seda v\u00e4lja. Kas on m\u00f5tet seda \u00fcldse k\u00fcsida? Jah, on. Nagu ma juba mainisin, on v\u00e4lja jaoks Kubernetesel oluline. Selle teabe p\u00f5hjal otsustab kube-scheduler, millisele s\u00f5lmele Planeerida Pod.<\/p>\n<p><strong>Mis juhtub, kui m\u00e4\u00e4rate p\u00e4ringule liiga v\u00e4he m\u00e4lu?<\/strong><\/p>\n<p>Kui konteiner saavutab k\u00fcsitud m\u00e4lu piirid, paigutatakse Pod gruppi Podide hulgast, mis peatatakse, kui nodis on m\u00e4lu puudus.<\/p>\n<p><strong>Mis juhtub, kui m\u00e4\u00e4rate liiga v\u00e4ikese m\u00e4lu piiri?<\/strong><\/p>\n<p>Kui konteiner \u00fcletab m\u00e4lu piiri, l\u00f5petatakse see OOM-Killed'i t\u00f5ttu. Ja see taask\u00e4ivitub, kui see on v\u00f5imalik RestartPolicy alusel, kus vaikimisi v\u00e4\u00e4rtus on <code>Always<\/code>.<\/p>\n<p><strong>Mis juhtub, kui n\u00f5utavat m\u00e4lu ei n\u00e4idata?<\/strong><\/p>\n<p>Kubernetes v\u00f5tab piiri v\u00e4\u00e4rtuse ja seab selle vaikimisi v\u00e4\u00e4rtuseks.<\/p>\n<p><strong>Mis v\u00f5ib juhtuda, kui piiravat m\u00e4lu ei n\u00e4idata?<\/strong><\/p>\n<p>Konteineril pole piiranguid, ta v\u00f5ib kasutada nii palju m\u00e4lu, kui soovib. Kui ta aga hakkab kasutama kogu s\u00f5lme olemasolevat m\u00e4lu, tapab ta OOM. Seej\u00e4rel ta taask\u00e4ivitatakse, kui see on v\u00f5imalik RestartPolicy p\u00f5hjal.<\/p>\n<p><strong>Mis juhtub, kui m\u00e4lu piiranguid ei m\u00e4\u00e4rata?<\/strong><\/p>\n<p>See on halvim stsenaarium: planeerija ei tea, kui palju ressursse konteiner vajab, ja see v\u00f5ib p\u00f5hjustada t\u00f5siseid probleeme s\u00f5lmes. Sellisel juhul oleks hea omada vaikimisi piiranguid nimespaces (mille m\u00e4\u00e4ravad LimitRange). Vaikimisi piiranguid ei ole \u2014 Podil ei ole piiranguid, see v\u00f5ib kasutada nii palju m\u00e4lu, kui soovib.<\/p>\n<p>Kui taotletud m\u00e4lu on suurem, kui s\u00f5lm suudab pakkuda \u2014 Pod ei ole planeeritud. Oluline on meeles pidada, et <code>Requests.memory<\/code> \u2014 ei ole minimaalne v\u00e4\u00e4rtus. See kirjeldab m\u00e4lu mahtu, mis on piisav konteineri pidevaks t\u00f6\u00f6ks. <\/p>\n<p>Tavaliselt soovitatakse m\u00e4\u00e4rata sama v\u00e4\u00e4rtus <code>request.memory<\/code> ja <code>limit.memory<\/code>. See tagab, et Kubernetes ei planeeri Pod-i s\u00f5lmele, millel on piisavalt m\u00e4lu Pod-i k\u00e4ivitamiseks, kuid mitte piisavalt t\u00f6\u00f6ks. Pidage meeles: Pod-i planeerimisel v\u00f5tab Kubernetes arvesse ainult <code>requests.memory<\/code>, ja <code>limits.memory<\/code> ei arvesse v\u00f5ta.<\/p>\n<h2>CPU: p\u00e4ring ja piirang<\/h2>\n<p><\/p>\n<pre><code class=\"plaintext\">containers:\n...\n resources:\n   requests:\n     cpu: 1\n   limits:\n     cpu: &quot;1200m&quot;\n<\/code><\/pre>\n<p>\nCPU puhul on k\u00f5ik natuke keerulisem. Naastes pildi juurde Kubernetes'i ja Docker'i vahelisest seosest, v\u00f5ib m\u00e4rkida, et <code>request.cpu<\/code> vastab <code>--cpu-shares<\/code>, samas kui <code>limit.cpu<\/code> vastab lipule <code>cpus<\/code> Docker'is.<\/p>\n<p>Kubernetes'i poolt k\u00fcsitud CPU korrutatakse 1024-ga \u2014 CPU ts\u00fcklite suhe. Kui soovite k\u00fcsida 1 t\u00e4is tuuma, peate lisama <code>cpu: 1<\/code>, nagu eespool n\u00e4idatud. <\/p>\n<p>T\u00e4is tuuma p\u00e4rimine (suhe = 1024) ei t\u00e4henda, et teie konteiner seda saab. Kui teie host-arvutis on ainult \u00fcks tuum ja kasutate rohkem kui \u00fchte konteinerit, peavad k\u00f5ik konteinerid jagama saadaolevat CPU-d omavahel. Kuidas see toimub? Vaadakem pilti.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas p\u00e4\u00e4seda Kubernetes Podi ressurssidele\" src=\"\/wp-content\/uploads\/2020\/09\/7f4b20642708ef3a7e773d7900161267.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCPU p\u00e4ring \u2014 s\u00fcsteem \u00fche tuumaga<\/p>\n<p>Kujutage ette, et teil on host-s\u00fcsteem, kus on \u00fcks tuum ja k\u00e4ivad konteinerid. Ema (Kubernetes) on k\u00fcpsetanud koogi (CPU) ja soovib seda jagada laste vahel (konteinerid). Kolm last soovivad \u00fchte t\u00e4is kooki (suhe = 1024), veel \u00fcks laps soovib poole kooki (512). Ema soovib olla \u00f5iglane ja teeb lihtsa arvutuse.<\/p>\n<pre><code class=\"plaintext\"># \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0440\u043e\u0433\u043e\u0432 \u0445\u043e\u0442\u044f\u0442 \u0434\u0435\u0442\u0438?\n# 3 \u0440\u0435\u0431\u0435\u043d\u043a\u0430 \u0445\u043e\u0442\u044f\u0442 \u043f\u043e \u0446\u0435\u043b\u043e\u043c\u0443 \u043f\u0438\u0440\u043e\u0433\u0443 \u0438 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u043f\u0438\u0440\u043e\u0433\u0430\ncakesNumberKidsWant = (3 * 1) + (1 * 0.5) = 3.5\n# \u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:\n3 (\u0440\u0435\u0431\u0435\u043d\u043a\u0430\/\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430) * 1 (\u0446\u0435\u043b\u044b\u0439 \u043f\u0438\u0440\u043e\u0433\/\u043f\u043e\u043b\u043d\u043e\u0435 \u044f\u0434\u0440\u043e) + 1 (\u0440\u0435\u0431\u0435\u043d\u043e\u043a\/\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440) * 0.5 (\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u043f\u0438\u0440\u043e\u0433\u0430\/\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u044f\u0434\u0440\u0430)\n# \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0440\u043e\u0433\u043e\u0432 \u0438\u0441\u043f\u0435\u0447\u0435\u043d\u043e?\navailableCakesNumber = 1\n# \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0440\u043e\u0433\u0430 (\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e) \u0434\u0435\u0442\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c?\nnewMaxRequest = 1 \/ 3.5 =~ 28%<\/code><\/pre>\n<p>\nArvutuste kohaselt saavad kolm last 28% s\u00fcdamikust, mitte t\u00e4it s\u00fcdamikku. Neljas laps saab 14% t\u00e4isest s\u00fcdamikust, mitte poolt. Kuid k\u00f5ik oleks teistsugune, kui teil on mitme s\u00fcdamikuga s\u00fcsteem.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas p\u00e4\u00e4seda Kubernetes Podi ressurssidele\" src=\"\/wp-content\/uploads\/2020\/09\/7bf71d97add9adcf7cf0260941526590.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00e4ring CPU \u2014 mitme s\u00fcdamikuga (4) s\u00fcsteem<\/p>\n<p>\u00dclaltoodud pildil on n\u00e4ha, et kolm last tahavad t\u00e4ielikku pirukat, ja \u00fcks \u2014 poolt. Kuna ema k\u00fcpsetati neli pirukat, saavad tema lapsed nii palju, kui nad soovivad. Mitme s\u00fcdamikuga s\u00fcsteemis jaotatakse protsessori ressursid k\u00f5igi saadaval olevate protsessorite s\u00fcdamike vahel. Kui konteiner on piiratud v\u00e4hem kui \u00fche t\u00e4ise CPU s\u00fcdamikuga, v\u00f5ib see ikkagi seda 100% ulatuses kasutada. <\/p>\n<p>\u00dclaltoodud arvutused on lihtsustatud, et selgitada, kuidas CPU jaotatakse konteinerite vahel. Loomulikult kasutatakse CPU ressursse ka teiste protsesside poolt peale konteinerite. Kui \u00fches konteineris on protsessid ootel, saavad teised kasutada selle ressursse. <code>CPU: &quot;200m&quot;<\/code> vastab <code>CPU: 0,2<\/code>, mis t\u00e4hendab umbes 20% \u00fchest s\u00fcdamikust.<\/p>\n<p>N\u00fc\u00fcd r\u00e4\u00e4gime <code>limit.cpu<\/code>. CPU, mida Kubernetes piirab, korrutatakse 100-ga. Tulemus on aeg, mille jooksul konteiner saab kasutada iga 100 \u00b5s (\"<code>cpu-periood<\/code>). <\/p>\n<p><code>limit.cpu<\/code> vastab Docker'i lippu <code>--cpu-j\u00f5ud<\/code>. See on uus kombinatsioon vanadest <code>--cpu-periood<\/code> ja <code>--cpu-kvoota<\/code>. Seadistades selle, m\u00e4\u00e4rame, kui palju CPU ressursse konteiner saab maksimaalselt kasutada, enne kui algab piiramise protsess:<\/p>\n<ul>\n<li><strong>cpus<\/strong> \u2014 kombinatsioon <code>cpu-periood<\/code> ja <code>cpu-kvoota. cpus = 1.5<\/code> v\u00f5rdub seadistamisega <code>cpu-periood = 100000<\/code> ja <code>cpu-kvoota = 150000<\/code>;<\/li>\n<li><strong>cpu-periood<\/strong> \u2014 periood <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Completely_Fair_Scheduler\">CPU CFS planeerija<\/a><\/noindex>, vaikimisi 100 mikrosekundit;<\/li>\n<li><strong>cpu-kvoota<\/strong> \u2014 arv mikrosekundeid sees <code>cpu-periood<\/code>, millega konteiner on piiratud.<\/li>\n<\/ul>\n<p>\n<strong>Mis juhtub, kui m\u00e4\u00e4ran liiga v\u00e4he k\u00fcsitud CPU-d?<\/strong><\/p>\n<p>Kui konteiner vajab rohkem, kui on m\u00e4\u00e4ratud, siis ta varastab CPU teistelt protsessidelt.<\/p>\n<p><strong>Mis juhtub, kui m\u00e4\u00e4ran liiga madala CPU limiidi?<\/strong><\/p>\n<p>Kuna CPU ressurss on reguleeritav, siis k\u00e4ivitub piiramise protsess.<\/p>\n<p><strong>Mis juhtub, kui ei m\u00e4\u00e4ra CPU n\u00f5uet?<\/strong><\/p>\n<p>Nagu ka m\u00e4lu puhul, on n\u00f5ude v\u00e4\u00e4rtus v\u00f5rdne limiidiga.<\/p>\n<p><strong>Mis juhtub, kui ei m\u00e4\u00e4ra CPU limiiti?<\/strong><\/p>\n<p>Konteiner kasutab nii palju CPU-d, kui tal on vaja. Kui nimede ruumis on m\u00e4\u00e4ratud vaikimisi CPU poliitika (LimitRange), siis seda limiiti kasutatakse ka konteineri jaoks.<\/p>\n<p><strong>Mis juhtub, kui ei m\u00e4\u00e4ra ei n\u00f5uet ega limiiti CPU-le?<\/strong><\/p>\n<p>Nagu m\u00e4lu puhul, see on halvim stsenaarium. Planeerija ei tea, kui palju ressursse teie konteiner vajab, ja see v\u00f5ib p\u00f5hjustada t\u00f5siseid probleeme s\u00f5lmes. Selle v\u00e4ltimiseks on oluline seada vaikimisi piirangud nimedele (LimitRange).<\/p>\n<p>Pidage meeles: kui k\u00fcsite rohkem CPU-d, kui s\u00f5lmed saavad pakkuda, siis Pod ei planeerita. <code>Requests.cpu<\/code> \u2014 see ei ole minimaalne v\u00e4\u00e4rtus, vaid v\u00e4\u00e4rtus, mis on piisav Podi k\u00e4ivitamiseks ja probleemideta t\u00f6\u00f6tamiseks. Kui rakendus ei teosta keerulisi arvutusi, on parim valik seada <code>request.cpu &lt;= 1<\/code> ja k\u00e4ivitada nii palju koopiakontosid, kui on vaja.<\/p>\n<h2>Ideaalne k\u00fcsitud ressursside v\u00f5i ressursside piiri kogus<\/h2>\n<p>\nOleme \u00f5ppinud arvutusressursside piirangust. N\u00fc\u00fcd on aeg vastata k\u00fcsimusele: 'Kui palju ressursse vajab minu Pod rakenduse probleemivabaks t\u00f6\u00f6tamiseks? Milline kogus on ideaalne?'. <\/p>\n<p>Kahjuks ei ole nendele k\u00fcsimustele selgeid vastuseid. Kui te ei tea, kuidas teie rakendus t\u00f6\u00f6tab, kui palju CPU-d v\u00f5i m\u00e4lu tal vaja on, on parim valik anda rakendusele palju m\u00e4lu ja CPU-d ning seej\u00e4rel l\u00e4bi viia j\u00f5udlustestid.<\/p>\n<p>Lisaks j\u00f5udluskatsetele j\u00e4lgige rakenduse k\u00e4itumist monitorimisprotsessis n\u00e4dala jooksul. Kui graafikud n\u00e4itavad, et teie rakendus tarbib v\u00e4hem ressursse kui soovisite, siis on v\u00f5imalik v\u00e4hendada k\u00fcsitud CPU v\u00f5i m\u00e4lu arvu.<\/p>\n<p>N\u00e4idisena vaadake seda <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/grafana\/dashboards\/7187\">Grafana armatuurlauda<\/a><\/noindex>. See kuvab erinevuse k\u00fcsitud ressursside v\u00f5i ressursside limiidi ja praeguse ressursikasutuse vahel.<\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nRessursside k\u00fcsimine ja piiramine aitab s\u00e4ilitada Kubernetes-klastri t\u00f6\u00f6kindlust. \u00d5ige piirangute seadistamine v\u00e4hendab kulusid ja hoiab rakendused pidevalt t\u00f6\u00f6korras.<\/p>\n<p>Kokkuv\u00f5ttes tuleb meeles pidada mitmeid aspekte:<\/p>\n<ol>\n<li>K\u00fcsitud ressursid on konfigureerimine, mis arvestatakse rakenduse k\u00e4ivitamise ajal (kui Kubernetes plaanib rakenduse paigutust). Vastupidi, ressursside piiramine on oluline rakenduse t\u00f6\u00f6 ajal \u2014 kui rakendus on juba s\u00f5lmes k\u00e4inud.<\/li>\n<li>V\u00f5rreldes m\u00e4luga on CPU reguleeritav ressurss. Kui CPU on liiga v\u00e4he, ei katkesta teie Pod t\u00f6\u00f6, vaid aktiveeritakse trottlingu mehhanism.<\/li>\n<li>Taotletavad ressursid ja ressursipiirangud ei ole minimaalsetest ega maksimaalsetest v\u00e4\u00e4rtustest! M\u00e4\u00e4rates taotletavad ressursid, tagate, et rakendus t\u00f6\u00f6tab sujuvalt.<\/li>\n<li>Hea praktika on m\u00e4\u00e4rata m\u00e4lu taotlus, mis on v\u00f5rdne m\u00e4lu piiranguga.<\/li>\n<li>On soovitatav m\u00e4\u00e4rata taotletud <code>CPU &lt;=1<\/code>, kui rakendus ei teosta keerukaid arvutusi.<\/li>\n<li>Kui taotlete rohkem ressursse, kui node'il on, ei planeerita Pod'i kunagi sellele nodile.<\/li>\n<li>\u00d5ige taotletud ressursi\/piirangu m\u00e4\u00e4ramiseks kasutage koormustestimist ja j\u00e4lgimist.<\/li>\n<\/ol>\n<p>\nLoodan, et see artikkel aitab teil m\u00f5ista ressursside piirangute p\u00f5hikontseptsiooni ja et saate neid teadmisi oma t\u00f6\u00f6s rakendada.<\/p>\n<p>Edu!<\/p>\n<p><strong>Mida veel lugeda:<\/strong><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/500504\/\">SRE j\u00e4lgitavus: nimeruumi ja m\u00f5\u00f5tmete struktuur<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/poleznye-instrumenty-dlya-kubernetes\">90+ kasulikku t\u00f6\u00f6riista Kubernetes'ile: juurutamine, haldamine, j\u00e4lgimine, turvalisus ja mitte ainult<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/tele.click\/k8s_mail\">Meie kanal Kubernetesest Telegramis<\/a><\/noindex>.<\/li>\n<\/ol>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/516014\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94263,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94262","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=\"The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\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\/et\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c Kubernetes Pod | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod\" \/>\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-09-14T17:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-14T17:42:34+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\udd47Kuidas saada juurdep\u00e4\u00e4s Kubernetes Pod'i ressurssidele | ProHoster","description":"Tohad'i preemia Kubernetesiga t\u00f6\u00f6tamisel unustatakse sageli konteinerite ressursi seadistamine. Sellel etapil piisab, kui veenduda, et Docker'i pilt t\u00f6\u00f6tab ja seda saab Kubernetes'i klastris juurutada. Kuid hiljem on vaja rakendus juurutada tootmisklastrisse koos muiden rakendustega. Selleks tuleb konteinerile ressursid eraldada ja veenduda, et neid on piisavalt.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c Kubernetes Pod | ProHoster","og:description":"The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod","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-09-14T17:42:34+00:00","article:modified_time":"2020-09-14T17:42:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94262","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 11:30:27","updated":"2022-10-02 18:20:09"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/94262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=94262"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/94262\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/94263"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=94262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=94262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=94262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}