首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
分布式数据库
›
K8S中PV和PVC之间的关系
返回列表
发新帖
K8S中PV和PVC之间的关系
[复制链接]
发表于 2025-10-15 15:18:41
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
Persistent Volume (PV)
和
Persistent Volume Claim (PVC)
是 Kubernetes 中管理
存储
的焦点抽象概念,二者的关系可以类比为
存储
资源提供方
和
存储
资源斲丧方
。以下是具体表明:
焦点关系
对象
脚色
生命周期
利用者
Persistent Volume (PV)
存储资源的实体
(如 NFS、云磁盘、当地磁盘等)独立于 Pod 和 PVC,需手动或动态创建由集群管理员设置
Persistent Volume Claim (PVC)
用户对存储资源的哀求
(声明须要的存储特性)与 Pod 绑定,由用户创建和烧毁开发者或应用运维职员
交互流程
管理员创建 PV
界说存储资源的容量、访问模式(如 ReadWriteOnce)、存储范例等。
示例 PV 设置(静态供应):
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain # 回收策略(Retain/Delete/Recycle)
storageClassName: manual # 关联的 StorageClass
hostPath:
path: /data # 使用本地存储(仅示例)
复制
代码
用户创建 PVC
声明须要的存储容量、访问模式、存储类(StorageClass)。
示例 PVC 设置:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
复制
代码
Kubernetes 绑定 PV 和 PVC
体系根据 PVC 的哀求(容量、访问模式、StorageClass)
匹配可用 PV
。
若匹配乐成,PVC 进入 Bound 状态,与 PV 创建一对一绑定。
若没有可用 PV,且启用了动态供应(通过 StorageClass),则会
自动创建新 PV
。
Pod 挂载 PVC
在 Pod 中通过 volumes 字段引用 PVC:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: app
image: nginx
volumeMounts:
- name: data
mountPath: /var/www/html
volumes:
- name: data
persistentVolumeClaim:
claimName: my-pvc # 使用已绑定的 PVC
复制
代码
关键特性对比
特性
PV
PVC
界说者
集群管理员应用开发者
创建方式
手动创建或动态供应(通过 StorageClass)用户手动创建
绑定关系
一个 PV 只能绑定到一个 PVC一个 PVC 只能绑定到一个 PV
接纳计谋
支持 Retain、Delete、Recycle无,随 PV 的接纳计谋处理处罚
动态供应
依靠 StorageClass 和 Provisioner通过指定 StorageClass 触发动态创建 PV
生命周期与接纳计谋
PV 的接纳计谋
(persistentVolumeReclaimPolicy)
Retain
(默认):删除 PVC 后,PV 保存数据,需手动清算。
Delete
:删除 PVC 后,自动删除 PV 及底层存储(如云磁盘)。
Recycle
(已废弃):删除数据并标志 PV 为可用(仅实用于部门存储范例)。
PVC 删除后的举动
若 PV 的接纳计谋为 Retain,则 PV 进入 Released 状态,需管理员手动清算后重新绑定。
若为 Delete,则 PV 和底层存储资源会被自动删除。
动态供应(Dynamic Provisioning)
当利用
StorageClass
时,PVC 可以直打仗发 PV 的自动创建,无需管理员预先设置 PV。
示例 StorageClass(AWS EBS):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: aws-gp2
provisioner: kubernetes.io/aws-ebs # 指定存储驱动
parameters:
type: gp2
reclaimPolicy: Delete # 动态创建的 PV 默认回收策略
复制代码
用户创建 PVC 时指定 StorageClass:
spec:
storageClassName: aws-gp2 # 动态创建符合要求的 PV
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 20Gi
复制代码
总结
PV
是现实的存储资源,
PVC
是用户对存储需求的抽象。
PVC 通过匹配 PV 的规格
(容量、访问模式、StorageClass)来绑定存储资源。
动态供应
通过 StorageClass 实现按需自动创建 PV,大幅简化存储管理。
二者的分离使得
存储资源的提供方(管理员)和利用方(开发者)职责清楚
,提拔机动性和可维护性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
返回列表
罪恶克星
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表