似乎,删除pv,pvc时,我搞砸了。我可以删除没有问题的pvc,但是不能删除其中包含pv保护的pv。在较早删除pv,pvc时,我按了CTRL + C,因为删除它花了一些时间,并且在删除pvc之前也删除了storageclass。我不记得用于创建pvc的存储类。
在此post中,它表示将pvc保护更新为null将有助于删除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,这可能是我的问题。
答案 0 :(得分:1)
在这种情况下,您有一个PVC(poc-namespace / pvc-hostpath),阻止您的PV删除。删除PVC,您可以删除PV。
通常来说,PVC的Reclaim Policy
默认为delete
,因此,删除PVC时,它会自动删除与其绑定的PV。
您的storageClass
可能是this(来自牧场主)。这是一个基于hostPath
的协议,这意味着它将容器卷映射到主机。