{"id":82244,"date":"2020-05-20T13:42:45","date_gmt":"2020-05-20T11:42:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov"},"modified":"2020-05-20T13:42:45","modified_gmt":"2020-05-20T11:42:45","slug":"luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","title":{"rendered":"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/21d8807ed791f0b9ff81494cf1a373c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetesi esmane juurutamine h\u00f5lmab teie rakenduse paigutamist konteinerisse. Selles seerias uurime, kuidas luua v\u00e4ikese ja turvalise konteineri pilti.<br \/>\nDocker'i kaudu on konteinerite piltide loomine kunagi olnud nii lihtne. M\u00e4\u00e4rake aluskuju, lisage oma muudatused ja looge konteiner.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/f144351cc82d46cf3f4a518c6e11faa3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuigi see meetod sobib suurep\u00e4raselt alustamiseks, v\u00f5ib vaikimisi aluskujudega t\u00f6\u00f6tamine p\u00f5hjustada suures suuruses piltide ebaturvalist kasutamist, mis on t\u00e4is haavatavusi.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Lisaks kasutavad enamik Docker'i pilte alusena Debianit v\u00f5i Ubuntut, ja kuigi see tagab suurep\u00e4rase \u00fchilduvuse ja lihtsa kohandamise (Docker'i fail h\u00f5lmab vaid kahte koodirea), v\u00f5ivad aluskujud lisada teie konteinerisse sadu megabaite lisakoormust. N\u00e4iteks lihtne Node.js rakenduse Go 'hello-world' fail v\u00f5tab umbes 700 megabaiti, samas kui teie rakenduse tegelik suurus on vaid paar megabaiti.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/8093421f0f0f61b9daedf8e9530bbd3e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeega on kogu see lisakoormus digitaalsete ruumide tarbetu kulu ja suurep\u00e4rane peidupaik haavatavuste ja turvavea jaoks. Vaatame seet\u00f5ttu kahte viisi, kuidas konteineri suurust v\u00e4hendada. <\/p>\n<p>Esiteks \u2013 kasutada v\u00e4ikese suurusega aluspilte, teiseks \u2013 rakendada Builder Pattern projekteerimismustrit. V\u00e4iksemate aluspiltide kasutamine on t\u00f5en\u00e4oliselt k\u00f5ige lihtsam viis teie konteineri suuruse v\u00e4hendamiseks. T\u00f5en\u00e4oliselt pakub teie kasutatav keel v\u00f5i tehnoloogiakogum algset rakenduspilti, mis on oluliselt v\u00e4iksem kui vaikimisi pilt. Vaadakem meie node.js konteinerit. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/df3f744a565465b56adcec6a1c32e501.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVaikimisi on Docker'i baaspildi suurus node:8 670 MB ning node:8-alpine'i suurus vaid 65 MB, mis t\u00e4hendab, et see on 10 korda v\u00e4iksem. Kasutades v\u00e4iksemat Alpine'i baaspilti, v\u00e4hendate erhebalt oma konteineri suurust. Alpine on v\u00e4ike ja kerge Linuxi distributsioon, mis on Docker'i kasutajate seas v\u00e4ga populaarne, sest see on \u00fchilduv paljude rakendustega ning samal ajal s\u00e4ilitab v\u00e4ikese konteineri suuruse. Erinevalt standardsetest Docker'i piltidest nagu \u201enode\u201d, eemaldab \u201enode:alpine\u201d palju teenusefaile ja programme, j\u00e4ttes alles vaid need, mis on vajalikud teie rakenduse k\u00e4ivitamiseks.<\/p>\n<p>Smaller base image'e kasutamiseks v\u00e4rskendage lihtsalt Docker-faili, et alustada uue baaspildiga:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/55a3b8e403bd34896018f92a81a3f251.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00fc\u00fcd, erinevalt vanast onbuild pildist, peate oma koodi konteinerisse kopeerima ja k\u00f5ik s\u00f5ltuvused paigaldama. Uues Docker-failis algab konteiner node:alpine pildist, seej\u00e4rel loob kausta koodi, installib s\u00f5ltuvused NPM-i pakihaldusega ja l\u00f5puks k\u00e4ivitab server.js.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/b41c36994fc18dc34fb970a38bc50c9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSelle uuenduse abil saab konteineri k\u00fcmme korda v\u00e4iksemaks. Kui teie programmeerimiskeel v\u00f5i tehnoloogia virn ei toeta p\u00f5hipildi v\u00e4hendamist, kasutage Alpine Linuxi. See annab ka t\u00e4ieliku kontrolli konteineri sisu \u00fcle. V\u00e4ikeste p\u00f5hi\u00adpiltide kasutamine on suurep\u00e4rane viis v\u00e4ikeste konteinerite kiireks loomiseks. Kuid veelgi suuremat v\u00e4hendust on v\u00f5imalik saavutada, kasutades Builder Pattern'i.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/c9549f5879058d9734c174e8571b9069.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00f5lgitavates keeltes edastatakse l\u00e4htekood esmalt t\u00f5lkijale ja seej\u00e4rel t\u00e4idetakse. Kompileeritavates keeltes muudetakse l\u00e4htekood eelnevalt kompileeritud koodiks. Samuti kasutab kompileerimine sageli t\u00f6\u00f6riistu, mis ei ole koodi k\u00e4ivitamiseks tegelikult vajalikud. See t\u00e4hendab, et saate need t\u00f6\u00f6riistad finaliseerimisest t\u00e4ielikult eemaldada. Selleks v\u00f5ib kasutada Builder Pattern'i.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/9af4d11134c54cbdbd2b020cdf270429.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKood genereeritakse esimeses konteineris ja kompileeritakse. Seej\u00e4rel pakitakse kompileeritud kood l\u00f5ppkonteinerisse, millel puuduvad kompilaatorid ja t\u00f6\u00f6riistad, mis on vajalikud selle koodi kompileerimiseks. Vaatame n\u00fc\u00fcd seda protsessi l\u00e4bi Go rakenduse. Esiteks liigume onbuild pildilt Alpine Linuxi.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/822b67eb28f94c50e7a40af1fe1bfea2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUues Docker failis algab konteiner golang:alpine pildiga. See loob seej\u00e4rel katalooge koodi jaoks, kopeerib selle l\u00e4htekoodi sisse, kompileerib selle ja k\u00e4ivitab rakenduse. See konteiner on palju v\u00e4iksem kui onbuild konteiner, kuid sisaldab endiselt kompilaatorit ja muid Go t\u00f6\u00f6riistu, mis me tegelikult ei vaja. Seega, v\u00f5tame lihtsalt kompileeritud programmi ja paneme selle omaenda konteinerisse.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/094ac74a24cd723f83ddc34bee64e884.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u00f5ite m\u00e4rgata midagi kummalist selles Docker-failis: sellel on kaks FROM rida. Esimene osa neljast reast n\u00e4eb v\u00e4lja t\u00e4pselt nagu eelmine Docker-fail, v\u00e4lja arvatud see, et see kasutab AS v\u00f5tit, et sellele etapile nimi anda. J\u00e4rgmises osas on uus FROM rida, mis v\u00f5imaldab alustada uut pilti, kasutades p\u00f5hiosana Raw alpine'i, mitte golang:alpine'i.<\/p>\n<p>Raw Alpine Linuxil ei ole mingeid SSL-sertifikaate installitud, mis p\u00f5hjustab enamiku API HTTPS-protokolli k\u00f5nede eba\u00f5nnestumise, seega laseme installida m\u00f5ned juure CA sertifikaadid.<\/p>\n<p>Ja n\u00fc\u00fcd tuleb k\u00f5ige huvitavam osa: esimesest konteinerist kompileeritud koodi kopeerimiseks teise v\u00f5ib lihtsalt kasutada 5. rea COPY k\u00e4sku teises osas. See kopeerib ainult \u00fche rakenduse faili ja ei puuduta Go teenindust\u00f6\u00f6riistu. Uus mitmeastmeline Docker-fail sisaldab konteineri pilti, mille suurus on vaid 12 megabaiti, samas kui algne konteineri pilt oli 700 megabaiti, ja see on suur erinevus!<br \/>\nSeega, v\u00e4ikeste baasipiltide ja Builder Pattern'i kasutamine on suurep\u00e4rased viisid luua palju v\u00e4iksemaid konteinerite ilma suure t\u00f6\u00f6koormuseta.<br \/>\nS\u00f5ltuvalt rakenduste tehnoloogilisest virnast v\u00f5ivad olla ka t\u00e4iendavad viisid pildi ja konteineri suuruse v\u00e4hendamiseks, kuid kas t\u00f5esti v\u00e4ikestel konteineritel on m\u00f5\u00f5detav eelis? Vaatame kahte aspekti, kus v\u00e4ikesed konteinerid on \u00e4\u00e4rmiselt t\u00f5husad \u2013 tootlikkus ja turvalisus.<\/p>\n<p>Tootlikkuse kasvu hindamiseks vaatame konteineri loomise aega, selle registrisse sisestamise (push) ja sealt t\u00f5mbamise (pull) kestust. N\u00e4ete, et v\u00e4iksema suurusega konteineril on \u00fchem\u00f5tteline eelis v\u00f5rreldes suurema konteeriga.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/f48096cf875dbb34cb473f6296a2b601.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDocker cache'ib oma kihte, seega j\u00e4rgmised koostamisprotsessid toimuvad v\u00e4ga kiiresti. Siiski paljudes CI s\u00fcsteemides, mida kasutatakse konteinerite koostamiseks ja testimiseks, kihte ei cache'ita, mist\u00f5ttu saavutatakse siin m\u00e4rkimisv\u00e4\u00e4rne ajas\u00e4\u00e4st. Nagu n\u00e4ha, s\u00f5ltub suure konteineri koostamisaeg teie masina v\u00f5imsusest ning varieerub 34 kuni 54 sekundi vahel, samas kui Builder Pattern'i abil v\u00e4hendatud konteineri koostamisaeg on 23 kuni 28 sekundi vahemikus. Selliste operatsioonide jaoks on j\u00f5udluse t\u00f5us 40-50%. Seega m\u00f5elge lihtsalt, kui mitu korda te oma koodi loote ja testite.<\/p>\n<p>P\u00e4rast konteineri koostamist peate selle pildi sisestama (push container image) konteineriregistrisse, et seej\u00e4rel kasutada seda oma Kubernetes klastris. Soovitan kasutada Google'i konteineriregistrit.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/4c5426248c1e1ec6b0a36579db56c725.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKasutades Google Container Registry (GCR), maksate ainult \u201etoore\u201c salvestamise ja v\u00f5rgu eest, lisatasu konteinerite haldamise eest ei k\u00fcsita. See on konfidentsiaalne, ohutu ja v\u00e4ga kiire. GCR kasutab mitmeid nippe, et pull-operatsiooni kiirendada. Nagu n\u00e4ete, pildi sisestamine Docker Container Image kasutades go:onbuild s\u00f5ltuvalt arvuti j\u00f5udlusest v\u00f5tab aega 15 kuni 48 sekundit, samas kui sama operatsioon v\u00e4iksema konteineriga \u2013 14 kuni 16 sekundit, kusjuures v\u00e4hem j\u00f5uliste masinate jaoks suureneb operatsiooni kiirus kolm korda. Suurte masinate puhul on aeg enam-v\u00e4hem sama, kuna GCR kasutab globaalset vahem\u00e4lu, et jagada pilte, seega ei pea te neid \u00fcldse laadima. Madala j\u00f5udlusega arvutis on CPU kitsaskohaks, seega on v\u00e4ikeste konteinerite kasutamise eelised siin palju tuntavamad.<\/p>\n<p>Kui kasutate GCR-i, soovitan tungivalt kasutada Google Container Builder (GCB) osana oma koostes\u00fcsteemist.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/cf97f8636dff16d5663225547bfb0701.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu n\u00e4ete, v\u00f5imaldab selle kasutamine saavutada palju paremaid tulemusi Build+Push operatsiooni kestuse v\u00e4hendamises kui isegi v\u00f5imsal masinal \u2013 sel juhul kiireneb konteinerite loomise ja saatmise protsess peaaegu kahe korra. Lisaks saate iga p\u00e4ev 120 minutit tasuta ehitamist, mis enamasti rahuldab konteinerite loomise vajadusi. <\/p>\n<p>Edasi liikudes on k\u00f5ige olulisem j\u00f5udlusn\u00e4itaja \u2013 konteinerite Pull allalaadimiskiirus. Ja kui te ei muretse liiga palju push operatsiooni aja p\u00e4rast, siis pull protsessi kestus m\u00f5jutab t\u00f5siselt s\u00fcsteemi \u00fcldist j\u00f5udlust. Oletame, et teil on kolm s\u00f5lme sisaldav klaster ja \u00fcks neist eba\u00f5nnestub. Kui kasutate halduss\u00fcsteemi, nagu Google Kubernetes Engine, asendab see automaatselt rikki l\u00e4inud s\u00f5lme uuega. Kuid see uus s\u00f5lm on t\u00e4iesti t\u00fchi, ja te peate kaaluma, kuidas sinna k\u00f5ik teie konteinerid t\u00f5sta, et see hakkaks t\u00f6\u00f6le. Kui pull operatsioon kestab liiga kaua, t\u00f6\u00f6tab kogu see aeg teie klaster madalama tootlikkusega.<\/p>\n<p>On olemas palju olukordi, kui selline asi v\u00f5ib juhtuda: see v\u00f5ib olla uue s\u00f5lme lisamine klastrisse, s\u00f5lmede uuendamine v\u00f5i isegi uuele konteinerile \u00fcleminek. Seet\u00f5ttu muutub pull-aegade minimeerimine v\u00f5tmeteguriks. On vaieldamatu, et v\u00e4ike konteiner laetakse alla palju kiiremini kui suur. Kui kasutate Kuberneteses mitmeid konteinerid, v\u00f5ib ajas\u00e4\u00e4st olla t\u00f5eliselt oluline.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/fb0dacb37e9732fe2954323ee171a723.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVaadake allolevat v\u00f5rdlust: pull-operatsioon v\u00e4ikeste konteinerite korral v\u00f5tab s\u00f5ltuvalt masina v\u00f5imsusest 4\u20139 korda v\u00e4hem aega v\u00f5rreldes sama operatsiooniga, kasutades go:onbuild'i. V\u00e4ikeste kontseptuaalsete aluskujundite kasutamine kiirendab oluliselt aega ja kiirus, millega uued Kubernetes-s\u00f5lmed saavad \u00fcles seatud ja internetti \u00fchendatud.<\/p>\n<p>Vaatame turvalisuse k\u00fcsimust. Arvatakse, et v\u00e4iksemad konteinerid on palju turvalisemad kui suured, kuna neil on v\u00e4iksem r\u00fcnnakupind. Kas see on t\u00f5si? \u00dcks Google Container Registry kasulikest funktsioonidest on v\u00f5imalus automaatselt skaneerida teie konteinereid haavatavuste suhtes. M\u00f5ned kuud tagasi l\u00f5in nii onbuild kui ka mitmeastmelised konteinerid, nii et vaatame, kas seal on mingeid haavatavusi. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/0ed3cd7bb8c8f5164e1115e9f1be39d6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTulemus on h\u00e4mmastav: v\u00e4iksemas konteineris leiti vaid 3 keskmist haavatavust, samas kui suures on 16 kriitilist ja 376 muud haavatavust. Kui vaadata suures konteineris olevaid komponente, on n\u00e4ha, et enamik turvaprobleeme ei ole seotud meie rakendusega, vaid programmidega, mida me isegi ei kasuta. Seet\u00f5ttu, kui inimesed r\u00e4\u00e4givad suurest r\u00fcnnakupinnast, peavad nad silmas just seda. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetesi parimad praktikad. V\u00e4ikeste konteinerite loomine\" src=\"\/wp-content\/uploads\/2020\/05\/4a782f4a50153adc44042e9234357c02.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKokkuv\u00f5te on selge: looge v\u00e4ikseid konteinerid, sest need pakuvad teie s\u00fcsteemi t\u00f5husust ja turvalisust. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Kubernetesi parimad praktikad. Kubernetesi korraldamine nimespetsiifiliste ruumide abil<\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"wGz_cbtCiEA\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/wGz_cbtCiEA\/hqdefault.jpg\" alt=\"Vaata videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Veidi reklaami \ud83d\ude42<\/h3>\n<p>\nAit\u00e4h, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite n\u00e4ha rohkem huvitavaid materjale? Toetage meid, tehes tellimuse v\u00f5i soovitades meid tuttavatele. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">pilve VPS arendajatele alates $4,99<\/a><\/noindex>, <b>ainulaadne sisenemise taseme serverite analoog, mille oleme teie jaoks v\u00e4lja m\u00f5elnud:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Kogu t\u00f5de VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps alates $19 v\u00f5i kuidas \u00f5ieti serverit jagada?<\/a><\/noindex> (saadaval on RAID1 ja RAID10 variandid, kuni 24 s\u00fcdamikku ja kuni 40GB DDR4).<\/p>\n<p><b>Kas Dell R730xd on kaks korda odavam Equinixi Tier IV andmete keskuses Amsterdamis?<\/b> Ainult meie juures <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB alates $199<\/a><\/noindex> Hollandi turul! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 alates $99!<\/b><\/b> Lugege, kuidas <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Luua ettev\u00f5tte tasemel infrastruktuur Dell R730xd E5-2650 v4 serveritega, mille hind on 9000 eurot, madala hinnaga?<\/a><\/noindex><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes \u2013 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Docker, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82245,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82244","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=\"\u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes \u2013 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Docker, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430\" \/>\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\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov\" \/>\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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes \u2013 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Docker, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov\" \/>\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-20T11:42:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-20T11:42:45+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\udd47Parimad praktikad Kubernetes'is. V\u00e4ikeste konteinerite loomine | ProHoster","description":"Kubernetes'i esmane koolitus samm on oma rakenduse konteinerisse paigutamine. Selles seerias vaatame, kuidas luua v\u00e4ike ja turvaline konteineripilt. Docker'i abil ei ole konteineripiltide loomine kunagi olnud nii lihtne. M\u00e4\u00e4rake alusplaat, lisage oma muudatused ja looge konteiner. Kuigi see meetod on suurep\u00e4rane alguseks,","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 | ProHoster","og:description":"\u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes \u2013 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Docker, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","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-20T11:42:45+00:00","article:modified_time":"2020-05-20T11:42:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82244","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 15:41:28","updated":"2022-09-28 11:52:01"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/82244","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=82244"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/82244\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/82245"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=82244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=82244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=82244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}