Kubernetes-PersistentVolume(PV)介绍
PV介绍
PV是对底层网络共享存储的一个抽象,PV由管理员创建和配置。PV是抽象出来的存储资源,包括存储能力、存储类型、访问模式、回收策略、后端存储类型等设置。
PV的参数详解
PV的yaml模板
apiVersion: v1
kind: PersistentVolume
metadata:
name: test-pv1
spec:
capacity:
storage: 1Mi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
storageClassName: nfs-stoarge
nfs:
path: /date-nfs/k8s
server: 127.0.0.1
spec.capacity.storage
:存储大小;spec.accessModes
:访问模式;
- RWO:ReadWriteOnce,仅允许单个节点挂载进行读写;
- ROX:ReadOnlyMany,允许多个节点挂载且只读;
- RWX:ReadWriteMany,允许多个节点挂载进行读写;
spec.persistentVolumeReclaimPolicy
:回收策略,有三种Retain/Recycle/Delete
- Retain:保留,删除PVC后,PV保留数据;
- Recycle:回收空间,删除PVC后,简单的清除文件;(NFS和HostPath存储支持)
- Delete:删除,删除PVC后,与PV相连接的后端存储会删除数据;(AWS EBS、Azure Disk、Cinder volumes、GCE PD支持)
spec.storageClassName
:存储类别,指定一个StorageClass资源对象的名称,具有特定类别的PV只能与请求了该类别的PVC进行绑定;未设置特定类型的PV只能与不请求任何类型的PVC进行绑定。spec.mountOptions
: 挂载参数,当PV挂载到一个节点时,可能需要设置额外的挂载参数,就是通过mountOptions字段设置。spec.nodeAffinity
:节点亲和性,PV可以设置节点亲和性限制只能通过某些节点访问卷,使用这些卷的Pod将被调度到满足条件的节点上。spec.volumeMode
:存储卷模式,k8s v1.13版本引入存储卷模式Volume Mode,值有Filesystem(文件系统,默认值),Block(块设备)。
PV的生命周期
$ kubectl get pv
PV一共有4个生命周期阶段:Available/Bound/Released/Failed
- Available: 可用状态,无PVC绑定;
- Bound:绑定状态,已经和某个PVC绑定;
- Released:释放状态,绑定的PVC已删除,资源释放,但没有被集群回收;
- Failed:失败状态,自动资源回收失败;
PV的常用命令
- 创建(yaml的方式)
$ kubectl create -f pv.yaml
- 删除
$ kubectl delete pv pv_name
- 查看所有PV
$ kubectl get pv
- 查看某个PV
$ kubectl get pv pv_name
- 查看详情
$ kubectl describe pv pv_name
注意: 若在某个命名空间下,以上命令可以加上-n ns_name
烧不死的鸟就是凤凰
分类:
容器化
标签:
persistentVolumes
, 容器化
, 存储卷
, PV
, kubernetes
, k8s
, k8s pv
, kubernetes pv
, kubernetes卷
, 持久化卷
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)