老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

K8S中PV的生命周期主要包括几个阶段?

老男孩IT教育

技术博客

2024年10月14日 17:42

在K8S中,PersistentVolume简称PV,其生命周期主要包括以下几个关键阶段:可用、已绑定、已释放、失败,接下来是具体内容介绍。

  在K8S中,PersistentVolume简称PV,其生命周期主要包括以下几个关键阶段:可用、已绑定、已释放、失败,接下来是具体内容介绍。

K8S运维

  1. Available(可用)

  状态:PV在这个阶段被创建并添加到集群中,它具有特定的存储容量、访问模式和回收策略。

  意义:等待被PersistentVolumeClaim申请使用。PV处于此状态时,表示它尚未被任何PVC绑定,是空闲的并可被任何符合其规格要求的PVC所请求。

  2. Bound(已绑定)

  状态:当一个或多个PVC根据它们的需求请求存储时,如果某个PV的规格与PVC完全匹配且PV处于Available状态,Kubernetes会将PV与PVC进行绑定。

  意义:表示PV已经被PVC绑定,存储资源已被PVC占用,用于应用数据持久化。一旦绑定,PV的存储资源将被分配给对应的PVC所关联的Pod使用。

  3. Released(已释放)

  状态:如果一个已绑定的PV关联的PVC被删除,并且其回收策略设置为Retain或某些情况下自动触发,PV将进入Released状态。

  意义:虽然PV不再被任何PVC使用,但它仍保留着之前的数据,并等待管理员手动清理数据或决定是否重新使用。此状态下,PV的资源尚未被集群重新声明或回收。

  4. Failed(失败)

  状态:PV在尝试进行某种操作(如挂载、卸载、清理等)时,如果遇到错误,可能进入Failed状态。

  意义:表示该PV的自动回收或某个操作失败。PV可能因底层存储问题、权限问题或其他原因而无法被正确管理或操作。在某些罕见情况下,比如底层存储出现问题导致Kubernetes无法管理该PV,PV也可能会被标记为Failed状态。

  此外,根据具体的实现和版本,PV的生命周期可能还包含其他阶段或状态转换,例如Pending Release等。在某些特定场景下,例如动态Provisioned PVs使用了StorageClass的reclaimPolicy为Delete或Recycle时,当关联的PVC删除时,PV可能会处于Pending Release状态,等待执行相应的数据清理或资源回收操作。

  为了让学员学以致用,老男孩教育不断更新Linux培训教学大纲,与一众讲师精心打造Linux云计算SRE课程体系。老男孩教育Linux云计算SRE运维课程,从零基础开始授课,适合零基础且对Linux感兴趣的学员学习。课程的主要目的就是培养出专业的Linux系统工程师,名师授课全程面授教学,边讲边练帮助学员高效掌握Linux技术。

  推荐阅读:

  学Linux难么?

  Linux系统性能常用命令有哪些?

  学Linux有年龄限制吗?

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。