{"id":37636,"date":"2019-10-31T22:18:44","date_gmt":"2019-10-31T19:18:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sozdayom-kubernetes-platformu-v-pinterest\/"},"modified":"2019-10-31T22:18:44","modified_gmt":"2019-10-31T19:18:44","slug":"sozdayom-kubernetes-platformu-v-pinterest","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sozdayom-kubernetes-platformu-v-pinterest","title":{"rendered":"Loome Kubernetes'e platvormi Pinterest'is","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Pinterest on aastate jooksul saavutanud 300 miljonit kasutajat, kes on loonud \u00fcle 200 miljardi pinnakujunduse enam kui 4 miljardi tahvlile. Selle kasutajate armee ja laia sisu alusmassi teenindamiseks on portaal arendanud tuhandeid teenuseid, alustades mikroteenustest, millega suudab toime tulla paar CPU-d, ja l\u00f5petades tohututega, mis t\u00f6\u00f6tavad terve hulga virtuaalmasinate peal. N\u00fc\u00fcd on k\u00e4es aeg, mil ettev\u00f5tte pilk langes k8s-ile. Miks siis <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/pinterest-engineering\">Pinterest engineering blogist<\/a><\/noindex>.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Loome Kubernetes&#039;e platvormi Pinterest&#039;is\" src=\"\/wp-content\/uploads\/2019\/08\/71719121d8d0ed8e284b471c3bcb7328.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNii et sadade miljonite kasutajate ja sadade miljardite pinnade puhul oleme v\u00e4lja t\u00f6\u00f6tanud tuhandeid teenuseid, alustades mikroteenustest, millega suudab toime tulla paar CPU-d, ja l\u00f5petades tohututega, mis t\u00f6\u00f6tavad terve hulga virtuaalmasinate peal. Lisaks on meil mitmekesised raamistikud, mis v\u00f5ivad samuti n\u00f5uda CPU, m\u00e4lu v\u00f5i sisend-v\u00e4ljund protsesside ressursse.<\/p>\n<p>Selle t\u00f6\u00f6riistade zoolooge toetamise protsessi k\u00e4igus seisavad arendustiimid silmitsi mitmete probleemidega:<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li>Inseneridel puudub \u00fchtne viis t\u00f6\u00f6tava keskkonna k\u00e4ivitamiseks. Stateless-teenused, Stateful-teenused ja aktiivselt arendatavad projektid p\u00f5hinevad t\u00e4iesti erinevatel tehnoloogia stekkidel. See on viinud inseneridele m\u00f5eldud koolituskursuste loomise ja oluliselt keerukama t\u00f6\u00f6 meie infrastruktuuri meeskonnale.<\/li>\n<li>Arendajad, kes omavad oma virtuaalmasinate parki, loovad tohutut koormust sisemistele administreerijatele. L\u00f5pptulemusena venivad n\u00e4iliselt lihtsad operatsioonid, nagu OS v\u00f5i AMI uuendamine, n\u00e4dalateks ja kuudeks. See toob kaasa koormuse kasvu, isegi m\u00f5nes igap\u00e4evases olukorras.<\/li>\n<li>Globaalsete infrastruktuuri haldust\u00f6\u00f6riistade loomise raskused olemasolevate lahenduste peal. Olukorda raskendab veelgi see, et virtuaalmasinate omanike leidmine pole lihtne. See t\u00e4hendab, et me ei tea, kas neid ressursse on ohutu t\u00f5mmata, et need t\u00f6\u00f6taksid meie infrastruktuuri teistes osades.<\/li>\n<\/ul>\n<p>\nKonteinerite orkestreerimiss\u00fcsteemid on viis \u00fchtlustada t\u00f6\u00f6koormuse haldamist. Need avavad teile tee arenduse kiirendamiseks ja lihtsustavad infrastruktuuri haldamist, kuna k\u00f5ik projekti kaasatud ressursid hallatakse \u00fche keskse s\u00fcsteemi kaudu.<\/p>\n<p><img decoding=\"async\" alt=\"Loome Kubernetes&#039;e platvormi Pinterest&#039;is\" src=\"\/wp-content\/uploads\/2019\/08\/8ce586ab31e593c99310ae2bf2a7bafb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Joonis 1: Infrastruktuuri prioriteedid (usaldusv\u00e4\u00e4rsus, arendajate tulemuslikkus ja efektiivsus).<\/i><\/p>\n<p>Pinterest'i Cloud Management Platform meeskond tutvus K8s-iga 2017. aastal. 2017. aasta esimese pooleks dokumenteerisime suure osa meie tootmisv\u00f5imsusest, sealhulgas API ja k\u00f5ik meie <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"veebiserverid.\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1189\">veebiserverid.<\/a>P\u00e4rast seda viisime l\u00e4bi p\u00f5hjaliku hindamise erinevate konteinerite orkestratsioonis\u00fcsteemide, klastrite loomise ja nende haldamise osas. 2017. aasta l\u00f5puks otsustasime Kubernetes'e kasuks. See oli piisavalt paindlik ja laialdaselt toetatud arendajate kogukonnas.<\/p>\n<p>K\u00e4esolevaks hetkeks oleme loonud oma alglaadimisriistade komplekti Kopsi p\u00f5hjal ja viinud meie olemasolevad infrastruktuuri komponendid - nagu v\u00f5rk, turvalisus, m\u00f5\u00f5dikud, logimine, identiteedihalduse ja liikluse - Kubernetes'esse. Samuti oleme rakendanud t\u00f6\u00f6koormuste modelleerimise s\u00fcsteemi meie ressursile, mille keerukus on arendajatelt varjatud. Praegu keskendume klastri stabiilsuse tagamisele, selle skaleerimisele ja uute klientide \u00fchendamisele.<\/p>\n<h4>Kubernetes: Pinterest'i tee<\/h4>\n<p>\nKubernetes'ega alustamine Pinterestis platvormina, millest meie insenerid armastavad, t\u00f5i kaasa palju raskusi.<\/p>\n<p>Suurena investeerisime infrastruktuuri t\u00f6\u00f6riistadesse m\u00e4rkimisv\u00e4\u00e4rseid summasid. N\u00e4iteks v\u00f5ib tuua turvalisuse t\u00f6\u00f6riistad, mis k\u00e4sitlevad sertifikaate ja jagavad v\u00f5tmeid, liikluse kontrolli komponente, teenuste avastamise s\u00fcsteeme, n\u00e4htavuse ja logide ning m\u00f5\u00f5dikute saatmise komponente. K\u00f5ik see ei olnud lihtsalt kokku pandud: l\u00e4bisime normaalse katsetamise ja eksimise tee ning soovisime integreerida kogu selle halduse uude infrastruktuuri Kubernetes'el, selle asemel et leiutada vana jalgratast uuel platvormil. Selline l\u00e4henemine lihtsustas sisuliselt migratsiooni, kuna kogu rakendustoetust oli juba olemas, seda ei pidanud nullist looma.<\/p>\n<p>Teisest k\u00fcljest ei piisa meie projektile Kubernetes'i ennustamis- ja koormuse haldamise mudelitest (nt rakenduste, \u00fclesannete ja Daemon'i kogumite kohta). Need kasutatavuse probleemid on tohutud takistused Kubernetes'ile \u00fclemiseks. N\u00e4iteks oleme kuulnud, kuidas teenuse arendajad on kurtnud ligip\u00e4\u00e4su puudumise v\u00f5i vale seadistamise \u00fcle. Samuti on meil olnud probleeme mallide vale kasutamisega, kui loodi sadu koopiaid sama spetsifikatsiooni ja \u00fclesandega, mis tekitas kohutavaid t\u00f5rkeid.<\/p>\n<p>Samuti oli v\u00e4ga keeruline toetada erinevaid versioone samas klastris. Kujutage ette, kui keeruline on kliendituge pakkuda, kui pead tegelema mitme versiooniga samas t\u00f6\u00f6keskkonnas k\u00f5ikide nende probleemide, vigade ja uuendustega.<\/p>\n<h4>Pinterest'i kohandatud ressursid ja kontrollerid<\/h4>\n<p>\nKuna meie inseneride Kubernetes'i rakendamise protsessi lihtsustamiseks ning infrastruktuuri h\u00f5lbustamiseks ja kiirendamiseks arendasime v\u00e4lja oma kohandatud ressursside m\u00e4\u00e4ratlemised (CRD).<\/p>\n<p>CRD pakuvad j\u00e4rgmisi funktsionaalsusi:<\/p>\n<ol>\n<li>Erinevate natiivsete Kubernetes'i ressursside \u00fchendamine, et need t\u00f6\u00f6taksid kui \u00fcks koormus. N\u00e4iteks sisaldab PinterestService ressurss rakendust, ligip\u00e4\u00e4su teenust ja konfigureerimiskaarti. See v\u00f5imaldab arendajatel mitte muretseda DNS-i seadistamise p\u00e4rast.<\/li>\n<li>Rakenduste vajaliku toe pakkumine. Kasutaja peab keskenduma ainult konteineri spetsifikatsioonile vastavalt oma \u00e4riloogikale, samas kui CRD kontroller rakendab k\u00f5ik vajalikud init-konteinerid, keskkonnamuutujad ja pod'i spetsifikatsioonid. See tagab arendajatele t\u00e4iesti uue mugavuse taseme.<\/li>\n<li>CRD kontrollerid haldavad ka oma ressursside eluts\u00fcklit ja suurendavad t\u00f5rkeotsingu k\u00e4ttesaadavust. See h\u00f5lmab soovitud ja reaalse spetsifikatsiooni koosk\u00f5lastamist, CRD staatuse uuendamist ning s\u00fcndmuste logimist ja palju muud. Ilma CRD-deta oleks arendajad sunnitud haldama rohkearvulisi ressursside komplekte, mis suurendaks ainult vea t\u00f5en\u00e4osust. <\/li>\n<\/ol>\n<p>\nSiin on n\u00e4ide PinterestService'ist ja sisemisest ressursist, mida haldab meie kontroller:<\/p>\n<p><img decoding=\"async\" alt=\"Loome Kubernetes&#039;e platvormi Pinterest&#039;is\" src=\"\/wp-content\/uploads\/2019\/08\/5f76107d023d18f535447a13d41404fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nNagu \u00fclal n\u00e4ha, on kasutajate konteineri toetamiseks vajalik integreerida sellesse initsialiseerimise konteiner ja mitmed lisandmoodulid, et tagada turvalisus, n\u00e4htavus ja v\u00f5rgu liiklusega t\u00f6\u00f6tamine. Lisaks on loodud konfiguratsioonikaartide mallid ja rakendatud PVC-mallide toetus partii\u00fclesannete jaoks, samuti j\u00e4lgitakse keskkonnaparameetreid identifitseerimise, ressursikasutuse ja \"pr\u00fcgi\" kogumise j\u00e4lgimiseks.<\/p>\n<p>Raske on ette kujutada, et arendajad sooviksid neid konfiguratsioonifaile k\u00e4sitsi kirjutada ilma CRD toeta, r\u00e4\u00e4kimata edasisest korraldamisest ja konfiguratsioonide t\u00f5rkeotsingust.<\/p>\n<h4>Rakenduste juurutamise t\u00f6\u00f6voog<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Loome Kubernetes&#039;e platvormi Pinterest&#039;is\" src=\"\/wp-content\/uploads\/2019\/08\/08c953d5cf32244733cf4193c1b304bc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00dclaloleval joonisel on n\u00e4idatud, kuidas juurutada kasutajate ressurssi Pinterest Kubernetes klasteris:<\/p>\n<ol>\n<li>Arendajad suhtlevad meie Kubernetes klastriga CLI ja kasutajaliidese kaudu.<\/li>\n<li>CLI \/ UI t\u00f6\u00f6riistad v\u00e4ljastavad t\u00f6\u00f6voo YAML-konfiguratsioonifailid ja muud kokkupaneku omadused (sama versiooni number) Artifactory'st, mille j\u00e4rel saadetakse need T\u00f6\u00f6 Esitamise Teenusele. See samm tagab, et klastri installitakse ainult stabiilsed versioonid. <\/li>\n<li>JSS on v\u00e4rav erinevatele platvormidele, sealhulgas Kubernetes. Siin toimub kasutaja autentimine, kvootide jagamine ja meie CRD konfiguratsiooni osaline kontroll.<\/li>\n<li>P\u00e4rast CRD kontrollimist JSS poolel saadetakse teave k8s API-le.<\/li>\n<li>Meie CRD-kontroller j\u00e4lgib s\u00fcndmusi k\u00f5igis kasutajate ressurssides. Ta muudab CR-i Kubernetes'i natiivseteks ressurssideks, lisab vajalikud moodulid, seadistab vastavad keskkonnaparameetrid ja t\u00e4idab muid abiprotseduure, tagades, et konteinerip\u00f5hised kasutaja rakendused saavad piisavat infrastruktuuri toetust.<\/li>\n<li>Seej\u00e4rel edastab CRD kontroller saadud andmed Kubernetes API-le, et need saaksid ajakava koostajal t\u00f6\u00f6tlemiseks ja k\u00e4ivitamiseks.<\/li>\n<\/ol>\n<p>\n<b>M\u00e4rkus<\/b>: see eegi eelduslik t\u00f6\u00f6voog kodutekstide reklaamimisel on loodud uus K8s platvorm. Praegu oleme protsessi t\u00e4iendamise faasis, et t\u00e4ielikult integreerida see meie uue CI\/CD-ga. See t\u00e4hendab, et me ei saa k\u00f5ike Kubernetese teemal jagada. Ootame p\u00f5nevusega v\u00f5imalust jagada meie kogemusi ja r\u00e4\u00e4kida meeskonna edusammudest selles osas meie j\u00e4rgmises blogipostituses \"CI\/CD platvormi loomine Pinterestile\".<\/p>\n<h4>Eri ressursi t\u00fc\u00fcbid<\/h4>\n<p>\nV\u00f5ttes arvesse Pinterest'i konkreetseid vajadusi, oleme v\u00e4lja t\u00f6\u00f6tanud j\u00e4rgmised CRD-d, mis sobivad erinevate t\u00f6\u00f6protsesside jaoks:<\/p>\n<ul>\n<li>PinterestService on juba pikka aega t\u00f6\u00f6tanud stateless-teenusena. Paljud meie p\u00f5hikeskused p\u00f5hinevad selliste teenuste kogumitel.<\/li>\n<li>PinterestJobSet modelleerib t\u00e4ieliku ts\u00fckli partii\u00fclesandeid. Pinterestis on levinud stsenaarium, kus mitmed \u00fclesanded k\u00e4ivitavad sama konteinerit paralleelselt, s\u00f5ltumata teistest sarnastest protsessidest.<\/li>\n<li>PinterestCronJob on laialdaselt rakendatav v\u00e4ikeste perioodiliste koormuste korral. See on kesta jaoks loodud nat\u00fc\u00fcri cron, mis t\u00f6\u00f6tab Pinterest'i toetamiseks, tagades turvalisuse, liikluse, logid ja m\u00f5\u00f5dikud.<\/li>\n<li>PinterestDaemon h\u00f5lmab infrastruktuuri Daemoneid. See perede kasvab, kuna lisame rohkem tuge meie klastritele.<\/li>\n<li>PinterestTrainingJob katab Tensorflow ja Pytorch protsessid, pakkudes sama tasemega tuge nagu k\u00f5ik teised CRD-d. Kuna Pinterest kasutab aktiivselt Tensorflow't ja muid masin\u00f5ppe s\u00fcsteeme, oli meil p\u00f5hjust luua nende \u00fcmber eraldi CRD.<\/li>\n<\/ul>\n<p>\nSamuti t\u00f6\u00f6tame PinterestStatefulSet'i kallal, mis kohandatakse peagi andmesalvestuse ja teiste stateful s\u00fcsteemide jaoks.<\/p>\n<h4>K\u00e4ivitamisringkonna tugi<\/h4>\n<p>\nKui rakenduse moodul k\u00e4ivitub Kuberneteses, saab see automaatselt sertifikaadi enda tuvastamiseks. Seda sertifikaati kasutatakse salajasse hoidlast p\u00e4\u00e4semiseks v\u00f5i teiste teenustega suhtlemiseks mTLS kaudu. Sel ajal laadivad konteinerite initsialiseerijal ja Daemon k\u00f5ik vajalikud s\u00f5ltuvused enne konteinerirakenduse k\u00e4ivitamist. Kui k\u00f5ik on valmis, registreerivad sidecar ja Daemon mooduli IP-aadressi meie Zookeeperis, et kliendid saaksid selle avastada. K\u00f5ik see toimib, kuna v\u00f5rgu moodul oli seadistatud juba enne rakenduse k\u00e4ivitamist.<\/p>\n<p>\u00dclaltoodud on t\u00fc\u00fcpilised n\u00e4ited t\u00f6\u00f6koormuste toetamisest k\u00e4itamise ajal. Teiste t\u00fc\u00fcpi t\u00f6\u00f6koormuste jaoks v\u00f5ib vajada veidi teistsugust tuge, kuid need on esitatud podi taseme sidecar'ide, s\u00f5lme v\u00f5i virtuaalmasina taseme Daemon'ide kujul. Me hoolitseme selle eest, et k\u00f5ik see oleks juurutatud halduss\u00fcsteemi raames ja rakenduste vahel koosk\u00f5lastatud, mis v\u00e4hendab oluliselt tehniliste t\u00f6\u00f6de ja klienditoe koormust.<\/p>\n<h4>Testimine ja QA<\/h4>\n<p>\nOleme kogunud end-to-end testimise konveieri juba olemasoleva Kubernetes testimisstruktuuri kohale. Need testid laienevad k\u00f5igile meie klastritele. Meie torujuhe on l\u00e4bi teinud palju \u00fcmberkorraldusi, enne kui sai tootlikku klastrisse osa.<\/p>\n<p>Lisaks testimiss\u00fcsteemidele on meil olemas j\u00e4lgimis- ja teavituss\u00fcsteemid, mis j\u00e4lgivad pidevalt s\u00fcsteemi komponentide seisundit, ressursikasutust ja muid olulisi n\u00e4itajaid, teavitades meid ainult siis, kui on vajalik inimeste sekkumine.<\/p>\n<h4>Alternatiivid<\/h4>\n<p>\nOleme kaalunud m\u00f5ningaid alternatiive kohandatud ressursside jaoks, nagu mutatsioonikontrollerid ja mallis\u00fcsteemid. Kuid k\u00f5ik need on seotud t\u00f5siste t\u00f6\u00f6probleemidega, seega otsustasime CRD tee valida.<\/p>\n<p>Mutatsioonikontrollerit kasutati sidecaride, keskkonnamuutujate ja muu toe sisenemiseks k\u00e4itusaja jooksul. Kuid see kohtas erinevaid probleeme, n\u00e4iteks ressursside sidumise ja nende eluts\u00fckli haldamise osas, samas kui CRD-de puhul neid probleeme ei esine.<\/p>\n<p><b>M\u00e4rkus:<\/b> Mudel s\u00fcsteemid, nagu Helm diagrammid, on samuti laialdaselt kasutusel sarnaste konfiguratsioonidega rakenduste k\u00e4ivitamiseks. Kuid meie t\u00f6\u00f6tavad rakendused on liiga mitmekesised, et neid hallata mallide abil. Samuti tekib mallide kasutamisel pideva juurutamise ajal liiga palju t\u00f5rkeid.<\/p>\n<h4>Eelseisev t\u00f6\u00f6<\/h4>\n<p>\nPraegu tegeleme k\u00f5igis meie klastrites segatud koormusega. Selliste erinevat t\u00fc\u00fcpi ja suurusega protsesside toetamiseks t\u00f6\u00f6tame j\u00e4rgmistes suundades:<\/p>\n<ul>\n<li>Klastrite kogum jagab suured rakendused erinevatele klastritele, et tagada skaleeritavus ja stabiilsus.<\/li>\n<li>Klastri stabiilsuse, skaleeritavuse ja n\u00e4htavuse tagamine rakenduse ja selle SLA vahelise seose loomiseks.<\/li>\n<li>Ressursside ja kvotade haldamine, et rakendused ei konkureeriks omavahel ja klastrite suurust saaks meie poolt kontrollida.<\/li>\n<li>Uus CI\/CD platvorm rakenduste toetamiseks ja juurutamiseks Kuberneteses.<\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/465487\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0430 \u0433\u043e\u0434\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f Pinterest 300 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 200 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u043f\u0438\u043d\u043e\u0432 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 4 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0434\u043e\u0441\u043e\u043a. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0430\u0440\u043c\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u043e\u0431\u0448\u0438\u0440\u043d\u0443\u044e \u043a\u043e\u043d\u0442\u0435\u043d\u0442-\u0431\u0430\u0437\u0443, \u043f\u043e\u0440\u0442\u0430\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0442\u044b\u0441\u044f\u0447\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u043e\u0442 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e CPU, \u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0440\u0443\u0442\u044f\u0442\u0441\u044f \u043d\u0430 \u0446\u0435\u043b\u043e\u043c \u043f\u0430\u0440\u043a\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u0418 \u0432\u043e\u0442 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b \u043c\u043e\u043c\u0435\u043d\u0442, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37636","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u0430 \u0433\u043e\u0434\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f Pinterest 300 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 200 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u043f\u0438\u043d\u043e\u0432 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 4 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0434\u043e\u0441\u043e\u043a.\" \/>\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\/sozdayom-kubernetes-platformu-v-pinterest\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.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\udd47\u0421\u043e\u0437\u0434\u0430\u0451\u043c kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0432 Pinterest | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u0430 \u0433\u043e\u0434\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f Pinterest 300 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 200 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u043f\u0438\u043d\u043e\u0432 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 4 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0434\u043e\u0441\u043e\u043a.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sozdayom-kubernetes-platformu-v-pinterest\" \/>\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=\"2019-10-31T19:18:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:18:44+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\udd47Loome Kubernetes platvormi Pinterestis | ProHoster","description":"Pinterest on oma tegevusaja jooksul kogunud 300 miljonit kasutajat, kes on loonud \u00fcle 200 miljardi pinni rohkem kui 4 miljardi tahvlil.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sozdayom-kubernetes-platformu-v-pinterest","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\u0421\u043e\u0437\u0434\u0430\u0451\u043c kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0432 Pinterest | ProHoster","og:description":"\u0417\u0430 \u0433\u043e\u0434\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f Pinterest 300 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 200 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u043f\u0438\u043d\u043e\u0432 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 4 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0434\u043e\u0441\u043e\u043a.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sozdayom-kubernetes-platformu-v-pinterest","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":"2019-10-31T19:18:44+00:00","article:modified_time":"2019-10-31T19:18:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37636","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":"2026-02-09 15:30:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:23:06","updated":"2026-02-09 15:30:19","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\/37636","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=37636"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37636\/revisions"}],"predecessor-version":[{"id":158433,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37636\/revisions\/158433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/28249"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}