无法使用kubectl命令删除PV或PVC
现象描述
无法使用kubectl delete命令直接删除已有的PV或PVC,删除后会一直处于Terminating状态。
问题根因
Kubernetes为了防止误删除PV和PVC导致数据丢失,存在数据保护机制,无法使用delete命令直接删除。
解决方案
执行以下命令,先解除保护机制,再删除PV或PVC。
如果已经使用kubectl delete命令删除PV或PVC,会一直处在Terminating状态,在执行下面patch命令后会直接删除,无需重复执行kubectl delete命令。
- PV
kubectl patch pv <pv-name> -p '{"metadata":{"finalizers":null}}' kubectl delete pv <pv-name>
- PVC
kubectl patch pvc <pvc-name> -p '{"metadata":{"finalizers":null}}' kubectl delete pvc <pvc-name>