Sie haben ein PVC mit PV 10G. Sie möchten seine Größe erhöhen. Leider wird die Größenanpassung noch nicht unterstützt. Also, Sie müssen neue PVC mit 20G Größe erstellen.
Nehmen wir an, Ihr vorhandenes PVC mit 10G heißt older
.
folgenden Schritte aus:
Schritt 1: mit 20G Erstellen neuer PVC, lässt seine latest
genannt sagen.
Schritt 2: Berg older
& latest
beide in einem Container. Kopieren Sie Daten von older
zu latest
.
Schritt 3: Löschen Sie PVC older
, wir brauchen older
nicht mehr. Daten kopiert nach latest
PV.
Schritt 4: Stellen Sie PV von latest
zur Verfügung.
$ kubectl get pvc latest
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
latest Bound pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6 10Gi RWO standard 30s
bearbeiten PV pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6
persistentVolumeReclaimPolicy auf Retain
einzustellen. Das Löschen von PVC löscht PV nicht.
Löschen Sie jetzt PVC latest
.
$ kubectl delete pvc latest
$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6 10Gi RWO Retain Released default/latest standard 3m
Siehe den Status, PV ist freigegeben.
Jetzt stellen Sie diese latest
PV zur Verfügung, um von einem anderen PVC beansprucht zu werden, unser older
, weil wir 20G unter diesem PVC older
verwenden möchten.
bearbeiten PV wieder entfernen claimRef
$ kubectl edit pv pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6
$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6 10Gi RWO Retain Available standard 6m
nun der Status der PV verfügbar ist.
Schritt 5: Anspruch latest
PV von older
PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: older
spec:
accessModes:
- ReadWriteOnce
volumeName: pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6
resources:
requests:
storage: 10Gi
Verwenden Volume pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6
$ kubectl get pvc,pv
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc/older Bound pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6 10Gi RWO standard 9s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv/pvc-8badc3c2-08c5-11e8-b07a-080027b3e1a6 10Gi RWO Retain Bound default/older standard 9m
Endlich: Set persistentVolumeReclaimPolicy zu Delete
Dies ist, wie Ihr PVC older
hat latest
PV mit 20G gehabt.
Dies ist Cloud-Provider abhängig, nicht abhängig von K8s. Es spielt also eine Rolle, auf welchen Cloud-Anbieter Sie ausgerichtet sind. –
@NorbertvanNobelen Eigentlich glaube ich, dass meine Frage missverstanden wurde. Ich möchte ein allgemeines Verfahren, um die Festplatte zu ersetzen (automatisch bereitgestellt von k8s in jedem unterstützten Anbieter) ein PersistentVolumeClaim sollte gebunden werden. Lasst uns zum Beispiel nur auf GKE fokussieren. Wenn ich eine Bereitstellung mit einem PVC erstelle, stellt k8s einen neuen Datenträger in der Google Cloud bereit und bindet diesen Datenträger an den PVC. Später möchte ich diese Platte snapshot, eine neue, größere Festplatte in Google Cloud aus diesem Snapshot erstellen und "sagen", dass der PVC an diese neue Festplatte statt an die alte bindet. –
Ja, und dieser Teil ist vom Cloud-Provider abhängig, nicht etwas, was k8s in diesem Moment tun kann. Du wirst es selbst schreiben müssen –