首页 > 解决方案 > pvc删除后如何恢复pv(已发布)数据

问题描述

我在aws的eks上有一个kubernetes集群。我使用 aws-ebs 作为 StorageClass 的 Provisioner,ReclaimPolicy 设置为 Retain。我用 helm 安装应用程序。当我删除应用程序时,pvc 被删除,但 pv 仍然存在。状态为已发布。我可以看到 aws-ebs 卷仍在 aws 控制台中。现在我想创建一个新应用程序并仍然使用原始数据。我认为有两种方法可以做到这一点

  1. 手动创建pvc绑定这个pv让pv重新工作,但是StorageClass不能用
  2. 重新创建一个新的PV绑定aws-ebs然后通过这个PV创建一个新的PVC,好像StorageClass不能用了

但是不知道怎么改,可以求助吗?提前致谢

标签: kubernetesamazon-ekspersistent-volumespersistent-volume-claims

解决方案


ReclaimPolicy : Retain意味着:

Retain回收策略允许手动回收资源。当 PersistentVolumeClaim 被删除时,PersistentVolume 仍然存在,该卷被认为是“已释放”。但它还不能用于另一个索赔,因为前一个索赔人的数据仍在卷上。管理员可以通过以下步骤手动回收卷。

  1. 删除持久卷。删除 PV 后,外部基础设施(例如 AWS EBS、GCE PD、Azure 磁盘或 Cinder 卷)中的关联存储资产仍然存在。

  2. 相应地手动清理相关存储资产上的数据。

  3. 手动删除关联的存储资产,或者如果您想重复使用相同的存储资产,请使用存储资产定义创建一个新的 PersistentVolume。

在这里,您可以找到一个示例,逐步说明如何在 PVC 被删除后手动重用 PV,这样数据不会丢失。


推荐阅读