news 2026/10/10 6:20:05

Kubernetes PVC Unused=True 后,删除前还要查什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kubernetes PVC Unused=True 后,删除前还要查什么?

看到 PVC 的Unused=True,可以把它列入核查清单,但还不能据此删除。这个条件回答的是“现在有没有非终态 Pod 引用它”,并不回答“业务是否还需要里面的数据”。

本文是一份面向 Kubernetes 平台与存储团队的技术决策备忘录,依据截至 2026 年 10 月 7 日复核的上游资料。未在读者的集群做实测,也不提供删除命令。

先确认你的集群支持什么

Kubernetes v1.37 将PersistentVolumeClaimUnusedSinceTime提升为 Beta,默认启用。启用后,PVC protection controller 会维护Unused条件。[1]

本稿把核查范围限定为已绑定(Bound)、尚未进入删除流程的 PVC。未绑定、正在删除及临时卷生命周期的排查,不在下文只读示例的覆盖范围内。

目标发行版是否包含该功能、是否被管理员关闭,仍需现场核实。只看到集群版本号,不能代替检查功能门和控制器状态;旧版本也不能直接套用本稿结论。

Unused 实际在判断什么

现场情况条件含义
没有非终态 Pod 引用 PVCUnused=True
至少有一个运行中或 Pending Pod 引用Unused=False;Pending 即使尚未调度成功也算引用
引用它的 Pod 已进入 Succeeded 或 Failed这些终态 Pod 不再计入使用判定
有多个非终态 Pod 引用最后一个引用消失或对应 Pod 进入终态后,才可能转为 True
条件缺失、Unknown,或功能门/控制器状态未确认先核实,不能当作 True

这里的引用,不等于应用正在读写磁盘。Pod 对 PVC 的引用在同一命名空间内解析;核查一个 PVC 时,先查它所在命名空间的 Pod。做全局盘点时可以遍历各命名空间,但要始终用namespace + name + UID标识对象,避免混淆同名 PVC。[2]

还要另查 Deployment、StatefulSet、CronJob 等工作负载配置。这些模板不是当前 Pod 引用的替代证据,却可能说明稍后仍有业务会创建 Pod 使用该卷。这一步属于业务保留核查。[4]

lastTransitionTime 不是最近一次磁盘读写时间

lastTransitionTime表示条件发生状态切换的时间。在Unused=True时,可以据此观察控制器记录的“未使用状态持续了多久”;它不代表应用最后一次读写,也不保证与底层卸载完成时间一致。[1][3][4]

时间戳很旧,不能单独证明状态过期。条件持续不变时,这个时间本来就可能不变。应结合功能门、控制器健康和当前引用核对结果判断可信度,不能把它当心跳时间。

KEP 还说明:功能关闭后,已有条件可能保留却不再更新;控制器、API server 或 etcd 不可用时,条件无法及时更新;PVC 数量较多时也可能出现更新延迟。[4]

删除前,至少核对这五项证据

检查项需要留下的证据尚不满足时的动作
1. 状态与身份集群/发行版、功能门、namespace、name、UID、当前条件及核查时间;控制器健康和 Pod 引用核对结果状态不明或引用存在,停止处置
2. 业务保留要求业务负责人确认、周期任务与工作负载模板检查、保留期限找不到负责人或保留要求不清,保留数据
3. 实际回收策略绑定 PV 的persistentVolumeReclaimPolicy,及相关 StorageClass 配置策略或存储插件行为不清,交存储负责人确认
4. 恢复能力对该类数据适用的备份,以及可核对的恢复验证记录只有“备份成功”提示时,不把它当作恢复证明
5. 变更批准精确对象清单、影响范围、批准记录与执行窗口未批准,不执行删除

回收策略尤其容易被忽略。Retain通常把后续回收留给人工处理;支持Delete的卷插件可能随回收删除 PV 和底层存储资产。动态创建的 PV 通常继承 StorageClass 的回收策略,但判断时应读取这个 PV 的实际字段,不只看当前 StorageClass。[2]

这张表是建议的业务验收方法,不是 Kubernetes 对数据价值或恢复结果的保证。

可以先做的只读核查

以下是命令示例,需把命名空间与名称替换为实际值。操作者应先取得相应只读权限;示例未在你的集群执行,不包含任何删除或配置修改:

kubectl version kubectl get pvc <PVC名称> -n <命名空间> -o yaml kubectl get pods -n <命名空间> -o json kubectl get pv <绑定PV名称> -o yaml

查看 PVC 的spec.volumeName确定绑定 PV;在 Pod JSON 中核对spec.volumes[].persistentVolumeClaim.claimName,同时核对 Pod phase。上述方法只提供显式 PVC 引用的基础核对,不覆盖所有卷类型和控制器行为。使用 generic ephemeral volumes 等场景时,不要仅凭本示例未找到claimName就认定没有引用,应单独核对其生命周期和所有者关系。

没有 PV 读取权限时,交由有权限的存储负责人确认,不扩大自身权限。

保留只读结果时记录检查时间、集群标识与对象 UID,并按内部资料要求控制访问。输出中可能包含业务名称和配置,不能直接贴到公开评论区。

什么情况下应停止

发现非终态引用、对象身份不一致、功能门或控制器状态不明、业务保留要求不清、回收策略不确定、缺少恢复证据或变更批准,均先停止处置并补齐证据。Unknown或缺失条件也不能自动归入闲置卷。

KEP-5541 明确不负责自动删除未使用 PVC;是否删除仍由集群管理员决定。[4]Unused帮助缩小核查范围,业务判断与变更责任仍需有人承担。

建议先选择一个非生产命名空间,把五项证据填完整,检查其中哪些信息目前拿不到。若要交流问题,提供脱敏的版本、条件状态和疑问即可,不提交客户数据或完整配置。

资料来源

[1] Kubernetes v1.37 官方功能说明(2026-09-21):https://kubernetes.io/blog/2026/09/21/kubernetes-v1-37-pvc-last-used-time/

[2] Kubernetes Persistent Volumes 文档:https://kubernetes.io/docs/concepts/storage/persistent-volumes/

[3] PersistentVolumeClaim API 文档:https://kubernetes.io/docs/reference/kubernetes-api/core/persistent-volume-claim-v1/

[4] KEP-5541:https://www.kubernetes.dev/resources/keps/5541/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 6:20:03

SpringBoot+Vue智慧服务平台项目实战:从架构到部署全解析

1. 这类智慧平台项目到底在做什么1.1 一个看似“老套”组合背后的真实价值说到基于SpringBootVue的毕业设计或者课程项目&#xff0c;很多人第一反应是“又是这套老组合”。但我想说的是&#xff0c;技术栈经典不等于项目没有价值&#xff0c;关键在于你在这个框架里塞进了一个…

作者头像 李华
网站建设 2026/10/10 6:19:03

i-have-adhd:一种神经多样性视角下的认知适配操作系统

1. 项目概述&#xff1a;这不是一个诊断标签&#xff0c;而是一份可操作的认知适配方案“i-have-adhd”——短短五词组成的短语&#xff0c;近期在多个内容平台高频出现&#xff0c;它既不是医疗声明&#xff0c;也不是情绪宣泄&#xff0c;而正在演变为一种新型的自我认知表达…

作者头像 李华
网站建设 2026/10/10 6:18:09

直播切片怎么做带货?抖音与 TikTok 短视频、直播引流实操指南

直播回放中的商品演示、规格说明和问答&#xff0c;可以剪成带货短视频。选片时先看它能否回答一个购买问题&#xff0c;再核对商品信息、演示过程和购买入口。用于引流直播间的切片&#xff0c;还要说清直播会讲什么、何时开播、从哪里进入。同一段回放可以做成两版&#xff0…

作者头像 李华
网站建设 2026/10/10 6:16:47

【2026最新实测】降AI率网站哪家强?学生党高性价比工具大盘点

本文给学生党做降AI工具选型&#xff1a;预算紧、要过知网/维普AIGC检测、又不想改完重新调格式&#xff0c;直接看实测结论和分档推荐。 一、学生党选降AI工具&#xff0c;先看这 3 个硬指标 降AI率和降重不一样。降重看重复片段&#xff0c;降AI看“机器味”&#xff1a;句式…

作者头像 李华
网站建设 2026/10/10 6:16:44

OpenCV 学习笔记

OpenCV 学习笔记逐个API说明✅ 基础IO✅ 图像预处理✅ 绘图函数✅ 可选API常见坑先安装包pip install opencv-python下面代码依次演示&#xff1a;读视频帧、预处理、高斯模糊、画框、写文字、保存截图、窗口释放。 import cv2# 1. 基础IO&#xff1a;打开视频/相机 # cap cv…

作者头像 李华
网站建设 2026/10/10 6:16:37

[GESP202603 六级] 完全二叉树

视频讲解&#xff1a;[GESP202603 六级] 完全二叉树-信息学奥赛GESP等级考试真题解析 一、原题 题目描述 给定一棵包含 n 个结点的有根二叉树&#xff0c;结点依次以 1,2,…,n 编号&#xff0c;根结点编号为 1。 对于结点 i&#xff0c;其左儿子的编号记为 li​&#xff0c…

作者头像 李华