【问题标题】:Kubernetes Delete Persistent Voulmes Created by hostPathKubernetes 删除由 hostPath 创建的 Persistent Voulmes
【发布时间】:2019-09-20 22:45:44
【问题描述】:

我在 docker-desktop 上创建了一个 PV 和一个 PVC,即使删除了 pv 和 pvc,文件仍然存在。当我重新创建它时,它会将相同的 mysql 数据库附加到新的 pod。如何手动删除 hostPath 创建的文件?我想一种方法是在首选项中重置 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

【问题讨论】:

  • 我用 docker-desktop 找到了一个很好的解决方案。如果您使用 /tmp 或使用 docker for desktop 创建新的共享驱动器,您可以进入并手动删除文件。我曾预计,当您删除卷时,它会删除数据,但本地和 hostPath 卷并非如此。

标签: kubernetes persistent-volumes persistent-volume-claims


【解决方案1】:

根据docs,“...Recycle 回收策略对卷执行基本清理 (rm -rf /thevolume/*) 并使其再次可用于新的声明”。 Also, "...目前只有 NFS 和 HostPath 支持回收"。所以,尝试改变

persistentVolumeReclaimPolicy: Delete

persistentVolumeReclaimPolicy: Recycle

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 那部分是有道理的,我卡住的地方是如何到达节点?我知道在 Windows 中,docker 在 hyper-v 的 linux vm 上运行。碰巧知道它在 macOS 中从哪里运行?
    • @duffney 我不熟悉那些系统,你知道你的节点上是否安装了 ssh 吗?
    • 我不这么认为,我无法通过 kubeclt cmds 显示的名称和 IP 访问。我以码头工人的形式提出。必须有一种方法可以访问在 docker-desktop 中创建的软管。 forums.docker.com/t/…
    【解决方案3】:

    如果您为需要检查的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 2019-11-04
      • 2016-12-05
      • 2017-04-02
      • 1970-01-01
      • 2018-10-04
      • 2017-05-14
      相关资源
      最近更新 更多