根据具有“保留”政策的官方文档https://kubernetes.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/,可以手动恢复PV。这实际上是什么意思,有没有一种工具可以使我从该“保留” PV中读取数据并将其写入另一个PV,或者这意味着您可以安装该卷手册以获取访问权限?
最佳答案
手动恢复卷的过程如下。
即使删除了PVC,也可以使用同一PV将数据与数据一起安装到不同的Pod(PV必须存在,如果storageclass的回收策略是Retain,通常将存在PV)
确认PV处于释放状态。 (即,目前没有pvc要求它)
➜ ~ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-eae6acda-59c7-11e9-ab12-06151ee9837e 16Gi RWO Retain Released default/dhanvi-test-pvc gp2 52m
编辑PV(kubectl edit pv pvc-eae6acda-59c7-11e9-ab12-06151ee9837e
)并删除spec.claimRef部分。 PV claim 将像下面这样被取消。 ➜ ~ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-eae6acda-59c7-11e9-ab12-06151ee9837e 16Gi RWO Retain Available gp2 57m
然后使用PVC声明PV,如下所示。---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: dhanvi-test-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 16Gi
volumeName: "pvc-eae6acda-59c7-11e9-ab12-06151ee9837e"
可以在以下 pods 中使用。volumes:
- name: dhanvi-test-volume
persistentVolumeClaim:
claimName: dhanvi-test-pvc
更新:卷克隆可能有助于https://kubernetes.io/blog/2019/06/21/introducing-volume-cloning-alpha-for-kubernetes/
关于kubernetes - 如何手动恢复PV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57715306/