原由:在使用helm update stable/sonatype-nexus从1.6版本更新到1.13版本后,出现PVC删除,重新创建PVC的情况,好在原来PV为Retain。故研究下Retain的PV怎么恢复数据。
此为我创建的一个PV,后端存储为nfs
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"name":"custom-pv0001"},"spec":{"accessModes":["ReadWriteOnce"],"capacity":{"storage":"20Gi"},"nfs":{"path":"/test1","server":"10.88.10.253"}}}
pv.kubernetes.io/bound-by-controller: "yes"
creationTimestamp: "2019-07-23T12:54:04Z"
finalizers:
- kubernetes.io/pv-protection
name: custom-pv0001
resourceVersion: "4623345"
selfLink: /api/v1/persistentvolumes/custom-pv0001
uid: f3a96793-ad48-11e9-b47f-525400b97587
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 20Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: prometheus-server
namespace: monit
resourceVersion: "4623328"
uid: 0a1d3fd5-ad49-11e9-b47f-525400b97587
nfs:
path: /test1
server: 10.88.10.253
persistentVolumeReclaimPolicy: Retain
只需要删除其中claimRef段就可以看到状态为可用了
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: prometheus-server
namespace: monit
resourceVersion: "4623328"
uid: 0a1d3fd5-ad49-11e9-b47f-525400b97587