1.安装NFS客户端
yum install nfs-utils showmount -e 192.168.137.31 #测试
2.创建PV,PVC
kubectl create -f pv.yaml
kubectl create -f pvc.yaml
3.查看结果
kubectl get pv,pvc
4.Pvc绑定到POD
kubectl create -f pod.yaml
5.检查POD内部是否已经与NFS正常连接
kubectl exec mypod -- ls /var/www/html
以下内容参考自
https://www.jianshu.com/p/d59552131259
pv.yaml文件内容
apiVersion: v1 kind: PersistentVolume metadata: name: nfspv #pv的名字 labels: pv: nfs #pvc可以使用标签选择器来选择该pv,storageClassName和标签选择器是AND关系,如果storageClassName相同,标签选择器不同则pvc一直是pending状态 spec: capacity: storage: 1Gi #pv存储空间的大小,这里的空间大小并不能现在pod使用NFS空间的大小,作为pvc和pv>绑定选择使用,pv的空间符合pvc的要求则可以进行绑定 volumeMode: Filesystem #存储卷模式,默认为Filesystem,可选项还有Block accessModes: - ReadWriteOnce #存储卷的访问模式有三种ReadWriteOnce、ReadOnlyMany、ReadWriteMany persistentVolumeReclaimPolicy: Retain #pv回收策略有三种Retain(保留。pv删除,存储数据保留,需删 除需手动)、Recycle(回收。pv删除,存储的数据被清空删除掉)、Delete(删除。pv删除,则后端的存储设 备也删除掉,常用语云厂商) storageClassName: slow #pv和pvc的该项保持一致才可以进行绑定 nfs: path: /root/nfs/share #NFS共享目录 server: 192.168.137.31 #NFS服务器地址
Pvc.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-pvc #pvc名字,POD关联使用 spec: accessModes: #pvc在请求pv的时候访问模式保持一致 - ReadWriteOnce #同pv一样三种模式 volumeMode: Filesystem #同pv一样两种模式 resources: requests: storage: 200Mi #pvc空间的大小,并不能作为pod使用存储的空间限制,而是作为选择绑定pv的条件。 storageClassName: slow #pvc和pv保持一致才可以进行绑定,否则一直pending状态 selector: #pvc可以通过标签选择器选择绑定pv。如果同时设置selector和storageClassName,那么再进行>绑定pv匹配选择的时候是AND的关系,两则同时满足才可以。 matchLabels: pv: "nfs" # matchExpressions: # # - {key: environment, operator: In, values: [dev]}
标签:storageClassName,pv,NFS,绑定,pvc,PVC,nfs,PV,K8S From: https://www.cnblogs.com/heho/p/16925521.html