kubernetes - pvc删除后如何恢复pv(已发布)数据
问题描述
我在aws的eks上有一个kubernetes集群。我使用 aws-ebs 作为 StorageClass 的 Provisioner,ReclaimPolicy 设置为 Retain。我用 helm 安装应用程序。当我删除应用程序时,pvc 被删除,但 pv 仍然存在。状态为已发布。我可以看到 aws-ebs 卷仍在 aws 控制台中。现在我想创建一个新应用程序并仍然使用原始数据。我认为有两种方法可以做到这一点
- 手动创建pvc绑定这个pv让pv重新工作,但是StorageClass不能用
- 重新创建一个新的PV绑定aws-ebs然后通过这个PV创建一个新的PVC,好像StorageClass不能用了
但是不知道怎么改,可以求助吗?提前致谢
解决方案
ReclaimPolicy : Retain意味着:
Retain
回收策略允许手动回收资源。当 PersistentVolumeClaim 被删除时,PersistentVolume 仍然存在,该卷被认为是“已释放”。但它还不能用于另一个索赔,因为前一个索赔人的数据仍在卷上。管理员可以通过以下步骤手动回收卷。
删除持久卷。删除 PV 后,外部基础设施(例如 AWS EBS、GCE PD、Azure 磁盘或 Cinder 卷)中的关联存储资产仍然存在。
相应地手动清理相关存储资产上的数据。
手动删除关联的存储资产,或者如果您想重复使用相同的存储资产,请使用存储资产定义创建一个新的 PersistentVolume。
在这里,您可以找到一个示例,逐步说明如何在 PVC 被删除后手动重用 PV,这样数据不会丢失。
推荐阅读
- python - pdf矿工如何提取图像
- rust - 如何包含位于子文件夹中的公共模块
- karate - 我可以使用空手道来测试带有多个后续斜杠的 URL 吗?
- python - 更改 Outlook 调色板 win32com?
- spring-mvc - 为什么在入口点 url 中添加项目名称时得到 404
- java - 如何从 Kotlin 的 viewPager 中保存选定的项目?
- python - 在python中将列表的元素拆分两次,由多个数字作为字符串组成
- laravel - 从 laravel 中的数据透视表中删除问题
- python - Xception(图像分类)中的损失和准确性没有提高
- solidity - RSK Bridge 智能合约的 Solidity 接口是什么?