mac*_*mac 23 kubernetes kubernetes-health-check
有状态集 es-data 在我们的测试环境中失败,我被要求删除相应的 PV。
因此,我删除了 es-data 的以下内容:1) PVC 2) PV 它们显示为终止并留到周末。今天早上到达时,他们仍然显示为终止,因此强行删除了PVC和PV。没有喜悦。为了解决整个问题,我不得不删除有状态集。
如果您想删除 PV,这是否正确?
Pra*_*dha 35
您可以使用以下两个命令删除 PV:
kubectl delete pv <pv_name> --grace-period=0 --force
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令删除终结器:
kubectl patch pv <pv_name> -p '{"metadata": {"finalizers": null}}'
Run Code Online (Sandbox Code Playgroud)
Mz *_*z A 17
如果我先删除 pvc,然后删除 pv,这对我有用
kubectl delete pvc data-p-0
kubectl delete pv <pv-name> --grace-period=0 --force
Run Code Online (Sandbox Code Playgroud)
假设有人也想删除 pvc,否则似乎会挂起
sha*_*359 10
该线程上的大多数答案只是提到命令,而没有解释根本原因。
这是一个图表,可以帮助更好地理解。请参阅我的其他答案以获取命令和附加信息 - > /sf/answers/5147394521/
在您的情况下,PVC 和 PV 由于终结器而陷入终止状态。终结器是 k8s 中的护栏,以避免意外删除资源。
您的观察是正确的,这就是 Kubernetes 的工作原理。但您删除资源的顺序不正确。
这就是发生的事情,
PV 被卡在终止状态,因为 PVC 仍然存在。PVC 被卡在终止状态,因为 Statefulsets(pod) 仍在使用卷。(卷附加到节点并安装到 Pod)。删除 pod/STS 后,由于不再使用卷,PVC 和 PV 已成功删除。
首先运行 kubectl patch pv {PVC_NAME} -p '{"metadata":{"finalizers":null}}'
然后运行 kubectl delete pv {PVC_NAME}
小智 5
开始时请确保您Reclaim Policy已设置为Delete. 删除 PVC 后,应删除 PV。
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reclaiming
如果没有帮助,请检查这个 [关闭] Kubernetes PV 问题:https : //github.com/kubernetes/kubernetes/issues/69697
并尝试删除 PV 终结器。
小智 5
提示:PV 量的描述可能pvc-name-of-volume会令人困惑!
Persistent VolumePersistent Volume Clame首先找到pv:kubectl get pv -n {namespace}
然后删除pv以便将状态设置为Terminating
kubectl delete pv {PV_NAME}
然后修补它以将pvc的状态设置为Lost:
kubectl patch pv {PV_NAME} -p '{"metadata":{"finalizers":null}}'
然后获取 PVC 卷:kubectl get pvc -n storage
然后你可以删除pvc:
kubectl delete pvc {PVC_NAME} -n {namespace}
** 假设我们已经安装了 kafkastorage namespace
$ kubectl get pv -n storage
$ kubectl delete pv pvc-ccdfe297-44c9-4ca7-b44c-415720f428d1
$ kubectl get pv -n storage(挂起但将 pv 状态变为终止)
$ kubectl patch pv pvc-ccdfe297-44c9-4ca7-b44c-415720f428d1 -p '{"metadata":{"finalizers":null}}'
$ kubectl get pvc -n storage
kubectl delete pvc data-kafka-0 -n storage
| 归档时间: |
|
| 查看次数: |
25210 次 |
| 最近记录: |