在K8S中,PV和PVC是如何关联?

在Kubernetes(简称K8s)中,PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 是实现存储持久化的关键组件。它们之间的关联是用来动态或静态地将集群的存储资源与用户对存储的需求进行匹配和绑定的过程。

PersistentVolume (PV)

  • PV是集群管理员创建和配置的预置存储资源实体,它代表了具体的、可供使用的存储空间。
  • PV具有一定的容量,并且可以设置访问模式(ReadWriteOnce、ReadOnlyMany、ReadWriteMany),以及回收策略等属性。
  • PV可以在没有被任何PVC绑定时独立存在,也可以根据预先定义好的StorageClass自动创建。

PersistentVolumeClaim (PVC)

  • PVC是由用户或者应用程序创建的请求,用于申请一定量和特定类型的存储资源。
  • PVC不直接指定使用哪个PV,而是通过一些标准(如存储大小、访问模式及可选的存储类)来描述所需的存储资源特征。
  • 当PVC被创建后,Kubernetes的调度系统会尝试自动将该PVC与一个满足其要求的PV进行绑定。

PV与PVC关联过程:

  • 动态绑定:当创建了一个PVC并指定了存储类,如果集群中有合适的PV可用(即与PVC规格匹配并且未被绑定),则Kubernetes会自动将两者绑定在一起。如果没有可用PV,则可能根据存储类触发动态供应流程创建新的PV。
  • 静态绑定:管理员可以手动创建PV,并为其设置特定的标签或者注解。然后在创建PVC时,可以明确指定需要匹配的标签,这样Kubernetes会在已有PV中寻找符合标签条件的PV进行绑定。

综上所述,在Kubernetes中,PV和PVC通过绑定机制实现了存储资源的供给和需求对接,确保了Pod内的容器能够拥有持久化存储能力,即使在Pod重启、迁移时也能保持数据的连续性和一致性。

相关推荐
能不能别报错7 小时前
K8s学习笔记(十二) volume存储卷
笔记·学习·kubernetes
yuezhilangniao14 小时前
从对比eBPF和istio开始 ~ 了解eBPF
云原生·kubernetes·istio·ebpf
bxlj_jcj17 小时前
StatefulSet:有状态应用的“定海神针”
云原生·容器·kubernetes
K_i13419 小时前
K8s集群CNI升级:Calico3.28.2安装全攻略
云原生·容器·kubernetes
2501_9200470320 小时前
k8s-RBAC鉴权
云原生·容器·kubernetes
腾讯数据架构师1 天前
大模型openai服务网关,认证,限流,接口输入输出的修正,监控等功能
云原生·kubernetes·ai平台
Broken Arrows2 天前
k8s学习(一)——kubernetes重要基础概念概述
学习·容器·kubernetes
Lin_Aries_04212 天前
基于 CI/CD 平台将应用程序自动部署到 Kubernetes 集群
运维·ci/cd·docker·云原生·容器·kubernetes·jenkins
编码追梦人2 天前
探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧
mysql·docker·kubernetes
缘的猿2 天前
Kubernetes 中 ETCD 数据备份与恢复完整指南
容器·kubernetes·etcd