在k8S中,PV生命周期内的阶段有哪些?

简介: 在k8S中,PV生命周期内的阶段有哪些?

在 Kubernetes (k8S) 中,PersistentVolume (PV) 的生命周期内包含以下几个关键阶段:

  1. Available(可用)
    PV 在这个阶段被创建并添加到集群中,它具有特定的存储容量、访问模式和持久化策略。在这个状态下,PV 是未被任何 PersistentVolumeClaim (PVC) 绑定的,等待被 PVC 请求和使用。
  2. Bound(已绑定)
    当一个或多个 PVC 根据它们的需求请求存储时,如果某个 PV 的规格与 PVC 完全匹配且 PV 处于 Available 状态,Kubernetes 会将 PV 与 PVC 进行绑定。绑定后,PV 的状态变为 Bound,并将其存储资源分配给对应的 PVC 所关联的 Pod 使用。
  3. Released(已释放)
    如果一个已绑定的 PV 关联的 PVC 被删除,并且其回收策略设置为 Retain 或某些情况下自动触发,PV 将进入 Released 状态。此时,虽然 PV 不再被任何 PVC 使用,但它仍保留着之前的数据,并等待管理员手动清理数据或决定是否重新使用。
  4. Pending Release(待释放)
    在某些特定场景下,例如动态 Provisioned PVs 使用了 StorageClass 的 reclaimPolicy 为 DeleteRecycle,当关联的 PVC 删除时,PV 可能会处于 Pending Release 状态,等待执行相应的数据清理或资源回收操作。
  5. Failed(失败)
    PV 在尝试进行某种操作(如挂载、卸载或清理等)时,如果遇到错误,可能进入 Failed 状态。
  6. Lost(丢失)
    在某些罕见的情况下,比如底层存储出现问题导致 Kubernetes 无法管理该 PV,那么 PV 可能会被标记为 Lost 状态。
  7. Terminating(终止)/Deleted(已删除)
    当 PV 需要被永久移除时,管理员可以手动删除 PV,或者根据 PVC 的回收策略自动删除 PV。PV 进入 Terminating 阶段后,系统会依据配置进行必要的清理工作,然后最终从集群中删除 PV。

综上所述,PV 的具体生命周期阶段可能会根据具体的实现和版本有所差异,但上述内容涵盖了大部分通用的生命周期状态转换。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Kubernetes Go
【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例
【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例
269 0
|
存储 Kubernetes 安全
k8s存储类型:emptyDir、hostPath、nfs、pvc及存储类storageclass的静态/动态创建pv
Kubernetes提供了多种存储类型,满足不同的应用需求。`emptyDir`和 `hostPath`适用于临时和宿主机存储需求,`nfs`适用于共享存储,`PersistentVolumeClaim`和 `StorageClass`实现了持久存储的灵活管理。通过理解和配置这些存储类型,可以有效提升Kubernetes集群的存储管理能力。
651 13
|
Perl
|
存储 Kubernetes 测试技术
k8s使用pvc,pv,sc关联ceph集群
文章介绍了如何在Kubernetes中使用PersistentVolumeClaim (PVC)、PersistentVolume (PV) 和StorageClass (SC) 来关联Ceph集群,包括创建Ceph镜像、配置访问密钥、删除默认存储类、编写和应用资源清单、创建资源以及进行访问测试的步骤。同时,还提供了如何使用RBD动态存储类来关联Ceph集群的指南。
581 7
|
存储 Kubernetes 调度
深度解析Kubernetes中的Pod生命周期管理
深度解析Kubernetes中的Pod生命周期管理
|
存储 Kubernetes 容器
在K8S中,PV的生命周期状态有哪些?
在K8S中,PV的生命周期状态有哪些?
|
存储 Kubernetes 调度
在K8S中,什么是PV和PVC?
在K8S中,什么是PV和PVC?
|
存储 Kubernetes 调度
在K8S中,Pod的生命周期中有哪些状态?
在K8S中,Pod的生命周期中有哪些状态?
|
存储 缓存 Kubernetes
在K8S中,有状态服务与无状态服务都是怎么使用pv和pvc?(可以通过应用场景说明一下)
在K8S中,有状态服务与无状态服务都是怎么使用pv和pvc?(可以通过应用场景说明一下)
|
Kubernetes 关系型数据库 MySQL
k8s练习--通过NFS+PV+PVC+POD,部署一个MySQL服务,并将MySQL的数据进行持久化存储
本文档介绍了如何使用Kubernetes (K8s)、NFS、PersistentVolume (PV)、PersistentVolumeClaim (PVC)和Pod来部署并实现MySQL服务的数据持久化存储。Kubernetes是一个用于自动化部署、扩展和管理容器化应用的强大平台。NFS作为一种网络文件系统协议,能够使Kubernetes集群中的Pod跨节点访问共享文件。PV和PVC机制则提供了持久化的存储解决方案,确保数据即使在Pod生命周期结束后仍得以保留。
1162 0