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

相关推荐
木鱼时刻12 小时前
容器与 Kubernetes 基本概念与架构
容器·架构·kubernetes
chuanauc1 天前
Kubernets K8s 学习
java·学习·kubernetes
庸子1 天前
基于Jenkins和Kubernetes构建DevOps自动化运维管理平台
运维·kubernetes·jenkins
李白你好1 天前
高级运维!Kubernetes(K8S)常用命令的整理集合
运维·容器·kubernetes
Connie14512 天前
k8s多集群管理中的联邦和舰队如何理解?
云原生·容器·kubernetes
伤不起bb2 天前
Kubernetes 服务发布基础
云原生·容器·kubernetes
别骂我h2 天前
Kubernetes服务发布基础
云原生·容器·kubernetes
weixin_399380692 天前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
斯普信专业组3 天前
K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
nginx·kubernetes·ssl
&如歌的行板&3 天前
如何在postman中动态请求k8s中的pod ip(基于nacos)
云原生·容器·kubernetes