Kann ein PVC gebunden werden, um eine bestimmte PV?
Diskutiert wurde von k8s-Betreuer in https://github.com/kubernetes/kubernetes/issues/7438#issuecomment-97148195:
Wodurch die Benutzer zu Fragen, für eine bestimmte PV-bricht die Trennung zwischen Ihnen
Ich nicht kaufen, dass. Wir erlauben Benutzern, wählen Sie einen Knoten aus. Es ist nicht der gewöhnliche
Fall, aber es gibt es für einen Grund.
Wie kam es dazu? Was ist der vorgesehene Weg, um >1 PV und PVC ist wie der in https://github.com/kubernetes/kubernetes/tree/master/examples/nfs?
Benutzen wir NFS, und PersistentVolume ist eine nützliche Abstraktion, da halten wir die server
IP und die path
es. Aber ein PersistentVolumeClaim bekommt alle PV mit ausreichender Größe, verhindern, dass path
wiederverwenden.
Festlegen können volumeName
in einer PVC - spec
block (siehe https://github.com/kubernetes/kubernetes/pull/7529), aber es macht keinen Unterschied.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein Weg, um pre-bind PVs zu PVCs heute, hier ist ein Beispiel zeigt, wie:
1) Erstellen Sie ein PV-Objekt mit einem ClaimRef Feld verweisen auf eine PVC, die Sie anschließend erstellen:
wo
pv.yaml
enthält:2) erstellen Sie Dann das PVC mit dem gleichen Namen:
3) Der PV und PVC sollte gebunden werden sofort:
Zudem planen wir die Einführung von "Volume " Selektoren", die es Benutzern ermöglichen, auf bestimmte Speicher basiert auf der Umsetzung einige spezifische Merkmale (spezifische rack, zum Beispiel, oder in Ihrem Fall, einen Weg zu erzwingen 1:1 PV-PVC-mapping).
Sehen https://github.com/kubernetes/kubernetes/issues/18333.
Es kann getan werden mit dem Schlüsselwort volumeName:
beispielsweise
wird behaupten, spezifische PV -
app080
Nun können wir
storageClassName
(zumindest von kubernetes 1.7.x)Siehe detail https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage
Kopiert Beispielcode auch hier
storageClassName
alles sein (D. H., Benutzer-definiert), oder es mussmanual
oder ausgewählt, aus einem bestimmten Satz?Ich glaube nicht, dass @jayme ' s Bearbeiten, um die ursprüngliche Antwort ist aufwärtskompatibel.
Obwohl nur dokumentiert, wie Vorschlag, label-Selektoren in PVCs zu funktionieren scheinen, mit Kubernetes 1.3.0.
Ich geschrieben habe, ein Beispiel definiert, dass zwei Mengen identisch sind, außer in
labels
. Beide erfüllen alle die Ansprüche, sondern als Ansprüche angebenes ist offensichtlich, dass eine der abhängigen Hülsen nicht mehr starten, und die test1 PV bleibt ungebunden.
Getestet werden können zum Beispiel minikube mit:
Ja, Sie können tatsächlich die
volumeName
im PVC. Bindet es sich genau mit den PV-Namen in der volumeName (auch die Skillung sollte in sync)Besser beides angeben
volumeName
impvc
undclaimRef
impvc
.Mithilfe
storageClassName: manual
in beidenpv
undpvc
wir binden einander, aber es garantiert nicht, wenn es vielemanual
pv und pvc ist.Quelle: https://docs.openshift.com/container-platform/3.11/dev_guide/persistent_volumes.html