这在很大程度上取决于您如何定义 PV/PVC。根据我的经验,使用基于 NFS 的 PV 在 pod 重新删除之间保留数据非常容易。对于多个 pod 共享的 NFS 卷,我采用以下方法。
体积 :
apiVersion: v1
kind: PersistentVolume
metadata:
name: pvname
spec:
capacity:
storage: 1Mi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: <nfs IP>
path: <nfs path>
宣称 :
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvcname
spec:
volumeName: pvname
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Mi
这确保了我在 k8s 中删除的任何内容都可以返回 NFS 服务器上已知路径上的数据,并通过在 k8s 上重新创建 PV/PVC/POD 再次重用它,因此它应该能够在您提到的所有三种情况下都存在。