pv

概念:
PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS 等,都是通过插件机制完成与共享存储的对接。
PV 定义了后端存储以及其他的存储参数。用来配置存储的。只关心后端存储。

pv 的状态:
Available(可用)-- PV是一个空闲资源,尚未绑定到任何pvc;
Bound(已绑定)-- PV已经绑定到pvc;
Released(已释放)-- 所绑定的pvc已被删除,但是资源尚未被集群回收;
Failed(失败)-- PV自动回收操作失败。

pv 的回收策略:
Retain(保留)- 保留数据,需要管理员手工清理数据,pvc删除以后不会删除数据,pv会变成Released状态,无法使用。 需要手动删除重建。手动删除pv不会清除数据。 或者编辑pv,把claimRef 删除。
Recycle(回收)- 清除 PV 中的数据,效果相当于执行 rm -rf /thevoluem/*,pvc删除,数据清理完毕以后Pv会自动恢复到可用状态。
Delete(删除)- 与 PV 相连的后端存储完成 volume 的删除操作,当然这常见于云服务商的存储服务,比如 ASW EBS。删除pv,pv连接的卷也会自动删除。 自动供给的NFS使用的是Delete,作用是删除NFS根目录下的卷目录。手动创建的不能使用Delete,缺少删除卷的插件。
不过需要注意的是,目前只有 NFS 和 HostPath 两种类型支持回收策略。当然一般来说还是设置为 Retain 这种策略保险一点。

注意:目前只有NFS 和 HostPath 支持Recycle, AWS EBS, GCE PD, Azure Disk, and Cinder volumes 只支持Delete.

pv AccessModes 访问模式:(只有相同访问模式的PV,PVC才能绑定)
AccessModes 是用来对 PV 进行访问模式的设置,用于描述用户应用对存储资源的访问权限,访问权限包括下面几种方式:
ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载
ReadOnlyMany(ROX):只读权限,可以被多个节点挂载
ReadWriteMany(RWX):读写权限,可以被多个节点挂载
注意:一些 PV 可能支持多种访问模式,但是在挂载的时候只能使用一种访问模式,多种访问模式是不会生效的。

在CLI中,访问模式缩写为:
RWO-ReadWriteOnce
ROX-ReadOnlyMany
RWX-ReadWriteMany

PV 作为存储资源,主要包括存储能力、访问模式、存储类型、回收策略等关键信息
cat >> pv.yaml << EOF

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-pv
spec:
  storageClassName: manual     # 存储的类别
  capacity:                    # 存储容量
    storage: 2Gi
  accessModes:                 # 访问模式
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete     # 回收策略
  nfs:                              
    path: /data/volume/v1                   
    server: 192.168.200.3                   
原文地址:https://www.cnblogs.com/lfl17718347843/p/15516578.html