{"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, die in einem Kubernetes-Cluster ausgef\u00fchrt werden, kann auf verschiedene Weise eingerichtet werden. Einige davon sind bereits veraltet, andere sind erst vor kurzem hinzugekommen. In diesem Artikel werden wir das Konzept der drei Optionen zur Anbindung von Speicherl\u00f6sungen betrachten, einschlie\u00dflich der neuesten \u2014 der Anbindung \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 in einem 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, in denen angegeben wird, welcher Speicher gemountet wird und wohin, sind farblich hervorgehoben.<\/p>\n<p><\/p>\n<p>Im Abschnitt <strong>volumeMounts<\/strong> geben die Mount-Punkte (mountPath) an \u2014 in welchen Ordner innerhalb des Containers das persistente Volume gemountet wird, sowie den Namen des Volumes.<\/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 sowie den Typ an (in unserem Fall: awsElasticBlockStore) und die Anschlussparameter. Welche Parameter im Manifest aufgef\u00fchrt werden, h\u00e4ngt vom Typ des Volumes ab.<\/p>\n<p><\/p>\n<p>Das gleiche Volume kann gleichzeitig in mehreren Containern des Pods gemountet werden. Auf diese Weise k\u00f6nnen verschiedene Prozesse der Anwendung auf dieselben Daten zugreifen. <\/p>\n<p><\/p>\n<p>Diese Art der Anbindung wurde zu Beginn von Kubernetes entwickelt und ist heute veraltet.<\/p>\n<p><\/p>\n<p>Bei der Verwendung treten mehrere Probleme auf: <\/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 Zugriffsparameter f\u00fcr jedes Volume sind einzigartig und m\u00fcssen in den Manifesten aller Pods angegeben werden, die das Volume nutzen;<\/li>\n<li>Um das Speichersystem zu \u00e4ndern (z.B. von AWS zu Google Cloud umzuziehen), m\u00fcssen die Einstellungen und der Typ der angeschlossenen Volumes in allen Manifesten ge\u00e4ndert werden.<\/li>\n<\/ol>\n<p><\/p>\n<p>Das alles ist sehr unpraktisch, weshalb in der Praxis solche Methoden nur f\u00fcr den Anschluss bestimmter spezieller Volumetypen verwendet werden: configMap, secret, emptyDir, hostPath:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>configMap und secret sind Systemvolumes, die es erm\u00f6glichen, in einem Container ein Volume mit Dateien aus den Kubernetes-Manifesten zu erstellen.<\/p>\n<p>\n<\/li>\n<li>\n<p>emptyDir ist ein tempor\u00e4res Volume, das nur f\u00fcr die Lebensdauer des Pods erstellt wird. Es eignet sich gut f\u00fcr Tests oder zur Speicherung tempor\u00e4rer Daten. Wenn der Pod gel\u00f6scht wird, wird das emptyDir-Volume ebenfalls gel\u00f6scht und alle Daten gehen verloren.<\/p>\n<p>\n<\/li>\n<li>\n<p>hostPath \u2014 erm\u00f6glicht das Einbinden eines beliebigen Verzeichnisses des lokalen Servers, auf dem die Anwendung l\u00e4uft, in den Container der Anwendung, einschlie\u00dflich \/etc\/kubernetes. Diese Funktion birgt Sicherheitsrisiken, weshalb Sicherheitsrichtlinien in der Regel die Verwendung solcher Volumes untersagen. Andernfalls k\u00f6nnte ein Angreifer sein Container mit dem Verzeichnis des HTC Kubernetes einbinden und alle Clusterzertifikate stehlen. Im Allgemeinen d\u00fcrfen hostPath-Volumes nur von Systemanwendungen verwendet werden, die im Namespace kube-system ausgef\u00fchrt werden.<\/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\">Die Speichersysteme, mit denen Kubernetes standardm\u00e4\u00dfig 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 von Storage-Klasse, PersistentVolumeClaim, PersistentVolume.<\/p>\n<p><\/p>\n<p><u>Storage-Klasse<\/u> speichert Verbindungsparameter zum Speichersystem.<\/p>\n<p><\/p>\n<p><u>PersistentVolumeClaim<\/u> beschreibt die Anforderungen an das Volume, das die Anwendung ben\u00f6tigt.<br \/>\n<u>PersistentVolume<\/u> speichert Zugriffsparameter und den Status des Volumes.<\/p>\n<p><\/p>\n<p>Das Kernkonzept: Im Manifest des Pods wird ein Volume vom Typ PersistentVolumeClaim angegeben, und der Name dieser Entit\u00e4t wird 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 PersistentVolumeClaim werden die Anforderungen an die Daten beschrieben, die die Anwendung ben\u00f6tigt. Dazu geh\u00f6ren:<\/p>\n<p><\/p>\n<ul>\n<li>die Gr\u00f6\u00dfe der Festplatte; <\/li>\n<li>Zugriffsart: ReadWriteOnce oder ReadWriteMany;<\/li>\n<li>Ein 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 Parameter f\u00fcr die Verbindung zum Speichersystem gespeichert. Diese sind f\u00fcr den Kubelet erforderlich, um das Volume auf dem Knoten zu montieren. <\/p>\n<p><\/p>\n<p>In den Manifesten von PersistentVolume wird die Storage Class und der Zugang zu einem bestimmten Volume (Volume-ID, Pfad usw.) angegeben.<\/p>\n<p><\/p>\n<p>Beim Erstellen eines PVC \u00fcberpr\u00fcft Kubernetes, welches Volume in welcher Gr\u00f6\u00dfe und aus welcher Storage Class ben\u00f6tigt wird, und w\u00e4hlt das verf\u00fcgbare PersistentVolume aus.<\/p>\n<p><\/p>\n<p>Wenn keine solchen PVs verf\u00fcgbar sind, kann Kubernetes ein spezielles Programm \u2014 Provisioner (ihr Name wird in der Storage Class angegeben) \u2014 starten. Dieses Programm verbindet sich mit dem Speichersystem, erstellt ein ben\u00f6tigtes Volume, erh\u00e4lt eine ID und erstellt im Kubernetes-Cluster das Manifest PersistentVolume, das mit dem PersistentVolumeClaim verkn\u00fcpft ist.<\/p>\n<p><\/p>\n<p>Diese Vielzahl von Abstraktionen erm\u00f6glicht 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. Bei einem Umstieg von AWS auf Google Cloud muss nur der Name der Storage-Klasse im PVC in den Anwendungsmanifesten ge\u00e4ndert werden. Die Persistent Volume zum Speichern von Daten werden automatisch im Cluster erstellt, mithilfe des Provisioner-Programms.<\/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-Kernels. Die Ver\u00f6ffentlichung von Fehlerbehebungen oder neuen Funktionen ist an neue Releases gebunden, und der Code muss f\u00fcr alle unterst\u00fctzten Versionen von Kubernetes angepasst werden. All dies ist schwer zu warten und 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 des Container-Orchestrierungssystems mit einem speziellen Treiber (CSI Driver) beschreibt, der mit einem bestimmten Speichersystem arbeitet. Der gesamte Code f\u00fcr die Interaktion mit dem Speichersystem wurde aus dem Kubernetes-Kernel 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 Mounten von Volumes sowie die Durchf\u00fchrung von Operationen darauf verantwortlich. Das Controller-Plugin kommuniziert mit dem SAN: Es erstellt oder l\u00f6scht Volumes, weist Zugriffsrechte zu usw.<\/p>\n<p><\/p>\n<p>Im Kubernetes-Kernel bleiben weiterhin alte Treiber vorhanden, deren Nutzung jedoch nicht mehr empfohlen wird. Stattdessen wird jedem geraten, den CSI-Treiber speziell f\u00fcr das jeweilige System zu installieren, mit dem gearbeitet werden soll.<\/p>\n<p><\/p>\n<p>Diese Neuerung k\u00f6nnte diejenigen verunsichern, die bereits daran gew\u00f6hnt sind, die Datenspeicherung \u00fcber die Storage-Klasse zu konfigurieren. In Wirklichkeit hat sich jedoch nichts Dramatisches ge\u00e4ndert. F\u00fcr Programmierer bleibt alles beim Alten \u2013 sie werden weiterhin nur mit dem Namen der Storage-Klasse arbeiten. F\u00fcr Administratoren hingegen gibt es eine zus\u00e4tzliche Helm-Chart-Installation und die Struktur der Einstellungen hat sich ge\u00e4ndert. Fr\u00fcher wurden die Einstellungen direkt in der Storage-Klasse eingegeben, jetzt m\u00fcssen sie zun\u00e4chst in der Helm-Chart definiert und dann in der Storage-Klasse festgelegt werden. Bei genauerer Betrachtung ist jedoch nichts Schlimmes passiert.<\/p>\n<p><\/p>\n<p>Lassen Sie uns anhand eines Beispiels die Vorteile betrachten, die sich aus der Verbindung mit dem Ceph-SAN \u00fcber den CSI-Treiber ergeben k\u00f6nnen.<\/p>\n<p><\/p>\n<p>Bei der Arbeit mit Ceph bietet das CSI-Plugin mehr M\u00f6glichkeiten f\u00fcr die Interaktion mit dem SAN als die integrierten Treiber.<\/p>\n<p><\/p>\n<ol>\n<li><strong>Dynamische Erstellung von Festplatten.<\/strong> Normalerweise werden RBD-Datentr\u00e4ger 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 denselben RBD-Datentr\u00e4ger an ihre Knoten anschlie\u00dfen und gleichzeitig mit ihm arbeiten. Um fair zu sein, ist nicht alles so rosig \u2013 dieser Datentr\u00e4ger kann nur als Blockger\u00e4t angeschlossen werden, was bedeutet, dass die Anwendung an die Arbeit im Mehrbenutzermodus angepasst werden muss.<\/li>\n<li><strong>Snapshots erstellen.<\/strong> In einem Kubernetes-Cluster kann ein Manifest erstellt werden, das die Anforderung zur Erstellung eines Snapshots enth\u00e4lt. Das CSI-Plugin erkennt dies und erstellt einen Snapshot von der Festplatte. Auf dieser Grundlage kann entweder ein Backup oder eine Kopie des PersistentVolume erstellt werden. <\/li>\n<li><strong>Gr\u00f6\u00dfe der Festplatte erh\u00f6hen.<\/strong> f\u00fcr SAN und PersistentVolume im Kubernetes-Cluster.<\/li>\n<li><strong>Quotas.<\/strong> Die in Kubernetes integrierten CephFS-Treiber unterst\u00fctzen keine Quotas, w\u00e4hrend neue CSI-Plugins mit dem aktuellen Ceph Nautilus Quotas f\u00fcr CephFS-Partitionen aktivieren k\u00f6nnen.<\/li>\n<li><strong>Metriken.<\/strong> Das CSI-Plugin kann viele Metriken an Prometheus \u00fcbermitteln, die zeigen, welche Volumes angeschlossen sind, welche Interaktionen stattfinden usw.<\/li>\n<li><strong>Topology-aware.<\/strong> Erm\u00f6glicht die Angabe in den Manifesten, wie geografisch verteilt der Cluster ist, und vermeidet die Verbindung zu Pods, die in London mit einem in Amsterdam befindlichen Speichersystem gestartet wurden. <\/li>\n<\/ol>\n<p><\/p>\n<p>So verbinden Sie Ceph \u00fcber CSI mit einem Kubernetes-Cluster, siehe <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/DteNn-1f-WI\">im praktischen Teil der Vorlesung der Abendschule Sljurm<\/a><\/noindex>. Sie k\u00f6nnen sich auch f\u00fcr den <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Ssx7pg\">Ceph Video-Kurs<\/a><\/noindex>, der am 15. Oktober startet, anmelden. <\/p>\n<p><\/p>\n<p><em>Autor des Artikels: Sergey 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 aus Werbezwecken, sondern zur N\u00fctzlichkeit ...<\/b><\/p>\n<p>P.S. Sergey Bondarev bietet zwei Intensivkurse an: aktualisiert <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/1WIJFg\">Kubernetes Basis<\/a><\/noindex> 28.-30. September und fortgeschrittene <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 4.9.10 - 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. \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\" \/>\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) 4.9.10\" \/>\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. \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\" \/>\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\udd47Daten speichern im Kubernetes-Cluster | ProHoster","description":"Die Speicherung von Datenanwendungen, die im Kubernetes-Cluster laufen, kann auf mehrere Arten konfiguriert werden. Einige davon sind bereits veraltet, andere sind ganz neu erschienen. In diesem Artikel betrachten wir das Konzept von drei Verbindungsoptionen f\u00fcr Speichersysteme, darunter die neueste \u2014 die Verbindung \u00fcber die Container Storage Interface. Methode 1. Angabe von PV im Pod-Mannifest. Ein typisches Manifest, das einen Pod im Kubernetes-Cluster beschreibt: Farbe","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. \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","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"},"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}]}}