PersistentVolume可以有各種回收策略,包括Retain、Recycle和Delete。對於動態供應的持久卷,默認的回收策略是Delete。這意味着當用戶刪除相應的PersistentVolumeClaim時,動態供應的卷將自動刪除。
如果卷中包含寶貴的數據,這種自動行為可能不合適。在這種情況下,使用Retain策略更合適。使用Retain策略,如果用戶刪除PersistentVolumeClaim,則不會刪除相應的PersistentVolume。
相反,它被移動到 Released階段,在那里它的所有數據都可以手動恢復。
[root@k8s-master1 opt]# kubectl get pv --all-namespaces NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-1a6ba283-b16a-4cb4-b4a7-b4506534a9a9 20Gi RWO Delete Bound kube-system/prometheus-data-prometheus-0 managed-nfs-storage 26d pvc-33a6230c-481f-4d61-aff6-89d95bef74d9 4Gi RWO Delete Bound kube-system/alertmanager managed-nfs-storage 26d pvc-685576e3-cca1-4f6d-86b1-2e4395c6d499 5Gi RWO Delete Bound kube-system/grafana-data-grafana-0 managed-nfs-storage 26d
[root@k8s-master1 opt]# kubectl patch pv pvc-685576e3-cca1-4f6d-86b1-2e4395c6d499 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' persistentvolume/pvc-685576e3-cca1-4f6d-86b1-2e4395c6d499 patched [root@k8s-master1 opt]# kubectl get pv --all-namespaces NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-1a6ba283-b16a-4cb4-b4a7-b4506534a9a9 20Gi RWO Delete Bound kube-system/prometheus-data-prometheus-0 managed-nfs-storage 26d pvc-33a6230c-481f-4d61-aff6-89d95bef74d9 4Gi RWO Delete Bound kube-system/alertmanager managed-nfs-storage 26d pvc-685576e3-cca1-4f6d-86b1-2e4395c6d499 5Gi RWO Retain Bound kube-system/grafana-data-grafana-0 managed-nfs-storage 26d