当 pod 被删除并重新部署时,持久卷不会保留现有数据。
移除 pod 后,映射的持久卷状态更改为Released。后来当同一个 pod 重新部署时,我们不能使用相同的现有 PV,因为它不处于可用状态。
正如https://kubernetes.io/docs/concepts/storage/persistent-volumes/#retain中所建议的那样,
我尝试删除已发布的 PV 并创建了相同的 PV,其中状态为可用并且它绑定到重新创建的 pod 但缺少旧数据。
当 pod 被删除并重新创建时,我们如何使用旧数据声明相同的 PV?
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/no-provisioner
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
-------------------------------
apiVersion: v1
kind: PersistentVolume
metadata:
name: app-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: role
operator: In
values:
- data