Volume提供了数据持久化方案部。kubernetes的解决方案是PersistenVolume 和PersistentVolumeClaim。
PersistenVolume(PV)是外部存储系统中的一块存储空间,由管理员创建和维护,与Volume一样,PV具有持久性,生命周期独立于Pod。
PersistenVolumeClaim(PVC)是对PV的申请(Claim).PVC通常由普通用户创建和维护。需要为Pod分配存储资源时,用户可以创建一个PVC。
PV以及PVC的yml文件编写如下:
下面创建一个PV mypv1,配置文件nfs-pv1.yml
apiVersion: V1
kind: PersistenVolume
metadata:
name: mypv1
spec:
capacity: #指定容量
storage: 1Gi
accessModes:
- ReadWriteOnce #访问模式,还有ReadOnlyMany ##ReadOnlymany
persistenVolumeReclaimPolicy: Recycle
storageClassName: nfs ##指定存储的类型
nfs:
path: /nfsdata/pv1 #指明nfs的路径
server: ip #指明nfs的ip
kubectl apply -f nfs-pv1.yml ##创建pv
kubectl get pv ##查看pv
pvc的 mypvc1编写如下,配置文件nfs-pvc1.yml:
kind: PersistenVolumeClaim
apiVersion: V1
metadata:
name: mypvc1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1GI
storageClassName: nfs
网友评论