{"id":94388,"date":"2020-09-16T07:43:39","date_gmt":"2020-09-16T05:43:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes"},"modified":"2020-09-16T07:43:39","modified_gmt":"2020-09-16T05:43:39","slug":"hranenie-dannyh-v-klastere-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","title":{"rendered":"Datu glab\u0101\u0161ana Kubernetes klaster\u012b","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kubernetes klaster\u012b darbojo\u0161os lietojumprogrammu datu glab\u0101\u0161anu var konfigur\u0113t vair\u0101kos veidos. Da\u017ei no tiem ir novecoju\u0161i, citi ir par\u0101d\u012bju\u0161ies pavisam nesen. \u0160aj\u0101 rakst\u0101 tiks apskat\u012bta tr\u012bs piek\u013cuves variantu koncepcija, tostarp jaun\u0101kais \u2014 piek\u013cuve Caurskat\u0101mo kr\u0101tuves interfeisa (Container Storage Interface) izmanto\u0161ana.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datu glab\u0101\u0161ana Kubernetes klaster\u012b\" src=\"\/wp-content\/uploads\/2020\/09\/c045dc02cc4db1a0693730574a02eb4a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"sposob-1-ukazanie-pv-v-manifeste-poda\">1. metode. PV nor\u0101d\u012b\u0161ana poda manisfest\u0101<\/h2>\n<p><\/p>\n<p>Tipisks manifests, kas apraksta podu Kubernetes klaster\u012b: <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datu glab\u0101\u0161ana Kubernetes klaster\u012b\" src=\"\/wp-content\/uploads\/2020\/09\/1df1b236df758f4a4a18905d31413617.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Manifest\u0101 izkr\u0101sot\u0101s da\u013cas par\u0101da, kur\u0161 apjoms tiek pievienots un kur.<\/p>\n<p><\/p>\n<p>Sada\u013c\u0101 <strong>volumeMounts<\/strong> nor\u0101da mont\u0113\u0161anas punktus (mountPath) \u2014 kur\u0101 katalog\u0101 konteiner\u0101 tiks mont\u0113ts past\u0101v\u012bgais apjoms, k\u0101 ar\u012b apjoma nosaukumu.<\/p>\n<p><\/p>\n<p>Sada\u013c\u0101 <strong>x<\/strong> uzskaita visus apjomus, kas tiek izmantoti pod\u0101. Nor\u0101da katra apjoma nosaukumu, k\u0101 ar\u012b tipu (m\u016bsu gad\u012bjum\u0101: awsElasticBlockStore) un piesl\u0113g\u0161anas parametrus. Kas tie\u0161i tiek nor\u0101d\u012bts manifest\u0101, ir atkar\u012bgs no apjoma veida.<\/p>\n<p><\/p>\n<p>Viens un tas pats apjoms var tikt mont\u0113ts vienlaikus vair\u0101kos podu konteineros. T\u0101d\u0113j\u0101di da\u017e\u0101di lietojumprogrammu procesi var piek\u013c\u016bt vieniem un tiem pa\u0161iem datiem. <\/p>\n<p><\/p>\n<p>\u0160\u012b piek\u013cuves metode tika izstr\u0101d\u0101ta pa\u0161\u0101 s\u0101kum\u0101, kad Kubernetes tikai par\u0101d\u012bj\u0101s, un tagad t\u0101 ir novecojusi.<\/p>\n<p><\/p>\n<p>To izmantojot, rodas vair\u0101kas probl\u0113mas: <\/p>\n<p><\/p>\n<ol>\n<li>visus apjomus ir j\u0101rada manu\u0101li, Kubernetes neko m\u016bsu viet\u0101 izveidot nevar;<\/li>\n<li>katram apjomam piek\u013cuves parametri ir unik\u0101li, un tos j\u0101nor\u0101da visos podu manifestos, kas izmanto apjomu;<\/li>\n<li>lai main\u012btu glab\u0101\u0161anas sist\u0113mu (piem\u0113ram, p\u0101rvietotos no AWS uz Google Cloud), ir j\u0101maina iestat\u012bjumi un pievienoto apjomu veidi visos manifestos.<\/li>\n<\/ol>\n<p><\/p>\n<p>Viss \u0161is process ir \u013coti ne\u0113rtas, t\u0101p\u0113c praks\u0113 \u0161\u012b metode tiek izmantota tikai da\u017eiem \u012bpa\u0161a veida apjomiem: configMap, secret, emptyDir, hostPath:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>configMap un secret \u2014 pakalpojumu apjomi, \u013cauj izveidot konteiner\u0101 apjomu ar failiem no Kubernetes manifestiem.<\/p>\n<p>\n<\/li>\n<li>\n<p>emptyDir \u2014 pagaidu apjoms, tiek izveidots tikai podu dz\u012bves laik\u0101. \u0112rti izmantot test\u0113\u0161anai vai pagaidu datu glab\u0101\u0161anai. Kad pods tiek dz\u0113sts, emptyDir tips apjoms ar\u012b tiek dz\u0113sts un visi dati paz\u016bd.<\/p>\n<p>\n<\/li>\n<li>\n<p>hostPath \u2014 \u013cauj piesl\u0113gt jebkuru lok\u0101l\u0101 servera diska katalogu, kur\u0101 darbojas lietojumprogramma, tie\u0161i konteineram ar lietojumprogrammu, tostarp \/etc\/kubernetes. \u0160\u012b nav dro\u0161a iesp\u0113ja, t\u0101d\u0113\u013c parasti dro\u0161\u012bbas politika aizliedz \u0161\u0101da veida apjomu izmanto\u0161anu. Pret\u0113j\u0101 gad\u012bjum\u0101 uzbruc\u0113ja lietojumprogramma var\u0113s piesl\u0113gt savu konteineram HTC Kubernetes katalogu un izsist visus klastera sertifik\u0101tus. Parasti hostPath apjomu izmanto\u0161anu at\u013cauj tikai sist\u0113mas lietojumprogramm\u0101m, kas darbojas kube-system namespace.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#types-of-volumes\">Uzglab\u0101\u0161anas sist\u0113mas, ar kur\u0101m Kubernetes str\u0101d\u0101 noklus\u0113ti<\/a><\/noindex> ir uzskait\u012btas dokument\u0101cij\u0101.<\/p>\n<p><\/p>\n<h2 id=\"sposob-2-podklyuchenie-k-podam-scpvcpv\">Veids 2. Piesl\u0113g\u0161an\u0101s pie SC\/PVC\/PV<\/h2>\n<p><\/p>\n<p>Alternat\u012bvs savienojuma veids ir Storage class, PersistentVolumeClaim, PersistentVolume koncepcija.<\/p>\n<p><\/p>\n<p><u>Storage class<\/u> satur savienojuma parametrus ar uzglab\u0101\u0161anas sist\u0113mu.<\/p>\n<p><\/p>\n<p><u>PersistentVolumeClaim<\/u> apraksta pras\u012bbas apjomam, kas nepiecie\u0161ams lietojumprogramm\u0101m.<br \/>\n<u>PersistentVolume<\/u> satur piek\u013cuves parametrus un apjoma statusu.<\/p>\n<p><\/p>\n<p>Idejas b\u016bt\u012bba: podu manisfest\u0101 nor\u0101da volume tipa PersistentVolumeClaim un \u0161\u012bs vien\u012bbas nosaukumu claimedName parametraj\u0101.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datu glab\u0101\u0161ana Kubernetes klaster\u012b\" src=\"\/wp-content\/uploads\/2020\/09\/08b0460be887d39801d1acb9ee1bbd2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>PersistentVolumeClaim manisfest\u0101 tiek aprakst\u012btas pras\u012bbas apjomam, kas nepiecie\u0161ams lietojumprogramm\u0101m. Taj\u0101 skait\u0101:<\/p>\n<p><\/p>\n<ul>\n<li>disku izm\u0113rs; <\/li>\n<li>piek\u013cuves veids: ReadWriteOnce vai ReadWriteMany;<\/li>\n<li>atsauce uz Storage class \u2014 kur\u0101 uzglab\u0101\u0161anas sist\u0113m\u0101 v\u0113lamies veidot apjomu.<\/li>\n<\/ul>\n<p><\/p>\n<p>Storage class manisfest\u0101 tiek saglab\u0101ti tips un savienojuma parametri ar uzglab\u0101\u0161anas sist\u0113mu. Tie ir nepiecie\u0161ami kubelet, lai piesl\u0113gtu apjomu savam mezglam. <\/p>\n<p><\/p>\n<p>PersistentVolume manisfestos nor\u0101d\u012btas Storage class un piek\u013cuves parametri konkr\u0113tajam apjomam (apjoma ID, ce\u013c\u0161 utt.).<\/p>\n<p><\/p>\n<p>Izveidojot PVC, Kubernetes p\u0101rbauda, k\u0101da izm\u0113ra apjoms un no k\u0101das Storage class nepiecie\u0161ams, un izv\u0113las br\u012bvo PersistentVolume.<\/p>\n<p><\/p>\n<p>Ja t\u0101du PV nav pieejami, Kubernetes var palaist speci\u0101lu programmu \u2014 Provisioner (t\u0101s nosaukumu nor\u0101da Storage class). \u0160\u012b programma piesl\u0113dzas uzglab\u0101\u0161anas sist\u0113mai, izveido nepiecie\u0161am\u0101 izm\u0113ra apjomu, ieg\u016bst identifikatoru un izveido Kubernetes klaster\u012b PersistentVolume manisfestu, kas saist\u0101s ar PersistentVolumeClaim.<\/p>\n<p><\/p>\n<p>Visas \u0161\u012bs abstrakcijas \u013cauj p\u0101rv\u0113rst inform\u0101ciju par to, ar k\u0101du uzglab\u0101\u0161anas sist\u0113mu lietojumprogramma str\u0101d\u0101, no lietojumprogrammu manisfesta l\u012bme\u0146a uz administr\u0113\u0161anas l\u012bmeni. <\/p>\n<p><\/p>\n<p>Visi savienojuma parametri uz datu glab\u0101\u0161anas sist\u0113mu atrodas Storage class, par kuru atbild klastera administratori. Viss, kas j\u0101izdara, p\u0101rejot no AWS uz Google Cloud, \u2014 tas ir j\u0101maina Storage class nosaukums PVC manisfestos. Persistance Volume datu glab\u0101\u0161anai tiks autom\u0101tiski izveidoti klaster\u012b, izmantojot Provisioner programmu.<\/p>\n<p><\/p>\n<h2 id=\"sposob-3-container-storage-interface\">3. metode. Container Storage Interface<\/h2>\n<p><\/p>\n<p>Visi kods, kas mijiedarbojas ar da\u017e\u0101d\u0101m datu glab\u0101\u0161anas sist\u0113m\u0101m, ir da\u013ca no Kubernetes kodola. K\u013c\u016bdu labojumu vai jauna funkcion\u0101la izlai\u0161ana ir saist\u012bta ar jauniem izlaidumiem, kods ir j\u0101maina vis\u0101m atbalst\u012btaj\u0101m Kubernetes versij\u0101m. Viss \u0161is ir gr\u016bti uztur\u0113t un pievienot jaunu funkcionalit\u0101ti.<\/p>\n<p><\/p>\n<p>Lai atrisin\u0101tu probl\u0113mu, izstr\u0101d\u0101t\u0101ji no Cloud Foundry, Kubernetes, Mesos un Docker izveidoja Container Storage Interface (CSI) \u2014 vienk\u0101r\u0161u standartiz\u0113tu interfeisu, kas apraksta mijiedarb\u012bbu starp konteineru p\u0101rvald\u012bbas sist\u0113mu un speci\u0101lo draiveri (CSI Driver), kas str\u0101d\u0101 ar konkr\u0113to S\u0136D. Visi kods, kas mijiedarbojas ar S\u0136D, tika iz\u0146emts no Kubernetes kodola un novietots atsevi\u0161\u0137\u0101 sist\u0113m\u0101.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2019\/01\/15\/container-storage-interface-ga\/\">Dokument\u0101cija par Container Storage Interface<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Parasti CSI draiveris sast\u0101v no diviem komponentiem: Node Plugin un Controller plugin.<\/p>\n<p><\/p>\n<p>Node Plugin tiek palaista katr\u0101 mezgl\u0101 un atbild par apjoma mont\u0101\u017eu un oper\u0101cij\u0101m ar tiem. Controller plugin mijiedarbojas ar S\u0136D: izveido vai dz\u0113\u0161 apjomus, pie\u0161\u0137ir piek\u013cuves ties\u012bbas utt.<\/p>\n<p><\/p>\n<p>Kam\u0113r Kubernetes kodol\u0101 paliek vecie draiveri, tom\u0113r to lieto\u0161ana vairs nav ieteicama, un visiem ieteicams instal\u0113t CSI draiveri tie\u0161i attiec\u012bgajai sist\u0113mai, ar kuru b\u016bs j\u0101str\u0101d\u0101.<\/p>\n<p><\/p>\n<p>Jaunums var satraukt tos, kuri jau pieradu\u0161i konfigur\u0113t datu glab\u0101\u0161anu caur Storage class, ta\u010du paties\u012bb\u0101 nekas briesm\u012bgs nenotika. Programm\u0113t\u0101jiem nekas nemain\u0101s \u2014 vi\u0146i k\u0101 str\u0101d\u0101ja tikai ar Storage class nosaukumu, t\u0101 ar\u012b turpina. Administr\u0101toriem pievienoj\u0101s helm chart uzst\u0101d\u012b\u0161ana un main\u012bj\u0101s iestat\u012bjumu strukt\u016bra. Ja iepriek\u0161 iestat\u012bjumi tika ievad\u012bti tie\u0161i Storage class, tad tagad vispirms tos j\u0101pievieno helm chart, un tikai tad jau Storage class. Ja saprot, nekas briesm\u012bgs nenotika.<\/p>\n<p><\/p>\n<p>Apskat\u012bsim piem\u0113ru, k\u0101das priek\u0161roc\u012bbas var ieg\u016bt, p\u0101rejot uz Ceph S\u0136D savienojumu, izmantojot CSI draiveri.<\/p>\n<p><\/p>\n<p>Str\u0101d\u0101jot ar Ceph, CSI draiveris nodro\u0161ina vair\u0101k iesp\u0113ju darbam ar S\u0136D nek\u0101 ieb\u016bv\u0113tie draiveri.<\/p>\n<p><\/p>\n<ol>\n<li><strong>Dinamisks disku izveidojums.<\/strong> Parasti RBD diski tiek izmantoti tikai RWO re\u017e\u012bm\u0101, bet CSI Ceph \u013cauj tos izmantot RWX re\u017e\u012bm\u0101. Vair\u0101ki pod'i da\u017e\u0101d\u0101s mezglos var pievienot to pa\u0161u RBD disku un str\u0101d\u0101t ar to paral\u0113li. J\u0101atz\u012bm\u0113, ka viss nav tik spo\u017ei \u2014 \u0161o disku var piesl\u0113gt tikai k\u0101 blokier\u012bci, t\u0101d\u0113j\u0101di b\u016bs nepiecie\u0161ams piel\u0101got lietojumprogrammu, lai t\u0101 str\u0101d\u0101tu ar to vair\u0101ku piek\u013cuves re\u017e\u012bm\u0101.<\/li>\n<li><strong>Snapshotu izveide.<\/strong> Kubernetes klaster\u012b var izveidot manifestu, kas pieprasa izveidot snapshot. CSI spraudnis to redz\u0113s un veiks snapshot no diska. Pamatojoties uz to, var\u0113s veikt vai nu dubl\u0113jumu, vai kopiju PersistentVolume. <\/li>\n<li><strong>Diska izm\u0113ra palielin\u0101\u0161ana<\/strong> uz SAN un PersistentVolume Kubernetes klaster\u012b.<\/li>\n<li><strong>Kvotas.<\/strong> Ieb\u016bv\u0113tie Kubernetes CephFS draiveri neatbalsta kvotas, bet jaun\u0101kie CSI spraud\u0146i ar jaun\u0101ko Ceph Nautilus sp\u0113j aktiviz\u0113t kvotas CephFS nodal\u012bjumos.<\/li>\n<li><strong>Metrikas.<\/strong> CSI spraudnis var nodot Prometheus vair\u0101kas metrikas par to, k\u0101di apjomi ir piesl\u0113gti, k\u0101di noris mijiedarb\u012bbas u.tml.<\/li>\n<li><strong>Topolo\u0123isk\u0101 apzi\u0146a.<\/strong> At\u013cauj nor\u0101d\u012bt manifeste, k\u0101 \u0123eogr\u0101fiski ir izklied\u0113ts klasteris, un izvair\u012bties no piesl\u0113g\u0161an\u0101s podiem, kas tiek palaisti London\u0101, datu uzglab\u0101\u0161anai, kas atrodas Amsterdam\u0101. <\/li>\n<\/ol>\n<p><\/p>\n<p>K\u0101 piesl\u0113gt Ceph Kubernetes klasterim caur CSI, skatieties <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/DteNn-1f-WI\">praktiskaj\u0101 lekcijas da\u013c\u0101 vakara skolas S\u013c\u0113rma<\/a><\/noindex>. T\u0101pat var pierakst\u012bties uz <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Ssx7pg\">Ceph video kursu<\/a><\/noindex>, kas s\u0101ksies 15. oktobr\u012b. <\/p>\n<p><\/p>\n<p><em>Raksta autors: Sergejs Bondarevs, praktiz\u0113jo\u0161s arhitekts Southbridge, Certified Kubernetes Administrator, viens no kubespray izstr\u0101d\u0101t\u0101jiem.<\/em><\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Nedaudz Post Scriptum ne rekl\u0101mas, bet noder\u012bbas d\u0113\u013c...<\/b><\/p>\n<p>P.S. Sergejs Bondarevs vada divus intens\u012bvos kursus: atjaunoto <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/1WIJFg\">Kubernetes B\u0101ze<\/a><\/noindex> 28.-30. septembr\u012b un padzi\u013cin\u0101to <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Wbqz5g\">Kubernetes Mega<\/a><\/noindex> no 14. l\u012bdz 16. oktobrim.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datu glab\u0101\u0161ana Kubernetes klaster\u012b\" src=\"\/wp-content\/uploads\/2020\/09\/69752ee9f7c9caf887011564139baf16.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/519130\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0442\u0440\u0451\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0421\u0425\u0414, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u0430\u043c\u044b\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u2014 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Container Storage Interface. \u0421\u043f\u043e\u0441\u043e\u0431 1. \u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435 PV \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u043f\u043e\u0434\u0430 \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u0434 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes: \u0426\u0432\u0435\u0442\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94388","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.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e.\" \/>\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\/lv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-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-09-16T05:43:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-16T05:43: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\udd47Datu uzglab\u0101\u0161ana Kubernetes klaster\u012b | ProHoster","description":"Datu uzglab\u0101\u0161anu lietojumprogramm\u0101m, kas darbojas Kubernetes klaster\u012b, var veikt vair\u0101kos veidos. Da\u017ei no tiem jau ir novecoju\u0161i, citi par\u0101d\u012bju\u0161ies pavisam nesen.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes | ProHoster","og:description":"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e.","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-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-09-16T05:43:39+00:00","article:modified_time":"2020-09-16T05:43:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94388","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 11:27:34","updated":"2022-10-02 10:35:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/94388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=94388"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/94388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/94389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=94388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=94388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=94388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}