Kubernetes----高级存储之PV

网友投稿 254 2022-09-10

Kubernetes----高级存储之PV

一、PV简介

1.1 PV资源文件

apiVersion: v1kind: PersistentVolumemetadata: name: pv2spec: nfs: # 存储类型,与底层真正存储对应 capacity: # 存储能力,目前只支持存储空间的设置 storage: 2Gi accessModes: # 访问模式 storageClassName: # 存储类别 persistentVolumeReclaimPolicy: # 回收策略

PV的关键配置参数说明:

存储类型底层实际存储的类型,Kubernetes支持多种存储类型,每种存储类型的配置都有所差异存储能力(capacity)目前只支持存储空间的设置(storage=1Gi),不过未来可能会加入IOPS,吞吐量等指标的配置访问模式(accessModes)用于描述用户应用对存储资源的访问权限,访问权限包括下面几种方式

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

需要注意的是,底层不同的存储类型可以能支持的访问模式不同

回收策略(persistentVolumeReclaimPolicy) 当PV不再被使用了以后,对其的处理方式,目前支持三种策略

Retain(保留)保留数据,需要管理员手工清理数据Recycle(回收)清除PV中的数据,效果相当于执行 rm -rf /thevolume/*Delete(删除)与PV相连的后端存储完成Volume的删除操作,当然这常见于云服务商的存储服务

需要注意的是,底层不同的存储类型可能支持的回收策略不同

存储类别 PV可以通过storageClassName的参数指定一个存储类别

具有特定类别的PV只能与请求了该类别的PVC进行绑定未设定类别的PV则只能与不请求任何类别的PVC进行绑定

状态(status) 一个PV的生命周期中,可能会处于4种不同的阶段:

二、PV实例演示

2.1 准备NFS环境

创建目录

[root@master ~]# mkdir /root/data/{pv1,pv2,pv3} -pvmkdir: created directory ‘/root/data/pv1’mkdir: created directory ‘/root/data/pv2’mkdir: created directory ‘/root/data/pv3’[root@master ~]#

暴露服务,注意这里需要首先搭建好nfs服务,若为部署nfs服务,可参考 DevOps技术----安装部署NFS服务器

vi

增加如下三行

/root/data/pv1 192.168.0.0/16(rw,no_root_squash)/root/data/pv2 192.168.0.0/16(rw,no_root_squash)/root/data/pv3 192.168.0.0/16(rw,no_root_squash)

然后重启nfs服务

systemctl restart nfs

2.2 创建PV

编写pv.yaml文件,内容如下:

apiVersion: v1kind: PersistentVolumemetadata: name: pv1spec: capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: 192.168.16.40 path: /root/data/pv1---apiVersion: v1kind: PersistentVolumemetadata: name: pv2spec: capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: 192.168.16.40 path: /root/data/pv2---apiVersion: v1kind: PersistentVolumemetadata: name: pv3spec: capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: 192.168.16.40 path:

使用如下命令创建PV

[root@master volume]# kubectl apply -f pv.yamlpersistentvolume/pv1 createdpersistentvolume/pv2 createdpersistentvolume/pv3 created[root@master volume]#

使用如下命令查看创建的PV资源

[root@master volume]# kubectl get pv -o wideNAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE VOLUMEMODEpv1 2Gi RWX Retain Available 112s Filesystempv2 2Gi RWX Retain Available 112s Filesystempv3 2Gi RWX Retain Available 112s Filesystem[root@master volume]#

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Kubernetes----高级存储之PVC
下一篇:公关界007:在央视做招聘?蕉内的这场五四营销格局高了!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~