Was ist Persistentvolume (PV) und PersistentvolumeClaim (PVC)?
Ein PersistentVolume (PV) wird als Speicherblock definiert, das manuell erstellt oder dynamisch über Speicherklassen in einem Cluster bereitgestellt wurde. Es fungiert als Cluster -Ressource genauso wie ein Knoten. PVs sind Volumen -Plugins ähnlich wie Volumina, ihr Lebenszyklus ist jedoch unabhängig von den Schoten. Dieses API -Objekt verfolgt die Speichermethode, unabhängig davon.
Eine persistentvolumeClaim ist eine Speicheranfrage eines Benutzers (PVC). Es scheint ein Pod zu sein. Pods konsumieren Knotenressourcen, während PVCs PV -Ressourcen verbrauchen. Pods können Ressourcenstufen anfordern, die für sie spezifisch sind (CPU und Speicher).
In Ansprüchen können spezifische Größe und Zugriffsmodalitäten erforderlich sein (e.G., Sie können readonlyMany, Readwriteonce, Readwritemany oder AccessModes sehen) sein.
PersistentvolumeClaims ermöglichen es den Benutzern, abstrakte Speicherressourcen zu konsumieren, aber für Benutzer ist es typisch, persistentvolum mit unterschiedlichen Funktionen wie der Leistung für verschiedene Situationen zu benötigen.
Ohne Benutzer technische Details auszusetzen, müssen Cluster -Manager eine Auswahl an Persistentvolumes anbieten, die in mehr Aspekten als nur Größe und Zugriffsmodus variieren. Die StorageClass -Ressource kann verwendet werden, um diese Anforderungen zu erfüllen.
Voraussetzung:
Um loszulegen, benötigen Sie ein Kubernetes-Cluster und das Kubectl-Befehlszeilen-Tool, das so konfiguriert ist. Minikube kann Ihnen helfen, einen Cluster einzurichten, wenn Sie noch keinen haben. Ubuntu 20.04 wurde verwendet, um die Befehle in diesem Thema zu implementieren. Wir können auch unser bevorzugtes Betriebssystem nutzen, da wir bereits Kubectl installiert haben. Es muss installiert werden, bevor die Befehle ausgeführt werden können.
Wenn die Installation abgeschlossen ist, können wir ein Terminal mit einem der beiden Methoden starten. Eine Möglichkeit besteht darin, die Anwendungsleiste unseres Betriebssystems zu verwenden, um das Terminal zu erreichen. Eine andere Möglichkeit ist die Verwendung der Tastaturverknüpfung „Strg + Alt + T.Um ein Terminal zu starten, wählen Sie eine dieser Optionen aus.
Verwenden Sie nun am Terminal den Befehl unten, um den Minikube zu starten.
$ minikube Start
Die Ausgabe ist im oben festgelegten Bild angebracht.
Schritte zum Erstellen einer HTML -Datei auf Ihrem Knoten
Um eine HTML -Datei zu erstellen, müssen Sie eine Shell auf dem alleinigen Knoten des Clusters öffnen. Die Art und Weise, wie Sie eine Shell öffnen. Wenn Sie Minikube verwenden, öffnet das Eingeben von Minikube SSH eine Schale auf Ihrem Knoten. Erstellen Sie ein A /MNT /Datenverzeichnis in der Shell Ihres Knotens.
Einen Index machen.HTML -Datei. Die Datei wird im Verzeichnis /mnt /daten erstellt. Wenn Ihr Knoten über ein anderes Tool als sudo den Zugriff auf den Superuser verlangt, können Sie diese Funktion normalerweise haben, indem Sie Sudo durch den Namen des alternativen Tools ersetzen.
$ sudo sh -c "echo 'Hallo aus Kubernetes Storage'>/mnt/data/Index.html "
Stellen Sie sicher, dass der Index.Die HTML -Datei ist vorhanden. Ebenfalls enthalten ist die Ausgabe. Sie können jetzt die Shell ausschalten, die an Ihren Knoten befestigt ist.
$ cat/mnt/data/index.html
Die Ausgabe ist im oben festgelegten Bild angebracht.
Schritte zum Erstellen eines persistentenvolumen
Hier finden Sie die Details zum Erstellen eines HostPath PersistentVolume. Auf einem Cluster eines einzelnen Knotens ermöglicht Kubernetes HostPath für Entwicklung und Tests. Ein HostPath PersistentVolume verwendet eine Datei oder ein Verzeichnis auf dem Knoten, um den Netzwerk angehalten.
$ nano pvc.Yaml
Sie könnten HostPath nicht in einem Produktionscluster verwenden. Clusteradministratoren können auch StorageClasses verwenden, um dynamische Bereitstellung aufzubauen. Die Konfigurationsdatei "HostPath PersistentVolume" lautet wie folgt:
Die PV -Konfiguration unterscheidet sich in Abhängigkeit von Ihrem Cluster- und Speichertyp erheblich. Der obige Befehl montiert das Volumen am Minikube -VM und ist mit Minikube -Clustern kompatibel.
Gemäß der Konfigurationsdatei wird die CD am Speicherort von /mnt /Daten auf dem Knoten des Clusters gespeichert. Die Größe des Volumens ist auf 10 Gibibyten eingestellt, und der Zugriffsmodus ist auf ReadWriteOnce eingestellt, was darauf hinweist, dass das Volumen immer von einem bestimmten Knoten montiert werden kann.
Verwenden Sie den folgenden Befehl zum Aufbau eines persistentierten Volumenes:
$ kubectl anwenden -f PVC.Yaml
Die Ausgabe ist im oben festgelegten Bild angebracht. Beachten Sie, dass die Abkürzung PVC verwendet werden kann, um nach anhaltenden Volumenansprüchen zu suchen. Die Ausgabe enthält den Namen des PVC sowie einige grundlegende Informationen:
Die Ausgabe ist im oben festgelegten Bild angebracht.
Löschen Sie das Persistentvolumen
Mit dem Befehl kubectl delete kann zum Löschen von PVCs verwendet werden. Geben Sie diese nach Datei oder Namen oder Name mit kubectl mit kubectl ein, um eine PVC zu löschen.
$ kubectl PV Task-PV-Volume löschen
Die Ausgabe ist im oben festgelegten Bild angebracht. Beachten Sie bitte, dass das Löschen eines PV oder PVC, das derzeit von einem Pod verwendet wird. Die PVC -Reinigung wird verschoben, bis alle Pods aufgehört haben, sie zu verwenden.
In einer Zeit, in der ein Administrator einen PV löscht, der an einem PVC befestigt ist, wird der PV an der Stelle nicht gelöscht. Der PV wird nicht vom PVC getrennt, wenn er nicht mehr verbunden ist.
Abschluss:
Zusammenfassend ermöglichen Speicherklassen in Kubernetes die Bereitstellung und den Verbrauch von persistenten Volumes -Speicherressourcen (PV). PVs werden von Pods mit PVC konsumiert. In diesem Artikel wurde erläutert, wie ein persistentvolumeClaim für den POD -Speicher erstellt und gelöscht wird. Wir haben auch Abschnitte zur Verfügung gestellt, wie Sie mit anhaltenden Volumenansprüchen (PVC) umgehen können.