{"id":71858,"date":"2020-02-28T21:00:08","date_gmt":"2020-02-28T18:00:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/patterny-hraneniya-dannyh-v-kubernetes"},"modified":"2020-03-03T16:14:09","modified_gmt":"2020-03-03T13:14:09","slug":"patterny-hraneniya-dannyh-v-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/patterny-hraneniya-dannyh-v-kubernetes","title":{"rendered":"Andmete salvestamise mustrid Kuberneteses","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/490180\/\"><img decoding=\"async\" alt=\"Andmete salvestamise mustrid Kuberneteses\" src=\"\/wp-content\/uploads\/2020\/02\/148744e73101d47e7a5a76bdd3bb57e1.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\nTere, Habr!<\/p>\n<p>Tuletame meelde, et oleme v\u00e4lja andnud uue, \u00e4\u00e4rmiselt huvitava ja kasuliku <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/new\/product\/patterny-kubernetes-shablony-razrabotki-sobstvennyh-oblachnyh-prilozheniy\">raamat<\/a><\/noindex> Kubernetesi mustritest. K\u00f5ik algas veel &quot;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/raspredelennye-sistemy-patterny-proektirovaniya\">Mustritest<\/a><\/noindex>&quot; Brendani Burnsist, ja tegelikult on meil selles valdkonnas head saavutused <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/new\/product\/kubernetes-dlya-devops-razvertyvanie-zapusk-i-masshtabirovanie-v-oblake\">keeb<\/a><\/noindex>. T\u00e4na pakume teile lugeda MinIO blogi artiklit, mis l\u00fchidalt k\u00e4sitleb andmemustrite hoidmise suundi ja spetsiifikat Kuberneteses.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Kubernetes on p\u00f5him\u00f5tteliselt muutnud traditsioonilisi rakenduste arendamise ja juurutamise mustreid. N\u00fc\u00fcd v\u00f5ivad meeskondadel minna p\u00e4evad rakenduse arendamiseks, testimiseks ja juurutamiseks \u2013 erinevates keskkondades, ja seda k\u00f5ike Kubernetes klastrite piirides. Selline t\u00f6\u00f6 eelneva p\u00f5lvkonna tehnoloogiatega v\u00f5ttis tavaliselt tervete n\u00e4dalate, kui mitte kuude, jagu aega.<\/p>\n<p>Selline kiirus on v\u00f5imalik t\u00e4nu Kubernetes'e pakkumisele, v\u00f5rreldes eelnevate p\u00f5lvkondade tehnoloogiatega \u2013 see t\u00e4hendab, et Kubernetes ise tegeleb f\u00fc\u00fcsiliste v\u00f5i virtuaalsete masinate madalama tasandi detailidega, v\u00f5imaldades kasutajatel m\u00e4rgata teiste parameetrite seas vajalikku protsessorit, vajaliku m\u00e4lumahtu ja konteinerite koopiate arvu. Kuna Kubernetes'e toetab tohutu kogukond ja selle rakendamine laieneb pidevalt, on see kaugel ees k\u00f5igist konteinerite orkestreerimise platvormidest.<\/p>\n<p><i><b>Kubernetes'e kasutamise kasvu korral suureneb ka segadus andmete hoidmise mustrite osas<\/b><\/i>.<\/p>\n<p>Kuna k\u00f5ik konkureerivad Kubernetes'e kukeldamise nimel (st andmete hoidmine), kadub andmete hoidmise arutelu siia segasesse m\u00fcrasse.<br \/>\nKubernetes kehastab kaasaegset rakenduste arendamise ja juurutamise mudelit, samuti nende haldamist. See kaasaegne mudel eraldab andmete hoidmise arvutustest. Et t\u00e4ielikult m\u00f5ista sellist eraldamist Kubernetes'e kontekstis, peab m\u00f5istma ka, mis on olekuga ja staatilise s\u00e4ilitamisega rakendused ning kuidas andmete hoidmine sellega seondub. Just siin on S3 kasutatav REST API l\u00e4henemisviisil selged eelised v\u00f5rreldes teiste lahenduste iseloomuliku POSIX\/CSI l\u00e4henemisega.<\/p>\n<p>Selles artiklis r\u00e4\u00e4gime andmete salvestamise mustritest Kuberneteses ning k\u00e4sitleme eraldi arutelu rakendustest, mis t\u00f6\u00f6tavad ilma ja koos oleku salvestamisega, et m\u00f5ista, mis nende vahel vahe on ja miks see on oluline. Edasi teksis vaatleme rakendusi ja kasutatavaid andmete salvestamise mustreid konteinerite ja Kubernetesega t\u00f6\u00f6tamise parimate praktikate valguses.<\/p>\n<h4>Oleku salvestamata konteinerid<\/h4>\n<p>\nKonteinerid on oma olemuselt kerged ja ajutised. Neid saab kergesti peatada, kustutada v\u00f5i teisele s\u00f5lmele rakendada \u2013 sellele kulub vaid m\u00f5ned sekundid. Suures konteinerite orkestreerimise s\u00fcsteemis toimuvad sellised toimingud pidevalt ning kasutajad ei m\u00e4rkagi selliseid muutusi. Siiski on liikuvus v\u00f5imalik ainult juhul, kui konteineril ei ole mingeid s\u00f5ltuvusi s\u00f5lmest, kus see asub. Selliste konteinerite kohta \u00f6eldakse, et need t\u00f6\u00f6tavad <i>ilma oleku salvestamiseta<\/i>.<\/p>\n<h4>Oleku salvestavad konteinerid<\/h4>\n<p>\nKui konteiner salvestab andmeid kohalikult \u00fchendatud seadmetes (v\u00f5i plokkseadmestikes), peab andmete salvestus, kus ta asub, koos konteineriga uuele s\u00f5lmele liikuma \u2013 juhul kui tekib t\u00f5rge. See on oluline, kuna muidu ei saa konteineris k\u00e4ivituv rakendus korralikult toimida, sest tal on vaja juurdep\u00e4\u00e4su andmetele, mis on salvestatud kohalikesse m\u00e4luseadmetesse. Selliste konteinerite kohta \u00f6eldakse, et need t\u00f6\u00f6tavad <i>oleku salvestamisega<\/i>.<\/p>\n<p>Puht tehnilisest vaatenurgast on oleku salvestavaid konteinerid v\u00f5imalik samuti teisele s\u00f5lmele liigutada. T\u00fc\u00fcpiliselt saavutatakse see kaudu jaotatud failis\u00fcsteemide v\u00f5i plokkide v\u00f5rgu andmesalvestuse kasutamisega, mis on seotud k\u00f5ikide s\u00f5lmedega, kus konteinerid t\u00f6\u00f6tavad. Sel moel saavad konteinerid juurdep\u00e4\u00e4su p\u00fcsivale andmesalvestusele ja teave salvestatakse kettale, mis asuvad kogu v\u00f5rgus. Seda meetodit nimetaksin ma \"<i>oleku salvestava konteineri l\u00e4henemiseks<\/i>\", ja artikli \u00fclej\u00e4\u00e4nud osas nimetan seda niimoodi \u00fchtsuse nimel.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete salvestamise mustrid Kuberneteses\" src=\"\/wp-content\/uploads\/2020\/02\/a5546db15801389d58476f50c8c66803.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00fc\u00fcpilise konteinerip\u00f5hise l\u00e4henemise korral, kus s\u00e4ilitatakse riik, kinnitatakse k\u00f5ik rakenduste podid \u00fchte hajutatud failis\u00fcsteemi \u2013 saadakse omamoodi jagatud salvestus, kus on k\u00f5ik rakenduste andmed. Kuigi v\u00f5ivad esineda m\u00f5ned variatsioonid, on see k\u00f5rgetasemeline l\u00e4henemine.<\/p>\n<p>N\u00fc\u00fcd uurigem, miks konteinerip\u00f5hine l\u00e4henemine riigi s\u00e4ilitamisega pilvekeskses maailmas on antipattern.<\/p>\n<h4>Pilvekesksed rakenduste projekteerimise p\u00f5him\u00f5tted<\/h4>\n<p>\nTraditsiooniliselt kasutasid rakendused andmebaase struktureeritud teabe salvestamiseks ja kohalikke kettaid v\u00f5i hajutatud failis\u00fcsteeme, kuhu salvestati k\u00f5ik struktureerimata v\u00f5i isegi osaliselt struktureeritud andmed. Aja jooksul, kui struktureerimata andmete maht kasvas, m\u00f5istsid arendajad, et POSIX on liiga \"r\u00e4\u00e4kiv\", seondub m\u00e4rkimisv\u00e4\u00e4rsete kuludega ja l\u00f5puks h\u00e4irib rakenduse t\u00f6\u00f6d, kui minnakse t\u00f5eliselt suurte mastaapide juurde.<\/p>\n<p>See aitas oluliselt kaasa uue andmete salvestamise standardi tekkimisele, st pilvekesksed salvestuss\u00fcsteemid, mis t\u00f6\u00f6tavad peamiselt REST API alusel ja vabastavad rakenduse koormavast kohaliku andmesalvestuse haldamisest. Sellisel juhul t\u00f6\u00f6tab rakendus sisuliselt seisundita re\u017eiimis (kuna olek asub kaugandmesalves). Kaasaegsed rakendused ehitatakse juba algusest peale arvesse v\u00f5ttes seda tegurit. \u00dcldiselt on iga kaasaegne rakendus, mis t\u00f6\u00f6tleb mingi teabe t\u00fc\u00fcpi (logid, metaandmed, blobid jne), \u00fcles ehitatud pilvekesksesse paradigmasse, kus olek viiakse spetsiaalselt selle jaoks n\u00e4htud tarkvaras\u00fcsteemi. <\/p>\n<p><i><b>Konteinerip\u00f5hine l\u00e4henemine riigi s\u00e4ilitamisega sunnib kogu selle paradigma tagasi minema aufs kanti, kust see alguse sai! <\/b><\/i><\/p>\n<p>Kasutades POSIX-liideseid rakenduste andmete salvestamiseks t\u00f6\u00f6tavad rakendused nagu nad salvestaksid olekut, mis toob kaasa k\u00f5rvalekaldeid k\u00f5ige olulisematest pilvep\u00f5hisest disaini postulaatidest, nagu v\u00f5imalus varieerida rakenduse t\u00f6\u00f6voogude suurusi vastavalt sisenevale koormusele, liikuda uuele s\u00f5lmele kohe, kui aktiivne s\u00f5lm eba\u00f5nnestub, jne.<\/p>\n<p>Sellele olukorrale l\u00e4hemalt vaatates leiame, et andmesalvestuse valimisel puutume taas kokku dilemma \u00abPOSIX vs REST API\u00bb, kuid lisaks POSIX-i probleemide s\u00fcvenemisele, mis on tingitud Kubernetes'e jaotatud keskkonnadest. Eesk\u00e4tt,<\/p>\n<ul>\n<li><b>POSIX on jutukas<\/b>: POSIX-i semantika n\u00f5uab, et iga toiminguga seostataks metainformatsioon ja failidesse viitavad descriptor'id, mis aitavad operatsiooni olekut s\u00e4ilitada. See toob kaasa oluliselt suurenenud kulud, millel pole reaalselt mingit v\u00e4\u00e4rtust. Objektide salvestus-API, sealhulgas S3 API, on need n\u00f5udmised eemaldanud, v\u00f5imaldades rakendusel toimida ja seej\u00e4rel<\/li>\n<li><b>V\u00f5rgupiirangud<\/b>: Jaotatud s\u00fcsteemis eeldatakse, et v\u00f5ib eksisteerida mitmeid rakendusi, mis p\u00fc\u00fcavad kirjutada andmeid samale kinnitatud kandjale. Seet\u00f5ttu mitte ainult, et rakendused konkureerivad omavahel ribalaiuse p\u00e4rast (et saata andmeid kandjale), vaid ka andmesalvestuss\u00fcsteem ise konkureerib selle ribalaiuse nimel, jaotades andmeid f\u00fc\u00fcsilistele ketastele. POSIX-i jutukuse t\u00f5ttu kasvab v\u00f5rgu v\u00e4ljakutsete arv mitu korda. Teisalt, S3 API tagab selge eristuse v\u00f5rgu v\u00e4ljakutsete vahel, mis tulevad kliendilt serverisse, ja nende, mis toimuvad serveri sees.<\/li>\n<li><b>Turvalisus<\/b>: POSIX turvamudeli eesm\u00e4rk on aktiivne inimosalus: administraatorid konfigureerivad iga kasutaja v\u00f5i grupi jaoks konkreetsed juurdep\u00e4\u00e4sutasemed. Selline paradigma on keeruline kohandada pilvep\u00f5hisesse maailma. Kaasaegsed rakendused s\u00f5ltuvad turvamudelitest, mis p\u00f5hinevad API-l, kus juurdep\u00e4\u00e4su\u00f5igused m\u00e4\u00e4ratletakse poliitikate kogumina, teenusekontod eraldatakse, ajutised kasutustunnused jne.<\/li>\n<li><b>Haldatavus<\/b>: Olemasolevate konteinerite haldamine toob kaasa teatud kulud. R\u00e4\u00e4gime andmete paralleelse juurdep\u00e4\u00e4su s\u00fcnkroonimisest, andmete j\u00e4rjepidevuse tagamisest; k\u00f5ik see n\u00f5uab hoolikat kaalumist, milliseid andmete juurdep\u00e4\u00e4supatente kasutada. On vaja paigaldada, j\u00e4lgida ja konfigureerida t\u00e4iendavaid programme, r\u00e4\u00e4kimata lisat\u00f6\u00f6st arendamisel.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Konteineri andmesalvestuse liides<\/h4>\n<p>\nKonteineri andmesalvestuse liides (CSI) on suurep\u00e4raselt aidanud rakendada Kubernetes'e mahu taset, edastades selle osaliselt kolmandate osapoolte andmesalvestuse teenustele, kuid samas on see kogemata toetanud arusaama, et konteinerip\u00f5hine l\u00e4henemine andmete s\u00e4ilitamisele on soovitatav meetod andmete salvestamiseks Kubernetes'es.<\/p>\n<p>CSI on v\u00e4lja t\u00f6\u00f6tatud kui standard, mis pakub p\u00e4randrakendustele juhuslike plokk- ja failisalvestuss\u00fcsteemide toe Kubernetes'es t\u00f6\u00f6tades. Ja nagu on n\u00e4idatud k\u00e4esolevas artiklis, on ainus olukord, kus konteinerip\u00f5hine l\u00e4henemine andmete s\u00e4ilitamisele (ja CSI oma praegusel kujul) on m\u00f5istlik, siis kui rakendus ise on p\u00e4randis\u00fcsteem, kus API objekti andmesalvestuse toe lisamine on v\u00f5imatu.<\/p>\n<p>Oluline on m\u00f5ista, et kasutades CSI-d oma praeguses vormis, st m\u00e4lumahtude mountimist modernsetes rakendustes, seisame silmitsi enam-v\u00e4hem samade probleemidega, mis esinesid s\u00fcsteemides, kus andmesalvestus oli korraldatud POSIX stiilis.<\/p>\n<h4>Kvaliteetsem l\u00e4henemine<\/h4>\n<p>\nSel juhul on oluline m\u00f5ista, et enamik rakendusi ei ole oma olemuselt kohandatud t\u00f6\u00f6tama kas oleku salvestamise v\u00f5i salvestamata olekuga. Selline k\u00e4itumine s\u00f5ltub s\u00fcsteemi \u00fcldisest arhitektuurist ja valitud valikutest projekteerimise k\u00e4igus. R\u00e4\u00e4gime veidi rakendustest, mis salvestavad olekut.<\/p>\n<p>P\u00f5him\u00f5tteliselt saab k\u00f5ik rakenduste andmed jagada mitmeks laiapinnaliseks t\u00fc\u00fcbiks:<\/p>\n<ul>\n<li>Logi andmed<\/li>\n<li>Ajatempli andmed<\/li>\n<li>Tehingu andmed<\/li>\n<li>Metaandmed<\/li>\n<li>Konteinerite pildid<\/li>\n<li>Blob-andmed (suured binaarobjektid)<\/li>\n<\/ul>\n<p>\nK\u00f5iki neid andmet\u00fc\u00fcpe toetatakse v\u00e4ga h\u00e4sti kaasaegsetes andmesalvestusplatvormides ning on olemas mitmeid pilvep\u00f5hiseid platforme, mis on kohandatud andmete tarnimiseks igasugustes spetsiifilistes formaatides. N\u00e4iteks v\u00f5ivad tehingu andmed ja metaandmed asuda kaasaegses pilvep\u00f5hises andmebaasis nagu CockroachDB, YugaByte jne. Konteinerite pildid v\u00f5i blob-andmed v\u00f5ivad olla salvestatud MinIO-l p\u00f5hinevas docker-rekis. Ajatempli andmed v\u00f5ivad olla salvestatud ajarease andmebaasis, n\u00e4iteks InfluxDB jne. Siin ei hakka me igasuguste andmete ja vastavate rakenduste detaile lahkama, kuid p\u00f5him\u00f5te on v\u00e4ltida p\u00fcsivalt salvestatud andmete hoidmist, mis p\u00f5hinevad kohalikul ketaste mountimisel.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete salvestamise mustrid Kuberneteses\" src=\"\/wp-content\/uploads\/2020\/02\/8e39996ef159f09915802549d4e8ecd5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLisaks on tihti t\u00f5hus pakkuda ajutise vahem\u00e4lu taset, mis toimib rakenduste jaoks omamoodi ajutiste failide ladustamisena, kuid rakendused ei tohiks sellest tasemest s\u00f5ltuda t\u00f5e allikana.<\/p>\n<h4>Oleku salvestava rakenduse ladustamine<\/h4>\n<p>\nKuigi enamikul juhtudel on kasulik hoida rakendusi ilma olekuta, peavad need rakendused, mis on ette n\u00e4htud andmete salvestamiseks \u2013 n\u00e4iteks andmebaasid, objektide ladustamis\u00fcsteemid, v\u00f5tme-v\u00e4\u00e4rtuse ladustamised \u2013 salvestama oleku. Vaatame, miks need rakendused k\u00e4ivitatakse Kuberneteses. N\u00e4iteks toome MinIO, kuid sarnased p\u00f5him\u00f5tted kehtivad ka mistahes muude suurte pilvep\u00f5histe andmesalvestuss\u00fcsteemide kohta.<\/p>\n<p>Pilvep\u00f5hised rakendused on projekteeritud maksimaalse paindlikkuse t\u00f5husaks kasutamiseks, mis on iseloomulik konteineritele. See t\u00e4hendab, et need ei eelda mingit spetsiifilist keskkonda, kus neid kasutatakse. N\u00e4iteks MinIO kasutab sisemist \u00fcleliigse kodeerimise mehhanismi (erasure coding), mis tagab s\u00fcsteemi piisava vastupidavuse, et see j\u00e4\u00e4ks toimivaks, isegi kui pooled kettad peaksid t\u00f5rkuma. Samuti hooldab MinIO andmete terviklikkust ja turvalisust, rakendades oma serveripoolset hajutamist ja kr\u00fcptimist.<\/p>\n<p>Selliste pilvep\u00f5histe rakenduste jaoks on parimaks varukoopiateks kohalikud p\u00fcsivad mahud (PV). Kohalik PV v\u00f5imaldab salvestada tooreid andmeid, samas kui nende PV-de peal t\u00f6\u00f6tavad rakendused koguvad ise teavet, mis v\u00f5imaldab andmete skaleerimist ja haldamist kasvavate andmep\u00e4ringute jaoks.<\/p>\n<p>See l\u00e4henemine on palju lihtsam ja oluliselt paremini skaleeritav v\u00f5rreldes CSI-p\u00f5histe PV-dega, mis toovad s\u00fcsteemi oma andmete haldamise ja \u00fcleliigsete tasemed; probleem on selles, et need tasemed konfliktsivad tavaliselt rakendustega, mis on projekteeritud olekut s\u00e4ilitama.<\/p>\n<h4>Kindel liikumine andmete eraldamiseks arvutustest<\/h4>\n<p>\nSelles artiklis arutasime, kuidas rakendused suunavad oma t\u00f6\u00f6 uuele suundumusele, kus andmete salvestamine on lahutatud nende kohalsetest arvutustest. L\u00f5petuseks vaatame m\u00f5ned reaalsed n\u00e4ited selle trendi kohta.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/spark.apache.org\/\">Spark<\/a><\/noindex>, kuulus andmeanal\u00fc\u00fcsi platvorm, on traditsiooniliselt kasutatud olekut s\u00e4ilitades ja kasutades HDFS-i failis\u00fcsteemi. Kuid Spark on \u00fcha enam liikumas pilvep\u00f5hisesse maailma, kus seda platvormi kasutatakse j\u00e4rjest rohkem olekuta, kasutades `s3a`. Spark rakendab s3a, et edastada olekut teistele s\u00fcsteemidele, samas kui Spark konteinerid t\u00f6\u00f6tavad t\u00e4ielikult ilma olekuta. Teised suured ettev\u00f5tted suurandmete anal\u00fc\u00fcsivaldkonnas, eelk\u00f5ige <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vertica.com\/docs\/9.2.x\/HTML\/Content\/Authoring\/Eon\/Architecture.htm\">Vertica<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/min.io\/resources\/docs\/Teradata-solution-brief.pdf\">Teradata<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.pivotal.io\/partners\/minio-greenplum\/using.html\">Greenplum<\/a><\/noindex> liiguvad samuti andmete salvestamise ja arvutuste eraldamise suunas.<\/p>\n<p>Sarnased mustrid on samuti j\u00e4lgitavad teistel suurtel anal\u00fc\u00fcsiplatvormidel, sealhulgas Presto, Tensorflow to R, Jupyter. Kui eksportida olek kaugseadmestatud andmetesse, on teie rakenduse haldamine ja selle skaleerimine palju lihtsam. Lisaks sellele suurendab see rakenduse portatiivsust erinevates keskkondades.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/490180\/\">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! \u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0432\u044b\u0448\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430\u0445 Kubernetes. \u041d\u0430\u0447\u0438\u043d\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u0435\u0449\u0435 \u0441 &quot;\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432&quot; \u0411\u0440\u0435\u043d\u0434\u0430\u043d\u0430 \u0411\u0435\u0440\u043d\u0441\u0430, \u0438, \u0432\u043f\u0440\u043e\u0447\u0435\u043c, \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u044d\u0442\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435 \u0443 \u043d\u0430\u0441 \u043a\u0438\u043f\u0438\u0442. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0436\u0435 \u043c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u043c \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0438\u0437 \u0431\u043b\u043e\u0433\u0430 MinIO, \u043a\u0440\u0430\u0442\u043a\u043e \u0438\u0437\u043b\u0430\u0433\u0430\u044e\u0449\u0443\u044e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0438 \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0443 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes. Kubernetes \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":71859,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-71858","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=\"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\/patterny-hraneniya-dannyh-v-kubernetes\" \/>\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\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/patterny-hraneniya-dannyh-v-kubernetes\" \/>\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-02-28T18:00:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:14:09+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\udd47Andmete salvestamise mustrid Kuberneteses | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/patterny-hraneniya-dannyh-v-kubernetes","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\u041f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes | ProHoster","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/patterny-hraneniya-dannyh-v-kubernetes","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-02-28T18:00:08+00:00","article:modified_time":"2020-03-03T13:14:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"71858","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 18:55:27","updated":"2022-09-27 18:57:08","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\/71858","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=71858"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/71858\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/71859"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=71858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=71858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=71858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}