{"id":81130,"date":"2020-05-11T01:42:39","date_gmt":"2020-05-10T23:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo"},"modified":"2020-05-11T01:42:39","modified_gmt":"2020-05-10T23:42:39","slug":"kubernetes-open-source-protiv-vendorskogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","title":{"rendered":"Kubernetes: avatud l\u00e4htekood vs tootja lahendus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Tere, mina olen Dmitri Krasnov. Juba \u00fcle viie aasta olen tegelenud Kubernetes klastrite haldamise ja keerukate mikroteenuste arhitektuuride \u00fclesehitamisega. Selle aasta alguses k\u00e4ivitasime Kubernetes klastrite haldamise teenuse, mis p\u00f5hineb Containerumil. Kasutades juhust, r\u00e4\u00e4gin natuke, mis t\u00e4pselt on Kubernetes ja kuidas erineb integratsioon teenusepakkujaga avatud l\u00e4htekoodist.<\/b><\/p>\n<p>Alustuseks, mis on <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">Kubernetes<\/a><\/noindex>. See on s\u00fcsteem konteinerite haldamiseks paljude hostide peal. Kreeka keeles t\u00f5lgituna t\u00e4hendab see \"piloot\" v\u00f5i \"juht\". Alguses arendas seda Google, seej\u00e4rel anti tehnilise panusena \u00fcle Cloud Native Computing Foundationile, mis on rahvusvaheline mittekasumitootav organisatsioon, mis \u00fchendab juhtivaid maailmas arendajaid, l\u00f5ppkasutajaid ja konteineritehnoloogiate tarnijaid. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: avatud l\u00e4htekood vs tootja lahendus\" src=\"\/wp-content\/uploads\/2020\/05\/7cbe773adf691ad29c4aaa7a2c8f0461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Konteinereid juhtida <\/h3>\n<p>\nN\u00fc\u00fcd vaatame, mis need konteinerid ikkagi on. Need on rakendused koos kogu nende keskkonnaga \u2013 peamiselt raamatukogadega, millest rakenduse t\u00f6\u00f6 s\u00f5ltub. K\u00f5ik see on pakitud arhiividesse ja esitatud kujul, mida saab k\u00e4ivitada s\u00f5ltumatult operatsioonis\u00fcsteemist, testida ja palju muud. Kuid probleem on selles \u2013 paljude hostide peal konteinerite haldamine on v\u00e4ga keeruline. Seet\u00f5ttu loodi Kubernetes. <\/p>\n<p>Konteineri pilt on rakendus koos selle s\u00f5ltuvustega. Rakendus, selle s\u00f5ltuvused ja operatsioonis\u00fcsteemi failis\u00fcsteemi pilt asuvad erinevates piltides, nn kihtides. Kihti saab taaskasutada erinevate konteinerite jaoks. N\u00e4iteks v\u00f5ib k\u00f5ikide ettev\u00f5tte rakenduste puhul kasutada p\u00f5hikihti Ubuntu. Konteinerite k\u00e4ivitamisel ei ole vaja hostis hoida mitmeid koopiaid \u00fchest ja samast p\u00f5hikihtidest. See v\u00f5imaldab optimeerida hoidmist ja piltide tarnimist.<\/p>\n<p>Kui soovime k\u00e4ivitada rakendust konteinerist, paigutatakse vajalikud kihid \u00fcksteise peale ja moodustatakse \u00fclekandefailis\u00fcsteem. Peale asetatakse kirjutamiskiht, mis eemaldatakse konteineri peatamisel. See tagab, et konteineri k\u00e4ivitamisel on rakendusel alati sama keskkond, mida ei saa muuta. See tagab keskkonna reprodutseeritavuse erinevates hostide operatsioonis\u00fcsteemides. Olgu see siis Ubuntu v\u00f5i CentOS \u2013 keskkond on alati sama. Lisaks on konteiner isoleeritud hostist Linuxi k\u00e4rude kaudu. Konteineris olevad rakendused ei n\u00e4e hosti v\u00f5i naaber konteinerite faile ega protsesse. Selline rakenduste isoleeritus hosti operatsioonis\u00fcsteemist pakub lisakihi turvalisust. <\/p>\n<p>Konteinerite haldamiseks hostis on palju t\u00f6\u00f6riistu. K\u00f5ige populaarsem neist on Docker. See v\u00f5imaldab tagada konteinerite t\u00e4ieliku eluts\u00fckli. Siiski t\u00f6\u00f6tab see ainult \u00fche hostiga. Kui on vaja haldada konteinerite mitmeid hoste, v\u00f5ib Docker muuta inseneride elu p\u00f5rguks. Seet\u00f5ttu loodi Kubernetes.<\/p>\n<p>Kubernetes'e n\u00f5udlus tuleneb v\u00f5imalusest juhtida konteinerigruppide hulki paljude hostide peal kui \u00fchtseid \u00fcksusi. S\u00fcsteem on populaarne, kuna see v\u00f5imaldab luua DevOps v\u00f5i arendustegevuse, kus Kubernetesit kasutatakse nende DevOps protsesside k\u00e4ivitamiseks.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: avatud l\u00e4htekood vs tootja lahendus\" src=\"\/wp-content\/uploads\/2020\/05\/40f253f4445595376231bb384253763d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Joonis 1. Schemaatiline kujutis Kubernetes'e t\u00f6\u00f6printsiibist<\/i><\/p>\n<h3>T\u00e4iuslik automatiseerimine<\/h3>\n<p>\nDevOps on p\u00f5him\u00f5tteliselt arenduse automatiseerimine. Lihtsalt \u00f6eldes kirjutavad arendajad koodi, mis laaditakse repole. Seej\u00e4rel v\u00f5ib kood automaatselt kokku panna konteineriks koos k\u00f5igi raamatukogadega, testida ja \"\u00fcles laadida\" j\u00e4rgmisse etappi \u2013 Staging, ja seej\u00e4rel otse Productionisse.<\/p>\n<p>Kubernetes'i ja DevOps'i abil saab seda protsessi automatiseerida, et see toimuks praktiliselt ilma arendajate enda osaluseta. Selle tulemusena kiireneb koostamine suuresti, kuna arendaja ei pea seda oma arvutis tegema \u2013 ta kirjutab lihtsalt koodi, pushib selle repole ning k\u00e4ivitub pipeline, mis v\u00f5ib h\u00f5lmata koostamise, testimise ja \u00fcles laadimise protsessi. Ja see toimub iga commit'i korral, seega toimub testimine pidevalt.<\/p>\n<p>Konteineri kasutamine tagab, et kogu selle programmi keskkond j\u00f5uab tootmisse just sellisena, nagu seda testiti. See t\u00e4hendab, et ei teki probleeme, nagu \u201etestides olid \u00fched versioonid, tootmises \u2013 teised, ja kui installisime, kukkus k\u00f5ik kokku\u201c. T\u00e4nap\u00e4eva m\u00fc\u00fcgis on mikroteenuste arhitektuuri trend, kus \u00fche suure rakenduse asemel on sadu v\u00e4ikeseid. Nende k\u00e4sitsi haldamiseks on vajalik suur t\u00f6\u00f6tajaskond. Seet\u00f5ttu kasutamegi Kuberneteset.<\/p>\n<p><b><\/p>\n<h3>Plussid, plussid, plussid<\/h3>\n<p><\/b><br \/>\nKui r\u00e4\u00e4kida Kubernetesest platvormina, siis sellel on olulised eelised mikroteenuste arhitektuuri haldamise kontekstis. <\/p>\n<ul>\n<li> <b>Paljude replikate haldamine.<\/b> Oluline on konteinerite haldamine paljude hostide vahel. Veelgi t\u00e4htsam on paljude rakenduste replikate haldamine konteinerites kui \u00fchtse tervikuna. T\u00e4nu sellele ei pea insenerid muretsema iga eraldi konteineri p\u00e4rast. Kui \u00fcks konteiner kokku kukub, m\u00e4rkab Kubernetes seda ja k\u00e4ivitab selle uuesti. <\/li>\n<li> <b>Klastri v\u00f5rk.<\/b> Kubernetesel on ka nn klastri v\u00f5rk oma aadressiruumiga. Selle t\u00f5ttu on igal podil oma aadress. Pod t\u00e4hendab klastris minimaalset struktuuri\u00fchikut, kus k\u00e4ivitatakse konteinerid. Lisaks on Kubernetesel funktsionaalsus, mis \u00fchendab endas koormuste tasakaalustaja ja teenuste avastamise. See vabastab k\u00e4sitsi IP-aadresside haldamisest ning usaldab selle \u00fclesande Kubernetesesse. Automaatilised tervisekontrollid aitavad tuvastada probleeme ja suunata liiklust t\u00f6\u00f6tavatele podidele.<\/li>\n<li> <b>Konfigureerimise haldamine. <\/b>Paljude rakenduste haldamisel muutub rakenduste konfiguratsiooni haldamine keeruliseks. Selleks on Kubernetesel spetsiaalsed ConfigMap ressursid. Need v\u00f5imaldavad keskse hoidla olemasolu seadistuste jaoks ja asetada need rakenduste k\u00e4ivitamisel podidesse. Selline mehhanism garanteerib konfiguratsiooni j\u00e4rjepidevuse, olgu siis k\u00fcmnes v\u00f5i sajas rakenduse replikas. <\/li>\n<li> <b>P\u00fcsivoltid. <\/b>Konteinerid on oma olemuselt muutumatud ja konteineri peatamisel h\u00e4vitatakse k\u00f5ik failis\u00fcsteemi salvestatud andmed. Kuid m\u00f5ned rakendused salvestavad andmeid otse kettale. Selle probleemi lahendamiseks on Kubernetesel kettahalduss\u00fcsteem \u2013 P\u00fcsivoltid. See mehhanism kasutab v\u00e4list andmesalvestust, suudab edastada konteineritesse p\u00fcsiva, plokk- v\u00f5i failisalvestuse. See lahendus v\u00f5imaldab andmeid hoida eraldi t\u00f6\u00f6tajatest, p\u00e4\u00e4stes need t\u00f6\u00f6tajate t\u00f5rgete korral.<\/li>\n<li> <b>Koormuse tasakaalustaja.<\/b> Kuigi Kuberneteses haldame abstraktseid \u00fcksuseid nagu Deployment, StatefulSet jne, k\u00e4ivitatakse konteinerid l\u00f5puks tavalistes <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/abuzoustojchivye-vps\/\"   title=\"virtuaalmasinatel\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4246\">virtuaalmasinatel<\/a> v\u00f5i f\u00fc\u00fcsilistes serverites. Need pole ideaalsed ja v\u00f5ivad igal ajal kokku kukkuda. Kubernetes m\u00e4rkab seda ja suunab sisemise liikluse teistesse replikatesse. Kuid mis saab liiklusest, mis tuleb v\u00e4ljastpoolt? Kui liiklus suunatakse lihtsalt \u00fche t\u00f6\u00f6taja juurde, mis juhtub, kui see kukub? Selles olukorras oleks teenus mitteaktiivne. Selle probleemi lahendamiseks on Kuberneteses teenused nagu Koormuse tasakaalustaja. Need on m\u00f5eldud automaatseks v\u00e4lise pilvkoormuse tasakaalustaja seadistamiseks k\u00f5igi klastris olevate t\u00f6\u00f6tajate jaoks. See v\u00e4line tasakaalustaja suunab v\u00e4lise liikluse t\u00f6\u00f6tajatele ja j\u00e4lgib nende olekut. Kui \u00fcks v\u00f5i mitu t\u00f6\u00f6tajat muutuvad mitteaktiivseks, suunatakse liiklus teistele. See v\u00f5imaldab luua Kubernetese abil k\u00f5rgelt kergesti k\u00e4tkivaid teenuseid.<\/li>\n<\/ul>\n<p>\nKubernetesest ilmneb parim just mikroteenuste arhitektuuride rakendamise korral. S\u00fcsteemi juurutamine klassikaliseks arhitektuuriks on v\u00f5imalik, kuid m\u00f5tetu. Kui rakendus ei saa toimida mitmes replikas, siis mis m\u00f5te on \u2013 kas Kuberneteses v\u00f5i mitte?<\/p>\n<p><b><\/p>\n<h3>Avatud l\u00e4htekoodiga Kubernetes<\/h3>\n<p><\/b><br \/>\nAvatud l\u00e4htekoodiga Kubernetes on suurep\u00e4rane asi: paigaldad ja see t\u00f6\u00f6tab. Seda saab k\u00e4ivitada oma f\u00fc\u00fcsilistel servade, oma infrastruktuuri peale, seadistades meistrid ja t\u00f6\u00f6tajad, kellel toodetakse k\u00f5ik rakendused. Ja mis k\u00f5ige t\u00e4htsam \u2013 k\u00f5ik on tasuta. Siiski on n\u00fcansse.<\/p>\n<ul>\n<li> Esiteks \u2013 n\u00f5udlikkus teadmiste ja kogemuste osas administraatoritest ja inseneridest, kes seda k\u00f5ike juurutavad ja toetavad. Kuna klient saab klastris t\u00e4ielikku tegutsemisvabadust, kannab ta vastutust klastrite t\u00f6\u00f6kindluse eest. Ja siin on k\u00f5ik v\u00e4ga lihtne purustada.<\/li>\n<li> Teiseks \u2013 integratsioonide puudumine. Kui k\u00e4ivitada Kubernetes ilma m\u00f5ne populaarse virtualiseerimistehnoloogiata, siis ei saa k\u00f5iki programmi eeliseid, n\u00e4iteks P\u00fcsivoltide ja koormuse tasakaalustajate teenuste kasutamist.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes: avatud l\u00e4htekood vs tootja lahendus\" src=\"\/wp-content\/uploads\/2020\/05\/8445e46889ca4c4d53bd91abeaa49256.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Joonis 2. K8s arhitektuur<\/i><\/p>\n<p><b><\/p>\n<h3>Kubernetes tarnija<\/h3>\n<p><\/b><br \/>\nPilveteenuse pakkujaga integreerimine avab kaks v\u00f5imalust: <\/p>\n<ul>\n<li> Esiteks, inimene saab lihtsalt vajutada nuppu \"loo klaster\" ja saada juba seadistatud ja t\u00f6\u00f6ks valmis klaster.<\/li>\n<li> Teiseks, tarnija loob klastrit ja seadistab integreerimise pilve.<\/li>\n<\/ul>\n<p>\nKuidas see meil toimub. Insener, kes klastrit k\u00e4ivitab, \u00fctleb, kui palju tal on vaja t\u00f6\u00f6tlejaid ja milliste parameetritega (n\u00e4iteks 5 t\u00f6\u00f6tlejat, iga\u00fchel 10 CPU, 16 GB RAM-i ja \u00fctlemegi 100 GB ketast). P\u00e4rast seda saab ta juurdep\u00e4\u00e4su juba moodustatud klastrile. Sellega, et t\u00f6\u00f6tlejad, millel koormus k\u00e4ivitatakse, antakse t\u00e4ielikult kliendile, kuid kogu haldamise tasandi j\u00e4\u00e4b tarnija vastutusalasse (kui teenus pakutakse hallatud teenusena).<\/p>\n<p>Siiski, sellisel skeemil on oma puudused. Kuna haldamise tasand j\u00e4\u00e4b tarnijale, ei anna tarnija kliendile t\u00e4ielikku juurdep\u00e4\u00e4su, mis v\u00e4hendab paindlikkust Kubernetesega t\u00f6\u00f6tamisel. M\u00f5nikord juhtub, et klient tahab Kubernetesega liita mingi spetsiifilise funktsionaalsuse, n\u00e4iteks autentimise l\u00e4bi LDAP, kuid haldamise tasandi konfiguratsioon ei luba seda teha.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: avatud l\u00e4htekood vs tootja lahendus\" src=\"\/wp-content\/uploads\/2020\/05\/e5cff16e4280cf041917c886c146a2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Joonis 3. N\u00e4ide pilveteenuse pakkuja Kubernetes klastrist<\/i><\/p>\n<p><b><\/p>\n<h3>Mida valida: avatud kood v\u00f5i tarnija lahendus<\/h3>\n<p><\/b><br \/>\nNii et, avatud koodiga Kubernetes v\u00f5i tarnija lahendus? Kui v\u00f5tta avatud koodiga Kubernetes, siis kasutaja teeb sellega, mida tahab. Kuid on oht endale kahjustada. Tarnija lahendusega on see keerulisem, sest ettev\u00f5tte jaoks on k\u00f5ik l\u00e4bim\u00f5eldud ja seadistatud. K\u00f5ige suurem avatud koodiga Kubernetes'e puudus on n\u00f5udmine spetsialistidele. Tarnija lahenduse korral vabastatakse ettev\u00f5te sellest peavalust, kuid tal tuleb otsustada: maksta oma spetsialistidele v\u00f5i tarnijale.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: avatud l\u00e4htekood vs tootja lahendus\" src=\"\/wp-content\/uploads\/2020\/05\/f14130c42049e20b2f33121e4d789cca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes: avatud l\u00e4htekood vs tootja lahendus\" src=\"\/wp-content\/uploads\/2020\/05\/4fb1feaacd42a67a444ae1600e37d0f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNoh, plussid on ilmsed, miinused on samuti tuntud. \u00dcks asi j\u00e4\u00e4b muutumatuks: Kubernetes lahendab hulga probleeme, automatiseerides paljude konteinerite haldamist. Millise valida, avatud koodiga v\u00f5i tarnija lahendus, on iga\u00fche enda otsustada.<\/p>\n<p><i>Artikli ette valmistas Dmitri Krasnov, Containerumi teenuse juhtiv arhitekt #CloudMTS pakkuja <\/i><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ru_mts\/blog\/500728\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81130","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, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\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\/kubernetes-open-source-protiv-vendorskogo\" \/>\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\udd47Kubernetes: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\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-10T23:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-10T23:42:39+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\udd47Kubernetes: avatud l\u00e4htekoodiga vs. tootja | ProHoster","description":"Tere, minu nimi on Dmitri Krasnov. Olen juba rohkem kui viis aastat tegelenud Kubernetes klastrite haldamise ja keerukate mikroteenuste arhitektuuride loomisega.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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\udd47Kubernetes: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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-10T23:42:39+00:00","article:modified_time":"2020-05-10T23:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81130","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:04:23","updated":"2022-09-27 22:17:56","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\/81130","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=81130"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81130\/revisions"}],"predecessor-version":[{"id":164121,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81130\/revisions\/164121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/81131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=81130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=81130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=81130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}