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的内容,大家可以访问下面的文章。

269

2023.11.13

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

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

208

2023.12.29

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

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

24

2025.12.22

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

37

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

52

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

8

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

热门下载

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

精品课程

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

共48课时 | 7.2万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

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

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