Kubernetes 删除由 hostPath 创建的持久 Voulmes



我在docker-desktop上创建了一个PV和一个PVC,即使在删除了pv和pvc之后,文件仍然存在。当我重新创建它时,它将相同的 mysql 数据库附加到新的 pod。如何手动删除主机路径创建的文件?我想一种方法是在首选项中重置 Kubernetes,但必须有另一个更少的核选项。

apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
hostPath:
path: "/mnt/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim2
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi

根据文档,"...Recycle回收策略对卷执行基本的清理(rm -rf /thevolume/*(,并使其再次可用于新的索赔"。另外,"...目前,只有NFS和HostPath支持回收"。所以,尝试改变

persistentVolumeReclaimPolicy: Delete

persistentVolumeReclaimPolicy: Recycle

hostPath卷只是节点文件系统之一上的文件夹(在本例中为/mnt/data(。您需要做的就是从托管卷的节点中删除该文件夹。

如果您定义了需要检查的 Pod 的任何节点亲和力。然后找出该 Pod 调度的节点。删除PVCPV然后从/mnt/data 目录中删除数据。

kubectl get pod -o wide | grep <pod_name>

在这里,您将在哪个节点上计划它。

kubectl delete deploy or statefulset <deploy_name>

kubectl get pv,pvc

kubectl delete pv <pv_name>

kubectl delete pvc <pvc_name>

现在继续该节点并从/mnt/data中删除该数据

另一种方法可以定义persistentVolumeReclaimPolicyretaindelete

相关内容

  • 没有找到相关文章

最新更新