我如何删除kubernetes的pvc

时间:2019-10-01 09:39:13

标签: kubernetes

我尝试删除pvc,但我不能

kubectl get --all-namespaces pvc

NAMESPACE      NAME            STATUS        VOLUME         CAPACITY   ACCESS MODES   STORAGECLASS   AGE
test-logging   es-local-pvc1   Terminating   es-local-pv1   450Gi      RWO                           21d

2 个答案:

答案 0 :(得分:1)

kubectl删除pvc es-local-pvc1

如果您发现任何问题,则很可能已保护了pvc免受删除。

  finalizers:
  - kubernetes.io/pvc-protection

您需要编辑pvc,并使用以下补丁验证元数据下的终结器设置为null。

kubectl patch pvc <pvc-name> -p '{"metadata":{"finalizers":null}}'

那么您应该可以删除pvc

答案 1 :(得分:1)

首先,您应该尝试 kubectl delete pvc es-local-pvc1 -n test-logging

如果它没有帮助,那么我绝对同意@PEkambaram提供的解决方案。 有时,您只能通过修补pvpvc终结器来解决此问题。

您可以通过以下方式列出终结器:

kubectl describe pvc PVC_NAME | grep Finalizers

并按

进行更改
kubectl patch pvc <pvc-name> -p '{"metadata":{"finalizers":null}}'

顺便说一句,PV也可能发生同样的情况,您也可以这样做:

kubectl patch pv PV-NAME -p ’{“metadata”:{“finalizers”:null}}’

Github PV is stuck at terminating after PVC is deleted帖子也可以在需要修补Pod的情况下提供帮助

kubectl patch pvc db-pv-claim -p '{"metadata":{"finalizers":null}}'
kubectl patch pod db-74755f6698-8td72 -p '{"metadata":{"finalizers":null}}'