{"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\/ro\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","title":{"rendered":"Stocarea datelor \u00een clusterul Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Configurarea stoc\u0103rii datelor aplica\u021biilor care ruleaz\u0103 \u00eentr-un cluster Kubernetes se poate face \u00een mai multe moduri. Unele dintre acestea sunt deja \u00eenvechite, \u00een timp ce altele au ap\u0103rut recent. \u00cen acest articol vom explora concep\u021bia a trei op\u021biuni de conectare a stoc\u0103rii, inclusiv cea mai recent\u0103 \u2014 conectarea prin Container Storage Interface.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Stocarea datelor \u00een clusterul Kubernetes\" 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\">Metoda 1. Specificarea PV \u00een manifestul pod-ului<\/h2>\n<p><\/p>\n<p>Un manifest tipic care descrie un pod \u00een clusterul Kubernetes: <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Stocarea datelor \u00een clusterul Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/1df1b236df758f4a4a18905d31413617.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u0103r\u021bile manifestului care descriu ce volum este conectat \u0219i unde sunt eviden\u021biate prin culoare.<\/p>\n<p><\/p>\n<p>\u00cen sec\u021biune <strong>volumeMounts<\/strong> indic\u0103 punctele de montare (mountPath) \u2014 \u00een ce director din interiorul containerului va fi montat volumul persistent, precum \u0219i numele volumului.<\/p>\n<p><\/p>\n<p>\u00cen sec\u021biune <strong>x<\/strong> enumer\u0103 toate volumele care sunt utilizate \u00een pod. Se specific\u0103 numele fiec\u0103rui volum, precum \u0219i tipul (\u00een cazul nostru: awsElasticBlockStore) \u0219i parametrii de conectare. Ce anume trebuie specificat \u00een manifest depinde de tipul volumului.<\/p>\n<p><\/p>\n<p>Acela\u0219i volum poate fi montat simultan \u00een mai multe containere ale pod-ului. Astfel, diferite procese ale aplica\u021biei pot avea acces la acelea\u0219i date. <\/p>\n<p><\/p>\n<p>Aceast\u0103 metod\u0103 de conectare a fost inventat\u0103 la \u00eenceputurile Kubernetes \u0219i \u00een prezent metoda este \u00eenvechit\u0103.<\/p>\n<p><\/p>\n<p>Utiliz\u00e2nd-o, apar mai multe probleme: <\/p>\n<p><\/p>\n<ol>\n<li>toate volumele trebuie create manual, Kubernetes nu va putea crea nimic \u00een locul nostru;<\/li>\n<li>parametrii de acces pentru fiecare volum sunt unici \u0219i trebuie specifica\u021bi \u00een manifestele tuturor pod-urilor care utilizeaz\u0103 volumul;<\/li>\n<li>pentru a schimba sistemul de stocare (de exemplu, a migra de la AWS la Google Cloud), trebuie s\u0103 schimbi set\u0103rile \u0219i tipul volumelor conectate \u00een toate manifestele.<\/li>\n<\/ol>\n<p><\/p>\n<p>Toate acestea sunt foarte inconfortabile, de aceea \u00een realitate aceast\u0103 metod\u0103 este utilizat\u0103 doar pentru a conecta anumite tipuri speciale de volume: configMap, secret, emptyDir, hostPath:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>configMap \u0219i secret \u2014 volume de sistem, permit crearea unui volum \u00een container cu fi\u0219iere din manifestele Kubernetes.<\/p>\n<p>\n<\/li>\n<li>\n<p>emptyDir \u2014 volum temporar, se creeaz\u0103 doar pe durata vie\u021bii pod-ului. Este convenabil de utilizat pentru teste sau pentru stocarea datelor temporare. C\u00e2nd pod-ul este \u0219ters, volumul de tip emptyDir este, de asemenea, \u0219ters \u0219i toate datele dispar.<\/p>\n<p>\n<\/li>\n<li>\n<p>hostPath \u2014 permite montarea oric\u0103rui director local de pe server \u00een interiorul unui container de aplica\u021bie, inclusiv \/etc\/kubernetes. Aceasta este o op\u021biune nesigur\u0103, a\u0219a c\u0103, de obicei, politicile de securitate interzic utilizarea volumelor de acest tip. Altfel, aplica\u021bia unui atacator ar putea monta \u00een interiorul containerului s\u0103u directorul HTC Kubernetes \u0219i ar putea fura toate certificatele cluster-ului. De regul\u0103, volumele hostPath sunt permise doar aplica\u021biilor de sistem care ruleaz\u0103 \u00een namespace kube-system.<\/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\">Sistemele de stocare a datelor cu care Kubernetes lucreaz\u0103 din cutie<\/a><\/noindex> sunt descrise \u00een documenta\u021bie.<\/p>\n<p><\/p>\n<h2 id=\"sposob-2-podklyuchenie-k-podam-scpvcpv\">Metoda 2. Conectarea la poduri SC\/PVC\/PV<\/h2>\n<p><\/p>\n<p>O alt\u0103 metod\u0103 de conectare \u2014 conceptul clasei de stocare, PersistentVolumeClaim, PersistentVolume.<\/p>\n<p><\/p>\n<p><u>Clasa de stocare<\/u> stocheaz\u0103 parametrii de conectare la sistemul de stocare a datelor.<\/p>\n<p><\/p>\n<p><u>PersistentVolumeClaim<\/u> descrie cerin\u021bele pentru volumul necesar aplica\u021biei.<br \/>\n<u>PersistentVolume<\/u> stocheaz\u0103 parametrii de acces \u0219i starea volumului.<\/p>\n<p><\/p>\n<p>Esenta ideii: \u00een manifestul podului, se indic\u0103 un volum de tip PersistentVolumeClaim \u0219i se specific\u0103 numele acestei entit\u0103\u021bi \u00een parametrul claimName.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Stocarea datelor \u00een clusterul Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/08b0460be887d39801d1acb9ee1bbd2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen manifestul PersistentVolumeClaim se descriu cerin\u021bele pentru volumul de date necesar aplica\u021biei. Acesta include:<\/p>\n<p><\/p>\n<ul>\n<li>dimensiunea discului; <\/li>\n<li>metoda de acces: ReadWriteOnce sau ReadWriteMany;<\/li>\n<li>referin\u021ba la clasa de stocare \u2014 \u00een ce sistem de stocare dorim s\u0103 cre\u0103m volumul.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00cen manifestul clasei de stocare se p\u0103streaz\u0103 tipul \u0219i parametrii de conectare la sistemul de stocare a datelor. Acestea sunt necesare cubletului pentru a monta volumul pe nodul s\u0103u. <\/p>\n<p><\/p>\n<p>\u00cen manifestele PersistentVolume se indic\u0103 clasa de stocare \u0219i parametrii de acces la volumul specific (ID-ul volumului, calea etc.).<\/p>\n<p><\/p>\n<p>Creeaz\u0103 PVC, Kubernetes verific\u0103 ce volum de ce dimensiune \u0219i din ce clas\u0103 de stocare este necesar \u0219i alege un PersistentVolume liber.<\/p>\n<p><\/p>\n<p>Dac\u0103 nu exist\u0103 PV disponibile, Kubernetes poate lansa un program special \u2014 Provisioner (numele acestuia este specificat \u00een clasa de stocare). Acest program se conecteaz\u0103 la SCSI, creeaz\u0103 volumul de dimensiunea necesar\u0103, ob\u021bine un identificator \u0219i creeaz\u0103 \u00een clusterul Kubernetes un manifest PersistentVolume, care este asociat cu PersistentVolumeClaim.<\/p>\n<p><\/p>\n<p>Aceast\u0103 multitudine de abstractiz\u0103ri permite eliminarea informa\u021biilor despre ce SCSI lucreaz\u0103 aplica\u021bia, de la nivelul manifestelor aplica\u021biilor la nivelul administr\u0103rii. <\/p>\n<p><\/p>\n<p>Toate parametrii de conectare la sistemul de stocare a datelor se afl\u0103 \u00een Storage class, pentru care sunt responsabili administratorii cluster-ului. Tot ce trebuie f\u0103cut atunci c\u00e2nd se face tranzi\u021bia de la AWS la Google Cloud este s\u0103 se schimbe denumirea Storage class \u00een PVC \u00een manifestele aplica\u021biei. Volumul de persisten\u021b\u0103 pentru stocarea datelor va fi creat automat \u00een cluster, cu ajutorul programului Provisioner.<\/p>\n<p><\/p>\n<h2 id=\"sposob-3-container-storage-interface\">Metoda 3. Container Storage Interface<\/h2>\n<p><\/p>\n<p>Tot codul care interac\u021bioneaz\u0103 cu diferitele sisteme de stocare a datelor este parte din nucleul Kubernetes. Lansarea remedierilor de erori sau a unor func\u021bionalit\u0103\u021bi noi este legat\u0103 de noile versiuni, iar codul trebuie modificat pentru toate versiunile Kubernetes suportate. Toate acestea sunt greu de \u00eentre\u021binut \u0219i de ad\u0103ugat func\u021bionalit\u0103\u021bi noi.<\/p>\n<p><\/p>\n<p>Pentru a rezolva problema, dezvoltatorii din Cloud Foundry, Kubernetes, Mesos \u0219i Docker au creat Container Storage Interface (CSI) \u2014 o interfa\u021b\u0103 simpl\u0103 \u0219i unificat\u0103 care descrie interac\u021biunea dintre sistemul de gestionare a containerelor \u0219i driverul specific (CSI Driver) care lucreaz\u0103 cu un anumit sistem de stocare a datelor. Tot codul pentru interac\u021biunea cu sistemele de stocare a fost scos din nucleul Kubernetes \u00eentr-un sistem separat.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2019\/01\/15\/container-storage-interface-ga\/\">Documenta\u021bia privind Container Storage Interface<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>\u00cen general, CSI Driver este compus din dou\u0103 componente: Node Plugin \u0219i Controller plugin.<\/p>\n<p><\/p>\n<p>Node Plugin este rulat pe fiecare nod \u0219i este responsabil pentru montarea volumelor \u0219i pentru opera\u021biile pe acestea. Controller plugin interac\u021bioneaz\u0103 cu sistemul de stocare: creeaz\u0103 sau \u0219terge volume, aloc\u0103 drepturi de acces etc.<\/p>\n<p><\/p>\n<p>Deocamdat\u0103, \u00een nucleul Kubernetes r\u0103m\u00e2n vechile drivere, dar utilizarea lor nu mai este recomandat\u0103, \u00eencuraj\u00e2ndu-se instalarea CSI Driver specific pentru sistemul cu care trebuie s\u0103 se colaboreze.<\/p>\n<p><\/p>\n<p>Inova\u021bia poate speria pe cei care s-au obi\u0219nuit s\u0103 configureze stocarea datelor prin Storage class, dar \u00een realitate nu s-a \u00eent\u00e2mplat nimic alarmant. Pentru programatori nu se schimb\u0103 nimic \u2014 ei vor continua s\u0103 lucreze doar cu denumirea Storage class. Administratorii au acum o instalare a helm chart-ului \u0219i s-a schimbat structura set\u0103rilor. Dac\u0103 \u00eenainte set\u0103rile erau introduse direct \u00een Storage class, acum trebuie definite mai \u00eent\u00e2i \u00een helm chart \u0219i apoi \u00een Storage class. Dac\u0103 se analizeaz\u0103, nu s-a \u00eent\u00e2mplat nimic grav.<\/p>\n<p><\/p>\n<p>S\u0103 lu\u0103m, prin exemplu, \u00een considerare ce avantaje pot fi ob\u021binute trec\u00e2nd la conectarea sistemului de stocare Ceph prin intermediul driverului CSI.<\/p>\n<p><\/p>\n<p>C\u00e2nd se lucreaz\u0103 cu Ceph, pluginul CSI ofer\u0103 mai multe posibilit\u0103\u021bi de interac\u021biune cu sistemul de stocare dec\u00e2t driver-ele integrate.<\/p>\n<p><\/p>\n<ol>\n<li><strong>Crearea dinamic\u0103 a discurilor.<\/strong> De obicei, discurile RBD sunt utilizate doar \u00een modul RWO, iar CSI pentru Ceph le permite s\u0103 fie folosite \u00een modul RWX. Mai multe pod-uri pe noduri diferite pot monta aceea\u0219i disc RBD pe nodurile lor \u0219i pot lucra cu el \u00een paralel. Din p\u0103cate, nu totul este perfect \u2014 acest disc poate fi conectat doar ca un dispozitiv de stocare bloc, ceea ce \u00eenseamn\u0103 c\u0103 va trebui s\u0103 adapta\u021bi aplica\u021bia pentru a func\u021biona cu el \u00een modul de acces multiplu.<\/li>\n<li><strong>Crearea snapshot-urilor.<\/strong> \u00cen clusterul Kubernetes, se poate crea un manifest cu cerin\u021ba de a crea un snapshot. Plug-in-ul CSI \u00eel va vedea \u0219i va crea un snapshot de pe disc. Pe baza acestuia, se poate face un backup sau o copie a PersistentVolume. <\/li>\n<li><strong>Cre\u0219terea dimensiunii discului<\/strong> pe SxhD \u0219i PersistentVolume \u00een clusterul Kubernetes.<\/li>\n<li><strong>Quot\u0103.<\/strong> Driverii \u00eencorpora\u021bi \u00een Kubernetes pentru CephFS nu suport\u0103 cotele, iar noile plugin-uri CSI cu Ceph Nautilus pot activa cotele pe part\u021biile CephFS.<\/li>\n<li><strong>Metri.<\/strong> Plug-in-ul CSI poate oferi \u00een Prometheus multe metri despre care volume sunt conectate, ce interac\u021biuni au loc etc.<\/li>\n<li><strong>Topologie con\u0219tient\u0103.<\/strong> Permite specificarea \u00een manifeste cum este distribuit geografic clusterul \u0219i evitarea conect\u0103rii la pod-uri care ruleaz\u0103 \u00een Londra dac\u0103 sistemul de stocare este localizat \u00een Amsterdam. <\/li>\n<\/ol>\n<p><\/p>\n<p>Cum s\u0103 conecta\u021bi Ceph la clusterul Kubernetes prin CSI, vede\u021bi <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/DteNn-1f-WI\">\u00een partea practic\u0103 a lec\u021biei \u0219colii de sear\u0103 Slurm<\/a><\/noindex>. De asemenea, pute\u021bi s\u0103 v\u0103 abona\u021bi la <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Ssx7pg\">cursul video Ceph<\/a><\/noindex>, care va \u00eencepe pe 15 octombrie. <\/p>\n<p><\/p>\n<p><em>Autorul articolului: Sergey Bondarev, arhitect practicant la Southbridge, Administrator Certificat Kubernetes, unul dintre dezvoltatorii kubespray.<\/em><\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Pu\u021bin Post Scriptum, nu pentru publicitate, ci pentru utilitate...<\/b><\/p>\n<p>P.S. Sergey Bondarev conduce dou\u0103 intensive: actualizat <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/1WIJFg\">Kubernetes Baza<\/a><\/noindex> 28-30 septembrie \u0219i avansat <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Wbqz5g\">Kubernetes Mega<\/a><\/noindex> 14\u201316 octombrie.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Stocarea datelor \u00een clusterul Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/69752ee9f7c9caf887011564139baf16.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Stocarea datelor \u00een clusterul Kubernetes | ProHoster","description":"Configurarea stoc\u0103rii datelor aplica\u021biilor rulate \u00een clusterul Kubernetes se poate face \u00een mai multe moduri. Unele dintre acestea sunt deja \u00eenvechite, altele au ap\u0103rut foarte recent.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/94388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=94388"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/94388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/94389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=94388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=94388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=94388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}