{"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\/sv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","title":{"rendered":"Dat lagring i en Kubernetes-kluster","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Datastore f\u00f6r applikationer som k\u00f6rs i en Kubernetes-kluster kan konfigureras p\u00e5 flera s\u00e4tt. Vissa av dem \u00e4r redan f\u00f6r\u00e5ldrade, medan andra har dykt upp nyligen. I denna artikel kommer vi att g\u00e5 igenom konceptet med tre s\u00e4tt att ansluta lagringssystem, inklusive den senaste \u2014 anslutning via Container Storage Interface.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Dat lagring i en Kubernetes-kluster\" 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\">S\u00e4tt 1. Angivande av PV i podens manifest<\/h2>\n<p><\/p>\n<p>Ett typiskt manifest som beskriver en pod i Kubernetes-klustret: <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Dat lagring i en Kubernetes-kluster\" src=\"\/wp-content\/uploads\/2020\/09\/1df1b236df758f4a4a18905d31413617.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Delarna av manifestet som beskriver vilken volym som ansluts och var, markeras med f\u00e4rg.<\/p>\n<p><\/p>\n<p>I avsnittet <strong>volumeMounts<\/strong> anger monteringspunkterna (mountPath) \u2014 i vilken mapp inom containern den persistenta volymen kommer att monteras, samt volymens namn.<\/p>\n<p><\/p>\n<p>I avsnittet <strong>x<\/strong> anger alla volymer som anv\u00e4nds i podden. Anger namnet p\u00e5 varje volym samt typ (i v\u00e5rt fall: awsElasticBlockStore) och anslutningsparametrar. Vilka specifika parametrar som anges i manifestet beror p\u00e5 volymtypen.<\/p>\n<p><\/p>\n<p>Samma volym kan monteras samtidigt i flera containrar i podden. P\u00e5 s\u00e5 s\u00e4tt kan olika processer av applikationen f\u00e5 tillg\u00e5ng till samma data. <\/p>\n<p><\/p>\n<p>Denna anslutningsmetod uppfanns i b\u00f6rjan, n\u00e4r Kubernetes just b\u00f6rjade utvecklas, och idag anses metoden vara f\u00f6r\u00e5ldrad.<\/p>\n<p><\/p>\n<p>Det finns flera problem med att anv\u00e4nda det: <\/p>\n<p><\/p>\n<ol>\n<li>alla volymer m\u00e5ste skapas manuellt, Kubernetes kan inte skapa n\u00e5got \u00e5t oss;<\/li>\n<li>\u00e5tkomlighetsparametrarna f\u00f6r varje volym \u00e4r unika och m\u00e5ste anges i manifesten f\u00f6r alla pods som anv\u00e4nder volymen;<\/li>\n<li>f\u00f6r att byta lagringssystem (till exempel flytta fr\u00e5n AWS till Google Cloud) m\u00e5ste inst\u00e4llningarna och typen av anslutna volymer \u00e4ndras i alla manifest.<\/li>\n<\/ol>\n<p><\/p>\n<p>Allt detta \u00e4r mycket opraktiskt, s\u00e5 i verkligheten anv\u00e4nds denna metod endast f\u00f6r att ansluta vissa speciella typer av volymer: configMap, secret, emptyDir, hostPath:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>configMap och secret \u2014 tj\u00e4nstefunktioner som g\u00f6r det m\u00f6jligt att skapa en volym i containern med filer fr\u00e5n Kubernetes-manifesten.<\/p>\n<p>\n<\/li>\n<li>\n<p>emptyDir \u2014 en tempor\u00e4r volym som endast skapas under podens livstid. Den \u00e4r praktisk att anv\u00e4nda f\u00f6r testning eller f\u00f6r att lagra tempor\u00e4ra data. N\u00e4r podden tas bort, tas \u00e4ven emptyDir-volymen bort och all data g\u00e5r f\u00f6rlorad.<\/p>\n<p>\n<\/li>\n<li>\n<p>hostPath - g\u00f6r det m\u00f6jligt att montera valfri katalog fr\u00e5n den lokala serverdisk d\u00e4r applikationen k\u00f6rs inuti containern, inklusive \/etc\/kubernetes. Detta \u00e4r en os\u00e4ker funktion, vilket g\u00f6r att s\u00e4kerhetspolicyer vanligtvis f\u00f6rbjuder anv\u00e4ndning av den h\u00e4r typen av volymer. Annars kan en angripares applikation montera katalogen HTC Kubernetes inuti sin container och stj\u00e4la alla klustercertifikat. Som regel till\u00e5ts hostPath-volymer endast f\u00f6r systemapplikationer som k\u00f6rs i kube-system-namnomr\u00e5det.<\/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\">Lagringssystem som Kubernetes arbetar med direkt ur boxen<\/a><\/noindex> anges i dokumentationen.<\/p>\n<p><\/p>\n<h2 id=\"sposob-2-podklyuchenie-k-podam-scpvcpv\">Metod 2. Anslutning till poddar SC\/PVC\/PV<\/h2>\n<p><\/p>\n<p>Ett alternativt s\u00e4tt att ansluta \u00e4r konceptet Storage class, PersistentVolumeClaim, PersistentVolume.<\/p>\n<p><\/p>\n<p><u>Storage class<\/u> lagrar anslutningsparametrar till lagringssystemet.<\/p>\n<p><\/p>\n<p><u>PersistentVolumeClaim<\/u> beskriver kraven f\u00f6r den volym som applikationen beh\u00f6ver.<br \/>\n<u>PersistentVolume<\/u> lagrar \u00e5tkomstparametrar och status f\u00f6r volymen.<\/p>\n<p><\/p>\n<p>Huvudid\u00e9n \u00e4r att i podens manifest ange en volym av typen PersistentVolumeClaim och ange namnet p\u00e5 denna entitet i parametern claimName.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Dat lagring i en Kubernetes-kluster\" src=\"\/wp-content\/uploads\/2020\/09\/08b0460be887d39801d1acb9ee1bbd2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I manifestet f\u00f6r PersistentVolumeClaim beskriver man kraven p\u00e5 de data som applikationen beh\u00f6ver. Bland annat:<\/p>\n<p><\/p>\n<ul>\n<li>diskstorlek; <\/li>\n<li>\u00e5tkomstmetod: ReadWriteOnce eller ReadWriteMany;<\/li>\n<li>l\u00e4nk till Storage class - i vilket lagringssystem vi vill skapa volymen.<\/li>\n<\/ul>\n<p><\/p>\n<p>I manifestet f\u00f6r Storage class lagras typen och anslutningsparametrarna till lagringssystemet. Dessa \u00e4r n\u00f6dv\u00e4ndiga f\u00f6r kubelet att montera volymen p\u00e5 sin nod. <\/p>\n<p><\/p>\n<p>I manifesten f\u00f6r PersistentVolume anges Storage class och \u00e5tkomstparametrar f\u00f6r en specifik volym (volymens ID, s\u00f6kv\u00e4g, etc.).<\/p>\n<p><\/p>\n<p>N\u00e4r en PVC skapas, kontrollerar Kubernetes vilken storlek och vilken Storage class som beh\u00f6vs och v\u00e4ljer en ledig PersistentVolume.<\/p>\n<p><\/p>\n<p>Om det inte finns n\u00e5gra s\u00e5dana PV tillg\u00e4ngliga kan Kubernetes starta ett specialprogram - Provisioner (dess namn anges i Storage class). Detta program ansluter till lagringssystemet, skapar en volym av r\u00e4tt storlek, f\u00e5r ett ID och skapar en PersistentVolumes manifest i Kubernetes-klustret som kopplas till PersistentVolumeClaim.<\/p>\n<p><\/p>\n<p>Alla dessa abstraktioner g\u00f6r det m\u00f6jligt att eliminera information om vilket lagringssystem applikationen arbetar med fr\u00e5n niv\u00e5n av applikationsmanifestet till niv\u00e5 av administration. <\/p>\n<p><\/p>\n<p>Alla anslutningsparametrar till lagringssystemet finns i Storage class, som administrat\u00f6rer av klustret ansvarar f\u00f6r. F\u00f6r att flytta fr\u00e5n AWS till Google Cloud beh\u00f6ver man bara \u00e4ndra namnet p\u00e5 Storage class i PVC-filerna. Persistance Volume f\u00f6r datalagring kommer automatiskt att skapas i klustret med hj\u00e4lp av programmet Provisioner.<\/p>\n<p><\/p>\n<h2 id=\"sposob-3-container-storage-interface\">Metod 3. Container Storage Interface<\/h2>\n<p><\/p>\n<p>All kod som interagerar med olika lagringssystem \u00e4r en del av Kubernetes-k\u00e4rnan. Utf\u00e4rdande av buggfixar eller ny funktionalitet \u00e4r kopplat till nya versioner, och koden m\u00e5ste \u00e4ndras f\u00f6r alla st\u00f6dja versioner av Kubernetes. Allt detta \u00e4r sv\u00e5rt att underh\u00e5lla och l\u00e4gga till ny funktionalitet.<\/p>\n<p><\/p>\n<p>F\u00f6r att l\u00f6sa problemet skapade utvecklare fr\u00e5n Cloud Foundry, Kubernetes, Mesos och Docker Container Storage Interface (CSI) \u2014 ett enkelt, enhetligt gr\u00e4nssnitt som beskriver interaktionen mellan containerhanteringssystemet och en speciell drivrutin (CSI Driver) som arbetar med ett specifikt lagringssystem. All kod f\u00f6r interaktion med lagringssystemet flyttades fr\u00e5n Kubernetes-k\u00e4rnan till ett separat system.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2019\/01\/15\/container-storage-interface-ga\/\">Dokumentation f\u00f6r Container Storage Interface<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Som regel best\u00e5r CSI Driver av tv\u00e5 komponenter: Node Plugin och Controller plugin.<\/p>\n<p><\/p>\n<p>Node Plugin k\u00f6rs p\u00e5 varje nod och ansvarar f\u00f6r att montera volymer och f\u00f6r operationer p\u00e5 dem. Controller plugin interagerar med lagringssystemet: skapar eller tar bort volymer, tilldelar \u00e5tkomstr\u00e4ttigheter, etc.<\/p>\n<p><\/p>\n<p>\u00c4ven om gamla drivrutiner fortfarande finns i Kubernetes-k\u00e4rnan rekommenderar man inte att anv\u00e4nda dem l\u00e4ngre, och alla uppmanas att installera CSI Driver specifikt f\u00f6r det system man ska arbeta med.<\/p>\n<p><\/p>\n<p>Nyheten kan skr\u00e4mma dem som redan \u00e4r vana vid att konfigurera datalagring via Storage class, men egentligen har inget hemskt h\u00e4nt. F\u00f6r programmerarna f\u00f6r\u00e4ndras inget; de forts\u00e4tter att arbeta med namnet Storage class. F\u00f6r administrat\u00f6rerna har installationen av helm chart tillkommit och strukturen f\u00f6r inst\u00e4llningarna har f\u00f6r\u00e4ndrats. Tidigare angavs inst\u00e4llningarna direkt i Storage class, men nu m\u00e5ste de f\u00f6rst definieras i helm chart och sedan i Storage class. Om man unders\u00f6ker saken har inget hemskt intr\u00e4ffat.<\/p>\n<p><\/p>\n<p>L\u00e5t oss med ett exempel titta p\u00e5 vilka f\u00f6rdelar man kan f\u00e5 genom att ansluta lagringssystemet Ceph med hj\u00e4lp av CSI-drivrutinen.<\/p>\n<p><\/p>\n<p>Vid arbete med Ceph ger CSI-plugin fler m\u00f6jligheter f\u00f6r att arbeta med lagringssystemet \u00e4n inbyggda drivrutiner.<\/p>\n<p><\/p>\n<ol>\n<li><strong>Dynamisk skapelse av diskar.<\/strong> \u041e\u0431\u044b\u0447\u043d\u043e \u0434\u0438\u0441\u043a\u0438 RBD \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 RWO, \u0430 CSI \u0434\u043b\u044f Ceph \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 RWX. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e pod&#8217;\u043e\u0432 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0437\u043b\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 RDB-\u0434\u0438\u0441\u043a \u043a \u0441\u0435\u0431\u0435 \u043d\u0430 \u0443\u0437\u043b\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e. \u0421\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e\u0441\u0442\u0438 \u0440\u0430\u0434\u0438, \u043d\u0435 \u0432\u0441\u0451 \u0442\u0430\u043a \u043b\u0443\u0447\u0435\u0437\u0430\u0440\u043d\u043e \u2014 \u044d\u0442\u043e\u0442 \u0434\u0438\u0441\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0431\u043b\u043e\u0447\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043d\u0438\u043c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430.<\/li>\n<li><strong>Skapa \u00f6gonblicksbilder.<\/strong> I Kubernetes-klustret kan man skapa ett manifest som beg\u00e4r att en \u00f6gonblicksbild ska skapas. CSI-pluginet ser det och skapar en \u00f6gonblicksbild fr\u00e5n disken. Utifr\u00e5n det kan man g\u00f6ra antingen en s\u00e4kerhetskopia eller en kopia av PersistentVolume. <\/li>\n<li><strong>\u00d6ka storleken p\u00e5 disken<\/strong> p\u00e5 lagringssystemet och PersistentVolume i Kubernetes-klustret.<\/li>\n<li><strong>Kvoter.<\/strong> Inbyggda Kubernetes-drivrutiner f\u00f6r CephFS st\u00f6der inte kvoter, medan nya CSI-plugins med den senaste Ceph Nautilus kan aktivera kvoter p\u00e5 CephFS-partitioner.<\/li>\n<li><strong>Metrik.<\/strong> CSI-pluginet kan tillhandah\u00e5lla en m\u00e4ngd metrik i Prometheus om vilka volymer som \u00e4r anslutna, vilka interaktioner som sker osv.<\/li>\n<li><strong>Topologiskt medveten.<\/strong> M\u00f6jligg\u00f6r att ange i manifest att klustret \u00e4r geografiskt distribuerat och undvika anslutning till pods som k\u00f6rs i London med lagringssystem som \u00e4r placerade i Amsterdam. <\/li>\n<\/ol>\n<p><\/p>\n<p>F\u00f6r att ansluta Ceph till Kubernetes-klustret via CSI, se <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/DteNn-1f-WI\">den praktiska delen av f\u00f6rel\u00e4sningen i kv\u00e4llsskolan Slyrme<\/a><\/noindex>. Man kan ocks\u00e5 prenumerera p\u00e5 <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Ssx7pg\">videokursen Ceph<\/a><\/noindex>, som startar den 15 oktober. <\/p>\n<p><\/p>\n<p><em>F\u00f6rfattare till artikeln: Sergey Bondarev, verksam arkitekt p\u00e5 Southbridge, Certified Kubernetes Administrator, en av utvecklarna av kubespray.<\/em><\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">\u041d\u0435\u043c\u043d\u043e\u0433\u043e Post Scriptum \u043d\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u0434\u043b\u044f, \u0430 \u043f\u043e\u043b\u044c\u0437\u044b \u0440\u0430\u0434\u0438&#8230;<\/b><\/p>\n<p>P.S. Sergey Bondarev h\u00e5ller tv\u00e5 intensiver: uppdaterad <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/1WIJFg\">Kubernetes Grund<\/a><\/noindex> 28-30 september och avancerad <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Wbqz5g\">Kubernetes Mega<\/a><\/noindex> 14\u201316 oktober.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Dat lagring i en Kubernetes-kluster\" src=\"\/wp-content\/uploads\/2020\/09\/69752ee9f7c9caf887011564139baf16.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Datalagring i Kubernetes-klustret | ProHoster","description":"Att konfigurera datalagring f\u00f6r applikationer som k\u00f6rs i Kubernetes-klustret kan g\u00f6ras p\u00e5 flera s\u00e4tt. Vissa av dem \u00e4r redan f\u00f6r\u00e5ldrade, medan andra just har dykt upp.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/94388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=94388"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/94388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/94389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=94388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=94388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=94388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}