讲师中心 微信公众号
AI工具推荐 视频效率加速

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

夏辰大大_5280

夏辰大大_5280

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

|

170人浏览过

|

来源于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 状态。

Teleport tsh SSH (Identity-First SSH Access, no passwords/static keys)
Teleport tsh SSH (Identity-First SSH Access, no passwords/static keys)

使用tbot机器ID身份文件配合tsh CLI,通过Teleport访问控制SSH登录托管主机或执行远程命令。

下载

用 StorageClass 实现动态存储供应

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

  • 创建 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,天然支持有序部署与数据隔离。

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

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

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

2691

2023.11.13

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

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

825

2023.12.29

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

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

116

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

168

2026.06.29

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

80

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

80

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

80

2026.09.30

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

60

2026.09.30

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

60

2026.09.29

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn