作者信息:https://home.cnblogs.com/u/huangjiabobk

在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 的具体生命周期阶段可能会根据具体的实现和版本有所差异,但上述内容涵盖了大部分通用的生命周期状态转换。

posted @ 2024-02-15 07:22  黄嘉波  阅读(32)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波