Kubernetes: Kann nicht löschen PersistentVolumeClaim (pvc)
Habe ich die folgenden persistent volume durch den Aufruf
kubectl create -f nameOfTheFileContainingTheFollowingContent.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-monitoring-static-content
spec:
capacity:
storage: 100Mi
accessModes:
- ReadWriteOnce
hostPath:
path: "/some/path"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-monitoring-static-content-claim
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 100Mi
Danach habe ich versucht zu löschen, das pvc. Aber mit diesem Befehl stecken.
beim Aufruf kubectl describe pvc pv-monitoring-static-content-claim
bekomme ich das folgende Ergebnis
Name: pv-monitoring-static-content-claim
Namespace: default
StorageClass:
Status: Terminating (lasts 5m)
Volume: pv-monitoring-static-content
Labels: <none>
Annotations: pv.kubernetes.io/bind-completed=yes
pv.kubernetes.io/bound-by-controller=yes
Finalizers: [foregroundDeletion]
Capacity: 100Mi
Access Modes: RWO
Events: <none>
Und für kubectl describe pv pv-monitoring-static-content
Name: pv-monitoring-static-content
Labels: <none>
Annotations: pv.kubernetes.io/bound-by-controller=yes
Finalizers: [kubernetes.io/pv-protection foregroundDeletion]
StorageClass:
Status: Terminating (lasts 16m)
Claim: default/pv-monitoring-static-content-claim
Reclaim Policy: Retain
Access Modes: RWO
Capacity: 100Mi
Node Affinity: <none>
Message:
Source:
Type: HostPath (bare host directory volume)
Path: /some/path
HostPathType:
Events: <none>
Es ist keine pod laufen verwendet, der persistent volume. Könnte jemand mir einen Tipp geben, warum die pvc-und pv sind nicht gelöscht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, warum dies geschah, aber nach dem löschen der Finalizer von der pv und pvc, über die kubernetes-dashboard, beide wurden gelöscht.
Das passiert immer, nachdem Sie die Schritte, die ich beschrieben in meiner Frage.
Scheint wie ein bug.
oc edit pvc/protected-pvc -n myproject
gelöscht und die zwei Zeilen über Finalizer. Sowohl PVC und die Projekte waren sofort Weg. Ich bin damit einverstanden, es ist wahrscheinlich ein Fehler, denn es sollte nicht Verhalten. Ich hatte keine Hülsen laufen in das Projekt, nur, dass PVC.PV-geschützt ist. Löschen der PV vor dem löschen des PVC. Auch, löschen Sie alle pods/Bereitstellungen, die auf die Inanspruchnahme einer der genannten PVCs. Für weitere Informationen überprüfen Sie heraus Storage-Objekt in den Schutz Verwenden
kubectl create -f nameOfTheFileContainingTheFollowingContent.yaml
?PV geschützt war.
Finalizer:[kubernetes.io/pv-Schutz foregroundDeletion]
Sollten Sie ausführen, patch-pv (Satz Finalizer auf null), es zu lösen, wie dieser Befehl:
Wenn die PV noch existiert kann es sein, weil es ReclaimPolicy set zu Behalten, in welchem Fall es wird nicht gelöscht werden, selbst wenn PVC ist Weg. Aus den docs:
Recycle
ist jetzt veraltetNur trafen sich dieses Problem Stunden.
Ich gelöscht-Implementierungen, die diesen Referenzen und der PV/PVCs automatisch beendet.
In meinem Fall, wie lange, wie lösche ich den pod verbunden, um sowohl
pv
undpvc
, diepv
undpvc
im beenden-status verschwunden sindterminating
Zustand für immer, wenn Sie gelöscht werden. Um es zu beheben, ich liefkubectl patch pv local-pv-324352d9 -n ops -p '{"metadata":{"finalizers": []}}' --type=merge
Dann die PV ist Weg. Danke @Xiak TippKönnen Sie loswerden der Bearbeitung Ihrer pvc! Entfernen pvc-Schutz.