{"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\/de\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","title":{"rendered":"Datenspeicherung im Kubernetes-Cluster","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die Speicherung von Anwendungsdaten f\u00fcr in einem Kubernetes-Cluster ausgef\u00fchrte Anwendungen kann auf verschiedene Arten konfiguriert werden. Einige davon sind bereits veraltet, andere sind neu hinzugekommen. In diesem Artikel betrachten wir das Konzept der drei Verbindungsm\u00f6glichkeiten zu Speicher-Arrays, einschlie\u00dflich der neuesten \u2013 der Verbindung \u00fcber die Container Storage Interface.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datenspeicherung im Kubernetes-Cluster\" 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\">Methode 1. Angabe von PV im Pod-Manifest<\/h2>\n<p><\/p>\n<p>Ein typisches Manifest, das einen Pod im Kubernetes-Cluster beschreibt: <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datenspeicherung im Kubernetes-Cluster\" src=\"\/wp-content\/uploads\/2020\/09\/1df1b236df758f4a4a18905d31413617.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die Teile des Manifests, die beschreiben, welcher Volume verbunden wird und wo, sind farblich hervorgehoben.<\/p>\n<p><\/p>\n<p>Im Abschnitt <strong>volumeMounts<\/strong> geben die Mount-Punkte (mountPath) an \u2013 in welches Verzeichnis innerhalb des Containers das persistente Volume eingebunden wird, sowie den Namen des Volumes an.<\/p>\n<p><\/p>\n<p>Im Abschnitt <strong>x<\/strong> listen alle Volumes auf, die im Pod verwendet werden. Sie geben den Namen jedes Volumes an, sowie den Typ (in unserem Fall: awsElasticBlockStore) und die Verbindungsparameter. Welche Parameter im Manifest angegeben werden, h\u00e4ngt vom Typ des Volumes ab.<\/p>\n<p><\/p>\n<p>Das gleiche Volume kann gleichzeitig in mehreren Containern des Pods eingebunden werden. Auf diese Weise k\u00f6nnen verschiedene Anwendungsprozesse auf dieselben Daten zugreifen. <\/p>\n<p><\/p>\n<p>Diese Verbindungsmethode wurde urspr\u00fcnglich zu Beginn von Kubernetes entwickelt und ist mittlerweile veraltet.<\/p>\n<p><\/p>\n<p>Bei der Verwendung entstehen mehrere Probleme: <\/p>\n<p><\/p>\n<ol>\n<li>alle Volumes m\u00fcssen manuell erstellt werden, Kubernetes kann nichts f\u00fcr uns erstellen;<\/li>\n<li>die Zugangsparameter zu jedem Volume sind einzigartig und m\u00fcssen in den Manifesten aller Pods angegeben werden, die das Volume verwenden;<\/li>\n<li>um das Speichersystem zu \u00e4ndern (zum Beispiel von AWS zu Google Cloud zu wechseln), m\u00fcssen die Einstellungen und der Typ der angeschlossenen Volumes in allen Manifesten angepasst werden.<\/li>\n<\/ol>\n<p><\/p>\n<p>All dies ist sehr unpraktisch, weshalb diese Methode in der Realit\u00e4t nur f\u00fcr einige spezielle Volumen-Typen verwendet wird: configMap, secret, emptyDir, hostPath:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>configMap und secret \u2013 Dienstvolumen, die es erm\u00f6glichen, in einem Container ein Volume mit Dateien aus den Kubernetes-Manifests zu erstellen.<\/p>\n<p>\n<\/li>\n<li>\n<p>emptyDir \u2013 ein tempor\u00e4res Volume, das nur f\u00fcr die Lebensdauer des Pods erstellt wird. Es ist n\u00fctzlich f\u00fcr Tests oder zur Speicherung tempor\u00e4rer Daten. Wenn der Pod gel\u00f6scht wird, wird auch das Volume vom Typ emptyDir gel\u00f6scht und alle Daten gehen verloren.<\/p>\n<p>\n<\/li>\n<li>\n<p>hostPath \u2014 erm\u00f6glicht es, ein beliebiges Verzeichnis des lokalen Servers, auf dem die Anwendung l\u00e4uft, in den Container einzubinden, einschlie\u00dflich \/etc\/kubernetes. Diese M\u00f6glichkeit ist unsicher, weshalb Sicherheitsrichtlinien in der Regel die Verwendung solcher Volumes verbieten. Andernfalls k\u00f6nnte ein Angreifer in der Lage sein, das Verzeichnis HTC Kubernetes in seinen Container einzubinden und alle Zertifikate des Clusters zu stehlen. In der Regel d\u00fcrfen nur systemeigene Anwendungen, die im Namespace kube-system ausgef\u00fchrt werden, hostPath-Volumes verwenden.<\/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\">Speichersysteme, mit denen Kubernetes von Haus aus arbeitet<\/a><\/noindex> sind in der Dokumentation aufgef\u00fchrt.<\/p>\n<p><\/p>\n<h2 id=\"sposob-2-podklyuchenie-k-podam-scpvcpv\">Methode 2: Verbindung zu Pods SC\/PVC\/PV<\/h2>\n<p><\/p>\n<p>Eine alternative Verbindungsmethode ist das Konzept Storage Class, PersistentVolumeClaim, PersistentVolume.<\/p>\n<p><\/p>\n<p><u>Storage Class<\/u> speichert die Verbindungsparameter zum Speichersystem.<\/p>\n<p><\/p>\n<p><u>PersistentVolumeClaim<\/u> beschreibt die Anforderungen an das Volume, das f\u00fcr die Anwendung ben\u00f6tigt wird.<br \/>\n<u>PersistentVolume<\/u> speichert die Zugriffsparameter und den Status des Volumes.<\/p>\n<p><\/p>\n<p>Der Kern der Idee: Im Pod-Manifest wird ein Volume des Typs PersistentVolumeClaim angegeben und der Name dieser Entit\u00e4t im Parameter claimName angegeben.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datenspeicherung im Kubernetes-Cluster\" src=\"\/wp-content\/uploads\/2020\/09\/08b0460be887d39801d1acb9ee1bbd2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im Manifest des PersistentVolumeClaim werden die Anforderungen an das Daten-Volume beschrieben, das f\u00fcr die Anwendung erforderlich ist. Dazu geh\u00f6ren:<\/p>\n<p><\/p>\n<ul>\n<li>Gr\u00f6\u00dfe des Festplattenspeichers; <\/li>\n<li>Zugriffsart: ReadWriteOnce oder ReadWriteMany;<\/li>\n<li>Verweis auf die Storage Class \u2014 in welchem Speichersystem wir das Volume erstellen m\u00f6chten.<\/li>\n<\/ul>\n<p><\/p>\n<p>Im Manifest der Storage Class werden der Typ und die Verbindungsparameter zum Speichersystem gespeichert. Diese werden vom Kubelet ben\u00f6tigt, um das Volume an seinen Knoten zu mounten. <\/p>\n<p><\/p>\n<p>In den Manifests der PersistentVolumes wird die Storage Class und die Zugriffsparameter f\u00fcr ein bestimmtes Volume (ID des Volumes, Pfad usw.) angegeben.<\/p>\n<p><\/p>\n<p>Bei der Erstellung eines PVC schaut Kubernetes, welches Volumen in welcher Gr\u00f6\u00dfe und aus welcher Storage Class ben\u00f6tigt wird, und w\u00e4hlt ein freies PersistentVolume aus.<\/p>\n<p><\/p>\n<p>Wenn solche PVs nicht verf\u00fcgbar sind, kann Kubernetes ein spezielles Programm starten \u2014 Provisioner (dessen Name in der Storage Class angegeben wird). Dieses Programm verbindet sich mit dem Speichersystem, erstellt ein Volume der gew\u00fcnschten Gr\u00f6\u00dfe, erh\u00e4lt die ID und erstellt im Kubernetes-Cluster ein Manifest des PersistentVolumes, das mit dem PersistentVolumeClaim verkn\u00fcpft ist.<\/p>\n<p><\/p>\n<p>All diese vielen Abstraktionen erm\u00f6glichen es, die Informationen dar\u00fcber, mit welchem Speichersystem die Anwendung arbeitet, von der Ebene der Anwendungsmanifeste auf die Verwaltungsebene zu verlagern. <\/p>\n<p><\/p>\n<p>Alle Verbindungsparameter zum Speichersystem befinden sich in der Storage-Klasse, f\u00fcr die die Cluster-Administratoren verantwortlich sind. Alles, was bei einem Umzug von AWS zu Google Cloud getan werden muss, besteht darin, in den Anwendungsmanifests den Namen der Storage-Klasse im PVC zu \u00e4ndern. Die Persistenzvolumen zur Datenspeicherung werden automatisch im Cluster mit Hilfe des Provisioners erstellt.<\/p>\n<p><\/p>\n<h2 id=\"sposob-3-container-storage-interface\">Methode 3. Container Storage Interface<\/h2>\n<p><\/p>\n<p>Der gesamte Code, der mit verschiedenen Speichersystemen interagiert, ist Teil des Kubernetes-Kerns. Die Ver\u00f6ffentlichung von Bugfixes oder neuen Funktionen ist an neue Releases gebunden, und der Code muss f\u00fcr alle unterst\u00fctzten Versionen von Kubernetes ge\u00e4ndert werden. All dies ist schwer wartbar und es ist schwierig, neue Funktionen hinzuzuf\u00fcgen.<\/p>\n<p><\/p>\n<p>Um das Problem zu l\u00f6sen, haben Entwickler von Cloud Foundry, Kubernetes, Mesos und Docker das Container Storage Interface (CSI) geschaffen \u2014 eine einfache, einheitliche Schnittstelle, die die Interaktion zwischen dem Container-Orchestrator und dem speziellen Treiber (CSI Driver), der mit einem bestimmten Speichersystem arbeitet, beschreibt. Der gesamte Code zur Interaktion mit dem Speichersystem wurde aus dem Kubernetes-Kern in ein separates System ausgelagert.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2019\/01\/15\/container-storage-interface-ga\/\">Dokumentation zum Container Storage Interface<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>In der Regel besteht der CSI Driver aus zwei Komponenten: Node Plugin und Controller Plugin.<\/p>\n<p><\/p>\n<p>Das Node Plugin wird auf jedem Knoten gestartet und ist f\u00fcr das Einh\u00e4ngen der Volumes und deren Operationen verantwortlich. Der Controller Plugin interagiert mit dem Speichersystem: Er erstellt oder l\u00f6scht Volumes, weist Zugriffsrechte zu usw.<\/p>\n<p><\/p>\n<p>W\u00e4hrend im Kubernetes-Kern alte Treiber verbleiben, wird deren Nutzung nicht mehr empfohlen, und allen wird geraten, den CSI Driver konkret f\u00fcr das System zu installieren, mit dem gearbeitet werden soll.<\/p>\n<p><\/p>\n<p>Diese Neuerung kann diejenigen erschrecken, die bereits daran gew\u00f6hnt sind, die Datenspeicherung \u00fcber die Storage-Klasse zu konfigurieren, aber eigentlich ist nichts Schlimmes geschehen. F\u00fcr Programmierer \u00e4ndert sich genau genommen nichts \u2013 sie arbeiten weiterhin nur mit dem Namen der Storage-Klasse. F\u00fcr Administratoren ist die Installation des Helm-Charts hinzugekommen und die Struktur der Einstellungen hat sich ver\u00e4ndert. Fr\u00fcher wurden die Einstellungen direkt in die Storage-Klasse eingegeben, jetzt m\u00fcssen sie zun\u00e4chst im Helm-Chart festgelegt und dann in der Storage-Klasse eingetragen werden. Wenn man es genau betrachtet, ist nichts Schlimmes passiert.<\/p>\n<p><\/p>\n<p>Lassen Sie uns anhand eines Beispiels betrachten, welche Vorteile man durch den Wechsel zur Anbindung an das Ceph-Speichersystem mit Hilfe des CSI-Treibers erzielen kann.<\/p>\n<p><\/p>\n<p>Bei der Arbeit mit Ceph bietet das CSI-Plugin mehr M\u00f6glichkeiten zur Interaktion mit dem Speichersystem als die eingebauten Treiber.<\/p>\n<p><\/p>\n<ol>\n<li><strong>Dynamische Erstellung von Festplatten.<\/strong> In der Regel werden RBD-Laufwerke nur im RWO-Modus verwendet, w\u00e4hrend CSI f\u00fcr Ceph es erm\u00f6glicht, sie im RWX-Modus zu nutzen. Mehrere Pods auf verschiedenen Knoten k\u00f6nnen dasselbe RBD-Laufwerk an ihren Knoten einbinden und gleichzeitig damit arbeiten. Um der Fairness halber gerecht zu werden, ist nicht alles so rosig \u2014 dieses Laufwerk kann nur als Blockger\u00e4t angeschlossen werden, was bedeutet, dass die Anwendung f\u00fcr den Betrieb im Mehrfachzugriffsmodus angepasst werden muss.<\/li>\n<li><strong>Snapshots erstellen.<\/strong> In einem Kubernetes-Cluster kann ein Manifest erstellt werden, das die Anforderung zum Erstellen eines Snapshots enth\u00e4lt. Das CSI-Plugin erkennt dies und erstellt einen Snapshot von der Festplatte. Darauf basierend kann entweder ein Backup oder eine Kopie des PersistentVolume erstellt werden. <\/li>\n<li><strong>Erh\u00f6hung der Festplattengr\u00f6\u00dfe<\/strong> auf Storage-Arrays und PersistentVolumes im Kubernetes-Cluster.<\/li>\n<li><strong>Quoten.<\/strong> Die in Kubernetes eingebauten CephFS-Treiber unterst\u00fctzen keine Quoten, w\u00e4hrend die neuen CSI-Plugins mit der neuen Ceph Nautilus-Version Quoten f\u00fcr CephFS-Partitionen aktivieren k\u00f6nnen.<\/li>\n<li><strong>Metriken.<\/strong> Das CSI-Plugin kann Prometheus zahlreiche Metriken \u00fcber die angeschlossenen Volumes, Interaktionen usw. bereitstellen.<\/li>\n<li><strong>Topology aware.<\/strong> Erm\u00f6glicht es, in den Manifests anzugeben, wie geografisch verteilt der Cluster ist, und zu vermeiden, dass Pods, die mit einem in London ans\u00e4ssigen Speichersystem verbunden sind, auf ein Speichersystem zugreifen, das sich in Amsterdam befindet. <\/li>\n<\/ol>\n<p><\/p>\n<p>Wie man Ceph \u00fcber CSI an ein Kubernetes-Cluster anschlie\u00dft, sehen Sie <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/DteNn-1f-WI\">im praktischen Teil der Abendvorlesung von Slj\u00f6rm<\/a><\/noindex>. Ebenso kann man sich f\u00fcr den <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Ssx7pg\">Ceph-Videokurs<\/a><\/noindex>anmelden, der am 15. Oktober beginnt. <\/p>\n<p><\/p>\n<p><em>Autor des Artikels: Sergej Bondarev, praktizierender Architekt bei Southbridge, Certified Kubernetes Administrator, einer der Entwickler von kubespray.<\/em><\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Ein wenig Post Scriptum, nicht zur Werbung, sondern zur N\u00fctzlichkeit...<\/b><\/p>\n<p>P.S. Sergej Bondarev leitet zwei Intensivkurse: den aktualisierten <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/1WIJFg\">Kubernetes Basis<\/a><\/noindex> 28.-30. September und den fortgeschrittenen <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Wbqz5g\">Kubernetes Mega<\/a><\/noindex> vom 14. bis 16. Oktober.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Datenspeicherung im Kubernetes-Cluster\" src=\"\/wp-content\/uploads\/2020\/09\/69752ee9f7c9caf887011564139baf16.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Quelle: <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.1.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\/de\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Datenlagerung im Kubernetes-Cluster | ProHoster","description":"Die Speicherung von Anwendungsdaten, die in einem Kubernetes-Cluster ausgef\u00fchrt werden, kann auf mehreren Wegen eingerichtet werden. Einige davon sind bereits veraltet, andere sind erst ganz neu erschienen.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/94388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=94388"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/94388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/94389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=94388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=94388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=94388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}