在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重启、迁移时也能保持数据的连续性和一致性。

相关推荐
Connie14512 小时前
记一次K8s故障告警排查(Grafna告警排查)
云原生·容器·kubernetes·grafana
谷隐凡二10 小时前
Kubernetes主从架构简单解析:基于Python的模拟实现
python·架构·kubernetes
陈陈CHENCHEN11 小时前
SuperMap iManager for K8s 离线环境镜像仓库 Containerd 部署
kubernetes
会飞的小蛮猪13 小时前
Ubuntu24.04 基于Containerd部署K8s1.34(私服部署)
docker·云原生·kubernetes
间彧1 天前
Kubernetes滚动发布详解
kubernetes
间彧1 天前
在实际生产环境中,Kubernetes声明式API如何实现蓝绿部署、金丝雀发布等高级部署策略?
kubernetes
间彧1 天前
Kubernetes声明式API相比传统命令式API在故障恢复场景下的具体优势有哪些?
kubernetes·github
间彧1 天前
为什么说Kubernetes的API设计是其成功的关键因素之一?
kubernetes
间彧1 天前
Kubernetes Deployment 配置简化实战:从复杂到高效
kubernetes
可爱的小小小狼1 天前
k8s:服务网格Service Mesh(服务网格)istio和envoy
kubernetes·istio·service_mesh