五、建立pv与pvc

1.PersistenVolume(PV)是外部存储系统中的一块存储空间,由管理员创建和维护,与Volume一样,PV具有持久性,生命周期独立于Pod。

2.PersistenVolumeClaim(PVC)是对PV的申请(Claim).PVC通常由普通用户创建和维护。需要为Pod分配存储资源时,用户可以创建一个PVC。

下面创建一个PV ,配置文件nfs_pv1.yml

apiVersion: V1
kind: PersistenVolume
metadata:
  name: mypv1
spec:
  capacity:  #指定容量
    storage: 1Gi
  accessModes:
    - ReadWriteOnce  #访问模式,还有ReadOnlyMany /ReadOnlymany/ReadWriteMany(RWX)
  persistenVolumeReclaimPolicy: Recycle
  storageClassName: nfs  ##指定存储的类型
  nfs:
    path: /nfsdata/pv1  #指明nfs的路径
    server: ip  #指明nfs的ip

ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载  ;  ReadOnlyMany(ROX):只读权限,可以被多个节点挂载  ;  ReadWriteMany(RWX):读写权限,可以被多个节点挂载

3.persistentVolumeReclaimPolicy(回收策略)

目前 PV 支持的策略有三种:Retain(保留)- 保留数据,需要管理员手工清理数据; Recycle(回收)- 清除 PV 中的数据,效果相当于执行 rm -rf /thevoluem/*; Delete(删除)- 与 PV 相连的后端存储完成 volume 的删除操作,当然这常见于云服务商的存储服务,比如 ASW EBS。

*不过需要注意的是,目前只有 NFS 和 HostPath 两种类型支持回收策略。当然一般来说还是设置为 Retain 这种策略保险一点。

kubectl create -f nfs_pv1.yml  ##创建pv
kubectl get pv  ##查看pv

  pvc的配置文件nfs_pvc1.yml:

kind: PersistenVolumeClaim
apiVersion: V1
metadata:
    name: mypvc1
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
        storage: 1GI
  storageClassName: nfs
原文地址:https://www.cnblogs.com/zhugq02/p/12905520.html