持久卷(PV)
# 持久卷(PV)常用 yaml 配置项
# 1一个简单的PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv01
spec:
storageClassName: k8s
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 192.168.1.1
path: /nfsdata
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# specspec.storageClassName
存储类名。
spec:
storageClassName: <名称>
1
2
2
# specspec.volumeMode
PV 存储模式:
Filesystem
:可以被挂载到主机的文件系统中。
spec:
volumeMode: Filesystem
1
2
2
# specspec.accessModes
PV 访问模式:
ReadWriteOnce
(RWO),仅允许单个节点挂载读写ReadWriteMany
(RWX),允许多个节点挂载读写ReadOnlyMany
(ROX),允许多个节点挂载只读
spec:
accessModes:
- ReadWriteOnce
1
2
3
2
3
# specspec.capacity
PV 存储上限。
# 存储上限为 5GiB,这个计量单位和 “容器资源限制” 中介绍的一样
spec:
capacity:
storage: 5Gi
1
2
3
4
2
3
4
# specspec.persistentVolumeReclaimPolicy
回收策略:
Recycle
(回收):当 PVC 被删除之后,PV 里的数据也会被清空(包括存储服务器上的),然后 PV 变为空闲状态,可以被其他的 PVC 绑定Retain
(保留):当 PVC 被删除之后,PV 变为不可用状态,等待用户手动清理数据;然后必须手动删除并重新创建 PV,才能被其他 PVC 绑定Delete
(删除):当 PV 被删除之后,所关联的存储数据会被一并删除。
spec:
persistentVolumeReclaimPolicy: Recycle
1
2
2
笔记
截至 k8s v1.28 版本,仅 NFS 和 HostPath 支持回收(Recycle
)。 AWS EBS 和 GCE PD 卷支持删除(Delete
)。
警告
回收策略Recycle
已被废弃。取而代之的建议方案是使用动态制备。
编辑 (opens new window)