Was ist der Unterschied zwischen dem Persistent Volume (PV) und dem Persistent Volume Claim (PVC) in Kubernetes / Openshift anhand der Dokumentation?
Was ist der Unterschied zwischen beiden in einfachen Worten?
Antworten:
PVC ist eine Speicherbedarfserklärung, die irgendwann verfügbar / befriedigt werden kann - wie bei einer tatsächlichen PV .
Es ist ein bisschen wie das asynchrone Programmierkonzept eines Versprechens . PVC verspricht, dass es irgendwann in ein Speichervolumen "übersetzt" wird, das Ihre Anwendung verwenden kann, und eine der definierten Eigenschaften wie Klasse, Größe und Zugriffsmodus (ROX, RWO und RWX).
Dies ist eine Möglichkeit, das Denken über eine bestimmte Speicherimplementierung außerhalb Ihrer Pods / Bereitstellungen zu abstrahieren. In den meisten Fällen muss Ihre Anwendung nicht "Gib mir NFS-Speicher von Server X der Größe Y" deklarieren. Es ist eher wie "Ich brauche dauerhaften Speicher der Standardklasse und Größe Y".
Auf diese Weise können Bereitstellungen in verschiedenen Clustern diese Anforderungen unterschiedlich erfüllen. Einer kann ein EBS-Gerät verbinden, ein anderer kann ein GlusterFS bereitstellen, und Ihre Kernmanifeste sind in beiden Fällen immer noch dieselben.
Darüber hinaus können Sie in Ihrer Bereitstellung Volumenanspruchsvorlagen definieren, sodass für jeden Pod automatisch ein reflektierendes PVC erstellt wird (dh Unterstützung der infrastrukturunabhängigen Speicherdefinition für eine Gruppe skalierbarer Pods, für die jeder seinen eigenen dedizierten Speicher benötigt).
Aus den Dokumenten
PVs sind Ressourcen im Cluster. PVCs sind Anforderungen für diese Ressourcen und dienen auch als Anspruchsprüfung für die Ressource.
Ein persistentes Volume (PV) ist also das "physische" Volume auf dem Host-Computer, auf dem Ihre persistenten Daten gespeichert sind. Ein Persistent Volume Claim (PVC) ist eine Aufforderung an die Plattform, eine PV für Sie zu erstellen, und Sie befestigen PVs über PVC an Ihren Pods.
So ähnlich
Pod -> PVC -> PV -> Host machine
PVC
und PV
weil sie Klassen von PV
s definiert, über die generiert werden kann PVC
.
Kurz:
- Hier haben Sie den Speicher! PersistenVolume (PV)
- Sie erhalten den Speicher, wenn Sie ihn wirklich brauchen! PersistentVolumeClaim (PVC)
Ein PersistentVolume (PV) ist ein Speicherelement im Cluster oder im zentralen Speicher, das von einem Administrator bereitgestellt oder mithilfe von Speicherklassen dynamisch bereitgestellt wurde.
Ein PersistentVolumeClaim (PVC) ist eine Anforderung zur Speicherung durch einen Benutzer. Es ist ähnlich wie bei einem Pod. Pods verbrauchen Knotenressourcen und PVCs verbrauchen PV-Ressourcen.
Angenommen, Ihre Eltern haben viel Geld (PV), aber sie stellen Sie nur zur Verfügung, wenn Sie sie entsprechend Ihren Bedürfnissen (PVC) anfordern.
Ein PersistentVolume (PV) ist ein Speicherelement im Cluster, das vom Server- / Speicher- / Clusteradministrator bereitgestellt oder mithilfe von Speicherklassen dynamisch bereitgestellt wurde. Es ist eine Ressource im Cluster, genau wie der Knoten.
Ein PersistentVolumeClaim (PVC) ist eine Anforderung zur Speicherung durch einen Benutzer, die über PV abgerufen werden kann. Es ist ähnlich wie bei einem Pod. Pods verbrauchen Knotenressourcen und PVCs verbrauchen PV-Ressourcen. Pods können bestimmte Ressourcenebenen (CPU und Speicher) anfordern. Ansprüche können bestimmte Größen- und Zugriffsmodi anfordern (z. B. können sie ReadWriteOnce, ReadOnlyMany oder ReadWriteMany bereitgestellt werden.
Ein Anspruch auf beständiges Volumen gibt an, auf welche Optionen Sie in einem bestimmten Cluster zugreifen können. In diesem Geschäft mit dem Namen Smart Tech erhalten Sie dieses Rundschreiben mit einigen Anzeigen zu Ihren Konfigurationsoptionen. Bei diesen Anzeigen handelt es sich um den Anspruch auf beständiges Volumen.
In Ihre Konfigurationsdatei schreiben Sie die verschiedenen Persistent Volume Claims, die Sie in Ihrem Cluster haben werden, ähnlich wie Ihre Wunschliste für den Weihnachtsmann, aber natürlich werden Sie diese zum Verkäufer bei Smart Tech bringen, wenn Sie sind fertig.
Sie schreiben also eine Konfigurationsdatei, die besagt, dass allen Ihren Clustern eine 600-GB-Festplattenoption und eine 1-TB-Festplattenoption zur Verfügung stehen sollten.
Wenn Sie eine dieser Optionen des Persistent Volume Claim auswählen, fordern Sie Kubernetes (den Verkäufer) auf, diese Option für Sie zu erhalten. Die von Ihnen gewählte Option Kubernetes muss diese Instanzen von Speicheroptionen im Bestand prüfen Zimmer, die leicht verfügbar sind. Diese Instanzen von Festplatten können sofort verwendet werden und gelten als statisch bereitgestellt, da sie im Voraus erstellt werden.
Auf der anderen Seite gibt es dynamisch bereitgestellte Optionen, die im laufenden Betrieb erstellt wurden, als Sie Kubernetes den Verkäufer fragten. So ähnlich wie bei einer Just-in-Time-Produktion wurde sie erstellt, als Sie sofort danach fragten.
Der Persistent Volume Claim ist also die Werbung für Optionen im Geschäft, und je nachdem, welche Sie für Kubernetes auswählen, erhalten Sie diese, entweder im Speicher oder im laufenden Betrieb.
Das persistente Volume ist das tatsächliche Produkt oder die Optionen, die Sie von Kubernetes zurückerhalten, nach denen Sie gefragt haben. Wenn Kubernetes nicht das hat, wonach Sie gefragt haben, wird es versuchen, es im laufenden Betrieb für Sie zu erstellen.
Das PVC ist also das, was Smart Tech Ihrem Cluster anbietet, das Kubernetes, der Verkäufer, für Sie erhält, und das PV ist das tatsächlich an Sie gelieferte Endprodukt.
PersistentVolume (PV) und PersistentVolumeClaim (PVC) sind die von den Kubernetes bereitgestellten Ressourcen-APIs. PV ist ein Speicherplatz, der von einem Administrator vorab zugewiesen werden soll. Und PVC ist eine Anfrage für ein Stück Lagerung durch einen Benutzer.
Beim Vergleich von PV und PVC mit Knoten und Pods finden Sie einige Gemeinsamkeiten. PV wie ein Knoten, der den Speicher definiert. PVC-ähnliche Pods, die die Ressourcen (Mem, CPU) benötigen und diese abrufen, falls der Knoten über die zuzuweisenden Ressourcen verfügt. In diesem Fall handelt es sich um einen Speicher.
PV ist eine logische Darstellung des Speichers, der an einen Pod oder eine Bereitstellung angeschlossen ist. Es verwendet PVC, um Speicherressourcen von den physischen Speicherressourcen in Ihrem Kube-Cluster anzufordern. Meiner Meinung nach ist seine Beziehung eher wie folgt:
Pods -> PV -> PVC -> Physical Storage
Viele Online-Erklärungen klingen verwirrend und ich verstehe dies aus ihrer Beziehung in Manifestdateien.