{"id":81185,"date":"2020-05-11T13:42:59","date_gmt":"2020-05-11T11:42:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/k8s-multicluster-journey"},"modified":"2020-05-11T13:42:59","modified_gmt":"2020-05-11T11:42:59","slug":"k8s-multicluster-journey","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/k8s-multicluster-journey","title":{"rendered":"K8S Multiklastri Teekond","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere, Habr!<\/p>\n<p>Tutvustame Exnessi ettev\u00f5tte platvormi meeskonda. Varasemalt on meie kolleegid kirjutanud artikli <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/exness\/blog\/488392\/\">Tootevalmis pildid k8s-ile<\/a><\/noindex>. T\u00e4na soovime jagada kogemusi teenuste migreerimisel Kubernetesesse.<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/23684e366a59da27be15384fc9e9f2b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAlustuseks pakume teile veidi numbreid, et paremini m\u00f5ista, millest jutt k\u00e4ib:<\/p>\n<ul>\n<li>Meie arendusosakonnas on \u00fcle 100 inimese, sealhulgas rohkem kui 10 erinevat meeskonda iseseisvate QA, DevOps ja Scrum protsessidega. Arendustehnoloogia \u2014 Python, PHP, C++, Java ja Golang.\u00a0\n<\/li>\n<li>Katses\u00fcsteem ja tootmiskeskkond \u2014 umbes 2000 konteinerit kummaski. Need on halduses Rancher v1.6 oma virtualiseerimise ja VMware'i all.\u00a0\n<\/li>\n<\/ul>\n<p><\/p>\n<h4>Motivatsioon<\/h4>\n<p>\nNagu \u00f6eldakse, ei ole miski igavene kuu all, ja Rancher on juba ammu kuulutanud v\u00e4lja versiooni 1.6 toe l\u00f5petamise. Jah, me oleme \u00fcle kolme aasta \u00f5ppinud sellega toime tulema ja probleeme lahendama, kuid \u00fcha enam sattusime probleemide k\u00e4tte, mida kunagi ei lahendata. Samuti on Rancher 1.6-l j\u00e4ik \u00f5iguste s\u00fcsteem, kus saad kas peaaegu k\u00f5ike v\u00f5i mitte midagi.<\/p>\n<p>Oma virtualiseerimine andis k\u00fcll suuremat kontrolli andmete ja nende turvalisuse \u00fcle, kuid t\u00f5i kaasa kulud, millega oli raske leppida ettev\u00f5tte pideva kasvu, projektide arvu ja nende n\u00f5udmiste t\u00f5ttu.<\/p>\n<p>Me soovisime j\u00e4rgida IaC standarditele ja vajadusel kiiresti ressursse saada igas geograafias ning ilma m\u00fc\u00fcgi piiranguteta, samuti kiiresti need tagasi anda.<\/p>\n<h4>Esimesed sammud<\/h4>\n<p>\nEsiteks soovisime toetuda kaasaegsetele tehnoloogiatele ja lahendustele, mis v\u00f5imaldaksid meeskondadel kiiremini arendada ning miinimumini v\u00e4hendada toimingute kulusid platvormiga, mis ressursse pakub.\u00a0<br \/>\n\u00a0<br \/>\nMuidugi tuli meelde Kubernetes, kuid me ei hakanud kiirustama ja viisime l\u00e4bi v\u00e4ikese uurimuse oma valiku \u00f5igustamiseks. Hindasime ainult avatud l\u00e4htekoodiga lahendusi ja ausa m\u00f5\u00f5duv\u00f5tuga v\u00f5itis Kubernetes.\u00a0\u00a0<\/p>\n<p>J\u00e4rgmine k\u00fcsimus oli t\u00f6\u00f6riistade valik klastrite loomiseks. V\u00f5rdlesime k\u00f5ige populaarsemaid lahendusi: kops, kubespray, kubeadm.<\/p>\n<p>Kubeadm tundus alguseks liiga keeruline lahendus, pigem nagu jalgratta leiutamine, ja kopsil puudus paindlikkus.<\/p>\n<p>Nii et v\u00f5itjaks osutus:<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/fb577d241a7f22f2217d3223b81827fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlustasime katsetusi oma virtualiseerimises ja AWS-is, p\u00fc\u00fcdes luua meie eelmise ressursihaldusmustri sarnase mudeli, kus k\u00f5ik kasutavad \u00fchte ja sama \"klastri\". Ja nii tekkis meil esimene k\u00fcmne v\u00e4ikese <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/\"   title=\"virtuaalmasinad\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2027\">virtuaalmasinad<\/a>, paar neist asub AWS-is. Hakkasime proovima meeskondi sinna migreerida, tundus nagu k\u00f5ik l\u00e4ks \"h\u00e4sti\", ja jutust oleks v\u00f5inud l\u00f5ppeda, kuid \u2026<\/p>\n<h4>Esimesed probleemid<\/h4>\n<p>\nAnsible \u2014 millele kubespray p\u00f5hineb, ei ole see t\u00f6\u00f6riist, mis v\u00f5imaldaks j\u00e4rgida IaC: nodede sisse- ja v\u00e4ljaviimisel tekkis pidevalt probleeme, mis vajasid sekkumist, ja erinevate OS-ide kasutamisel k\u00e4itus playbook erinevalt. Meeskondade ja klastrisse kuuluvate node'ide arvu suurenedes m\u00e4rkasime, et playbooki t\u00e4itmine kestab \u00fcha kauem, meie rekord on 3,5 tundi, aga teie oma? \ud83d\ude42<\/p>\n<p>Ja n\u00e4iliselt on kubespray lihtsalt Ansible ja k\u00f5ik on esmapilgul arusaadav, kuid:<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/93d3f392f22664fbdf5a43fd77947be1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeel olid eesm\u00e4rgid k\u00e4ivitada ressursse ainult AWS-is ja virtualiseerimises, kuid nagu see sageli juhtub, n\u00f5udmised muutusid.<br \/>\n\u00a0<br \/>\n<img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/8db7eada6648da7bdb60920880a8a88d.jpg\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/7f19b80a994d8dce75cd9dd74614fb34.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSelle valguses sai selgeks, et meie vana mustri \u00fchendamiseks ei sobinud enam s\u00fcsteemil, kus klastri halduses on erinevad teenusepakkujad.\u00a0<\/p>\n<p>Edasi \u2014 veelgi enam. Kui k\u00f5ik meeskonnad t\u00f6\u00f6tavad \u00fche klastriga, v\u00f5isid vale NodeSelectori seadistusega erinevad teenused sattuda \u00ab\u00f5\u00f5nsale\u00bb hostile teise meeskonna all ja seal ressursse kasutada, ning taint'i seadmisel tekivad pidevad kaebused, et \u00fcks v\u00f5i teine teenus ei t\u00f6\u00f6ta, ei jaotu \u00f5igesti inimfaktori t\u00f5ttu. Veel \u00fcks probleem oli kulude arvutamine, eriti arvestades teenuste jaotamisega seotud probleeme node'ide vahel.<\/p>\n<p>Erinev lugu oli t\u00f6\u00f6tajatele \u00f5iguste jagamine: iga meeskond soovis olla \u00abesirinnas\u00bb klastris ja seda t\u00e4ielikult juhtida, mis v\u00f5is p\u00f5hjustada t\u00e4ieliku kaose, kuna meeskonnad olid enamasti \u00fcksteisest s\u00f5ltumatud.<\/p>\n<h4>Kuidas edasi?<\/h4>\n<p>\nArvestades eeltoodut ja meeskondade soove olla iseseisvamad, j\u00f5udsime lihtsale j\u00e4reldusele: \u00fcks meeskond \u2014 \u00fcks klaster.\u00a0<\/p>\n<p>Nii s\u00fcndis meie teine:<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/215c3ae09dd79e64657201c791b9375d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJa seej\u00e4rel ka kolmas klaster:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/ea88e0394b97d05747e7d711f63de0a0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiin hakkasime m\u00f5tlema: oletame, et aasta p\u00e4rast on meie meeskondadel rohkem kui \u00fcks klaster? Erinevates geograafilistes piirkondades, n\u00e4iteks, v\u00f5i erinevate teenusepakkujate hallata? Ja keegi neist tahaks kiiresti k\u00e4ivitada ajutise klastrite jaoks m\u00f5ningaid teste.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/44f7f0dfe56462caeb74204ac0c10f54.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00fcbert\u00f5epoolest! See on nagu MultiKubernetes, tuleb v\u00e4lja.\u00a0<\/p>\n<p>Samuti peame k\u00f5ikide nende klastrite hoolduseks olema mingil viisil v\u00f5imelised, omama lihtsat juurdep\u00e4\u00e4su haldamise v\u00f5imalust ning looma uusi ja vanade kasutusest v\u00e4ljav\u00f5tmise ilma k\u00e4sitsi sekkumiseta.<\/p>\n<p>Alates meie teekonna algusest Kubernetes'e maailmas on m\u00f6\u00f6dunud m\u00f5nda aega ja oleme otsustanud uurida olemasolevaid lahendusi uuesti. Selgus, et turul on see juba olemas \u2014 Rancher 2.2.<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/e2547fd5ce3ead078da064b52cb4e6eb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUuringute esimeses etapis oli Rancher Labs juba v\u00e4lja andnud esimese versiooni 2, kuid kuigi seda sai v\u00e4ga kiiresti k\u00e4ivitada, k\u00e4ivitades konteineri ilma v\u00e4liste s\u00f5ltuvusteta paariparameetriga v\u00f5i kasutades ametlikku HELM Chart'i, tundus see meile toore ja me ei teadnud, kas saame sellele lahendusele loota, kas seda arendatakse edasi v\u00f5i j\u00e4etakse kiiresti t\u00e4helepanuta. Isegi klaster = klikkimine UI-s paradigma ei sobinud meile, ja me ei tahtnud RKE'le toetuda, kuna see on \u00fcsna kitsalt suunatud t\u00f6\u00f6riist.\u00a0<\/p>\n<p>Versioon Rancher 2.2 oli juba palju toimivam ja koos eelnevaga omas hulgaliselt huvitavaid v\u00f5imalusi karbist v\u00e4lja, nagu integratsioon paljude v\u00e4listesse teenusepakkujatesse, \u00f5iguste ja kubeconfig failide \u00fchtne jaotamispunkt, kubectl piltide k\u00e4ivitamine sinu \u00f5igustega UI-s, ja sissekanded ehk projektid.\u00a0<\/p>\n<p>Rancher 2 \u00fcmber oli samuti moodustunud kogukond ja loomise kaudu HashiCorp Terraform'i teenusepakkuja, mis aitas meil k\u00f5ik \u00fchte koondada.<\/p>\n<h4>Mis v\u00e4lja tuli<\/h4>\n<p>\nKokkuv\u00f5ttes saime \u00fche v\u00e4ikese klastri, kus on k\u00e4ivitatud Rancher, mis on kergesti juurdep\u00e4\u00e4setav k\u00f5igile teistele klastritele, samuti paljudele seotud klastritele, millele juurdep\u00e4\u00e4su saab anda sama lihtsalt, kui lisada kasutaja ldap katalooge, s\u00f5ltumata tema asukohast ja kasutatava ressursi teenusepakkujast.<\/p>\n<p>Gitlab-ci ja Terraform'i abil loodi s\u00fcsteem, mis v\u00f5imaldab luua klastrit igasuguste konfiguratsioonidena pilveteenusepakkujates v\u00f5i meie enda infrastruktuuris ja \u00fchendada need Rancher'iga. K\u00f5ik see tehti IaC stiilis, kus iga klaster on kirjeldatud repositooriumiga ja selle olek on versiooni muutunud. Enamik mooduleid \u00fchendatakse v\u00e4listest repositooriumidest, nii et tuleb lihtsalt edastada muutujad v\u00f5i kirjeldada oma kohandatud konfiguratsiooni instantside jaoks, mis aitab v\u00e4hendada koodi kordumise protsenti.<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multiklastri Teekond\" src=\"\/wp-content\/uploads\/2020\/05\/4124621cbd4a44b814929e41b5bea49d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLoomulikult ei ole meie teekond veel kaugeltki l\u00f5ppenud ja ees on veel palju huvitavaid \u00fclesandeid, nagu logide ja m\u00f5\u00f5tmehalduse \u00fchtne punkt k\u00f5igi klastrite jaoks, teenuse mesh, gitops koormuse haldamiseks multi-klastris ja palju muud. Loodame, et meie kogemus on teile huvitav!\u00a0<\/p>\n<p>Artikli kirjutasid A. Antipov, A. Ganush, Platform Engineers.\u00a0<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/exness\/blog\/501090\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness. \u0420\u0430\u043d\u0435\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e Production-ready images for k8s. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Kubernetes. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0446\u0438\u0444\u0440 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043e \u0447\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u0440\u0435\u0447\u044c: \u041d\u0430\u0448 \u043e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u043e 100+ \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u043e\u043b\u0435\u0435 10 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81186,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81185","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.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness.\" \/>\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\/k8s-multicluster-journey\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\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\udd47K8S Multicluster Journey | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/k8s-multicluster-journey\" \/>\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-11T11:42:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-11T11:42:59+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\udd47K8S Multicluster Teekond | ProHoster","description":"Tere, Habr! Me tutvustame Exnessi ettev\u00f5tte platvormi meeskonda.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/k8s-multicluster-journey","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\udd47K8S Multicluster Journey | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/k8s-multicluster-journey","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-11T11:42:59+00:00","article:modified_time":"2020-05-11T11:42:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81185","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 16:03:22","updated":"2026-02-09 17:11:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81185","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=81185"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81185\/revisions"}],"predecessor-version":[{"id":159271,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81185\/revisions\/159271"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/81186"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=81185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=81185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=81185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}