0

0

LinuxKubernetes存储管理教程_PVPVC与数据持久化

舞姬之光

舞姬之光

发布时间:2025-12-30 20:48:08

|

130人浏览过

|

来源于php中文网

原创

PV是集群级存储资源,PVC是命名空间级存储申请;PV由管理员配置或StorageClass动态创建,PVC通过匹配capacity、accessModes、storageClassName绑定PV;绑定一对一,Pod通过挂载PVC使用PV。

linuxkubernetes存储管理教程_pvpvc与数据持久化

PV(PersistentVolume)和PVC(PersistentVolumeClaim)是 Kubernetes 中实现数据持久化的基础机制。容器默认是无状态的,重启或调度后数据会丢失,而 PV/PVC 提供了一种解耦存储供应与使用的抽象方式,让应用无需关心底层存储细节,也能可靠保存数据。

理解 PV 和 PVC 的角色分工

PV 是集群级别的资源,代表一块真实可用的网络存储(如 NFS、Ceph、云厂商的 EBS/EVS/Cloud Block Storage),由管理员预先配置或通过 StorageClass 动态创建;PVC 是命名空间级的“申请”,描述应用需要多大容量、什么访问模式(ReadWriteOnce / ReadOnlyMany / ReadWriteMany)、什么存储类等需求,Kubernetes 会自动将其绑定到匹配的 PV 上。

  • PV 是“存储本身”,生命周期独立于 Pod,可被复用或回收
  • PVC 是“存储租约”,Pod 通过挂载 PVC 来使用对应 PV 的空间
  • 绑定关系是一对一的,一个 PVC 只能绑定一个 PV,一个 PV 一次只能被一个 PVC 绑定(除非是 ReadOnlyMany 模式且多 PVC 同时只读)

手动创建 PV 和 PVC 的典型流程

适用于 NFS、本地路径(测试用)等静态供应场景:

  • 先定义 PV YAML:指定 capacity、accessModes、persistentVolumeReclaimPolicy(Retain / Recycle / Delete)、storageClassName 和实际后端参数(如 nfs.path 和 nfs.server)
  • 再定义 PVC YAML:声明 resources.requests.storage、accessModes、storageClassName(需与 PV 一致),提交后等待 Bound 状态
  • 在 Pod 或 StatefulSet 中通过 volumes[].persistentVolumeClaim.claimName 引用 PVC,再在 containers[].volumeMounts 中挂载

注意:若 storageClassName 为空,表示使用默认 StorageClass 或进入“无类”静态绑定模式;不匹配会导致 PVC 长期处于 Pending 状态。

用 StorageClass 实现动态存储供应

避免手动管理 PV,尤其在公有云或 Ceph RBD 等支持动态卷的环境中更实用:

塑料卡板销售统计管理系统
塑料卡板销售统计管理系统

塑料卡板销售统计管理系统是一款对商品销售情况进行统一管理的系统。 程序特点1,简单,方便,网络操作,不受单台电脑文件保存限制2,纸质与数据库客户数据保存,查询变得更为方便3,免去久远的历史单据与数据查询烦恼4,方便的数据统计与自动核算功能5,丰富的销售数据录入与管理6, 销售清单(送货单)打印功能,支持条型码.7, 销售业绩提成统计功能8, 收款与未收款分开统计功能 后台地址:admin/logi

下载
  • 创建 StorageClass 对象,关联 provisioner(如 kubernetes.io/aws-ebs、kubernetes.io/cinder、rook-ceph.rbd.csi.ceph.com)并配置参数(如 type: gp3、pool: replicapool)
  • PVC 中指定 storageClassName,并设置 volumeMode(Filesystem 或 Block)和 dataSource(用于克隆或快照)
  • Kubernetes 调用对应 provisioner 自动创建 PV 并完成绑定,整个过程无需人工干预

StorageClass 还可控制回收策略(reclaimPolicy)、是否允许卷扩容(allowVolumeExpansion: true)等关键行为。

常见问题与排查要点

当 PVC 卡在 Pending 或 Pod 报错 MountVolume.SetUp 失败时,优先检查:

  • kubectl get pv,pvc 查看状态和事件(kubectl describe pvc xxx)
  • 确认 PV 容量、访问模式、storageClassName 是否与 PVC 完全匹配
  • 检查底层存储服务是否可达(如 NFS server 是否运行、权限是否正确;Ceph monitor 是否健康)
  • 查看 provisioner Pod 日志(如 csi-provisioner、rook-ceph-operator)是否有报错
  • 确认节点是否安装了对应插件(如 nfs-common、ceph-common 或 CSI Node Driver)

对于 StatefulSet 场景,建议配合 volumeClaimTemplates 使用,可自动为每个副本生成带序号的 PVC,天然支持有序部署与数据隔离。

相关专题

更多
数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

265

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

206

2023.12.29

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

6

2025.12.22

excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

24

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

74

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

207

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.2万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号