好像,在删除pv,pvc时,我搞砸了。我可以毫无问题地删除pvc,但我无法删除其中具有pv保护的pv。在之前删除pv,pvc时,我按了CTRL + C,因为删除它需要时间,并且在删除pvc之前还删除了存储类。我不记得用于创建 pvc 的存储类。
在这篇文章中,它说,将 pvc 保护更新为空将有助于删除 pvc。但是我不得不删除具有PV保护的pv。以下是 pv 的描述输出。
~/github/vault-operator# kubectl describe pv pv-hostpath
Name: pv-hostpath
Labels: type=local
Annotations: pv.kubernetes.io/bound-by-controller: yes
Finalizers: [kubernetes.io/pv-protection]
StorageClass: manual
Status: Terminating (lasts <invalid>)
Claim: poc-namespace/pvc-hostpath
Reclaim Policy: Retain
Access Modes: RWO
Capacity: 1Gi
Node Affinity: <none>
Message:
Source:
Type: HostPath (bare host directory volume)
Path: /kube
HostPathType:
Events: <none>
~/github/vault-operator# kubectl get pv,pvc
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pv-hostpath 1Gi RWO Retain Terminating poc-namespace/pvc-hostpath manual 11d
问题是,如何删除未正确删除的PV,以及我的问题可能是什么。
在此方案中,您有一个 PVC(poc-namespace/pvc-hostpath(,它阻止您的 PV 被删除。删除 PVC,您可以删除 PV。
一般来说,PVC的Reclaim Policy
是delete
,所以当你删除一个PVC时,它会自动删除绑定到它的PV。
你的storageClass
可能是这个(或类似的(,来自牧场主。它是一个基于hostPath
的,这意味着它将您的容器卷映射到主机。