五、建立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

浙公网安备 33010602011771号