Pod、 PVC 、PV的刪除順序

news/2025/9/27 14:48:51/文章来源:https://www.cnblogs.com/muxinq/p/19115117
  1. 先删除 Pod
  2. 再删除 PVC
  3. 最后删除 PV

简单口诀:Pod -> PVC -> PV
为什么是这个顺序?深入理解删除机制
要理解这个顺序,你需要明白 Kubernetes 中这些资源之间的保护和依赖关系,尤其是 StorageClass 的 reclaimPolicy(回收策略)和 PVC 的保护机制。

1. 先删 Pod (kubectl delete pod)

目的:解除 PVC 的“使用中”状态。
原理:PVC 一旦被 Pod 挂载,就会受到使用保护(Protection)。Kubernetes 会阻止删除正在被 Pod 使用的 PVC。你必须先终止使用该 PVC 的 Pod,Kubernetes 才会解除这个保护状态。
注意:如果您的 Pod 由 Deployment、StatefulSet 等控制器管理,直接删除 Pod 后控制器可能会立即重建一个新的 Pod,它又会去绑定同一个 PVC。在这种情况下,您需要先删除或缩放(scale)控制器(例如 kubectl delete deployment ),然后再进行后续操作。

2. 再删 PVC (kubectl delete pvc)

目的:触发 PV 的回收策略。
原理:PVC 是用户对存储的请求,而 PV 是实际的存储资源。PV 的生命周期取决于其回收策略 (reclaimPolicy):
Delete(默认策略,尤其适用于动态供给):删除 PVC 后,与其绑定的 PV 会被自动删除,并且后端存储(如 AWS EBS、GCP PD)上的数据也可能被一并删除。
Retain(常用于静态供给或需要保留数据的情况):删除 PVC 后,PV 不会被删除,但其状态会变为 Released。数据会被保留在底层存储上,但该 PV 无法再被新的 PVC 绑定(因为数据可能还在,需要管理员手动清理和回收)。

3. 最后删 PV (kubectl delete pv)

目的:手动清理处于 Released 状态的 PV(仅对 Retain 策略必要)。
原理:对于回收策略为 Retain 的 PV,在删除 PVC 后,PV 会变成 Released 状态。此时,如果你想彻底删除这个 PV 和它背后的存储资源,必须手动执行删除 PV 的操作。删除 PV 通常也会触发对后端存储卷的删除操作(具体取决于 PV 的配置和存储插件)。

不同场景下的操作流程

场景一:动态供给(StorageClass,默认 reclaimPolicy: Delete)

这是最常见的情况,例如使用 AWS EBS、Azure Disk 等。

  1. 删除 Pod(或其控制器,如 Deployment):
    kubectl delete deployment/my-app-deployment
  2. 删除 PVC:(删除 PVC 后,Kubernetes 会自动删除对应的 PV 和云存储卷)
    kubectl delete pvc/my-app-pvc
  3. 无需手动删除 PV,系统已自动处理。

场景二:静态供给 或 reclaimPolicy: Retain

当你需要保留数据或手动管理存储资源时。

  1. 删除 Pod(或其控制器):
    kubectl delete statefulset/my-app-statefulset
  2. 删除 PVC:
    kubectl delete pvc/my-app-pvc
    此时,PV 状态变为 Released,但数据和存储卷都还在。
  3. (可选)手动删除 PV:如果你确认数据不再需要,想彻底清理。
    kubectl delete pv/my-app-pv
    根据 PV 的配置,这可能也会删除底层存储。

错误顺序及后果

错误顺序一:先删 PV

操作:PV -> PVC -> Pod
后果:如果 PV 先被删除,而 PVC 仍然存在且处于 Bound 状态,那么 PVC 会失去其绑定的目标,变成一个“悬空”的声明。Pod 会因为 PVC 无法找到有效的 PV 而一直处于 Pending 状态。你需要手动清理这个 PVC。

错误顺序二:先删 PVC(而不删 Pod)

操作:PVC -> Pod -> PV
后果:由于 Pod 还在运行并使用着存储,Kubernetes 的 保护机制会阻止 PVC 被立即删除。PVC 的状态会变为 Terminating 但一直无法被真正删除,除非你强制删除。这会阻塞整个清理流程。

如果卡在 Terminating 状态怎么办?

如果你不小心先删除了 PVC 或 PV,资源可能会卡在 Terminating 状态。此时可以尝试:

  1. 首先,检查并删除引用它的 Pod。这是最根本的解决方法。
  2. 如果确认所有 Pod 都已删除但仍卡住,可以尝试使用 强制删除(谨慎操作!):

kubectl delete pvc --force --grace-period=0 kubectl delete pvc --force --grace-period=0
注意:强制删除可能在某些情况下导致资源无法完全清理。

总结

  1. 操作顺序 适用场景 结果
  2. Pod -> PVC 动态供给 (reclaimPolicy: Delete) PV 和底层存储被自动删除
  3. Pod -> PVC -> PV 静态供给或 reclaimPolicy: Retain 数据保留,PV 进入 Released 状态,需手动删除 PV 以清理
  4. PV -> ... 任何情况(错误) PVC 悬空,Pod 无法启动
  5. PVC -> Pod 任何情况(错误) PVC 卡在 Terminating,删除被阻止

最佳实践:始终遵循 先停应用(Pod),再删声明(PVC),最后处理卷(PV) 的原则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python基本脚本要素

python基本脚本要素2025-09-27 14:46 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…

柳编网站建设意义和wordpress差不多呢

从头开始机器学习&#xff1a;线性回归 跟随 16 分钟阅读 28月 <> 1 一、说明 本篇实现线性回归的先决知识是&#xff1a;基本线性代数&#xff0c;微积分&#xff08;偏导数&#xff09;、梯度和、Python &#xff08;NumPy&#xff09;&#xff1b;从线性方程入手。 代…

初级网站开发的自我推荐万荣网站seo

作者 | 宋慧 出品 | CSDN 云计算&AI 科技大本营 AI 人工智能毋庸置疑是目前最火的 IT 技术领域之一&#xff0c;而主攻图形计算的 NVIDIA GPU&#xff08;图形处理器&#xff09;又是现今 AI 领域的当红炸子鸡。不过 AI 芯片领域又迎来了新的挑战者&#xff0c;2016 年创立…

Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium - 指南

Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…

百度网盘ByPy使用配置指南

作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 主要是ByPy不限速哈哈哈哈哈哈哈 由于有时候国内不方便上谷歌云盘,所以很多开源项目的大数据集、预训练模型等也会同时提供百度网盘形式存储的下载…

网站如何做视频链接怎样建设网络游戏网站

目录 JVM何时会发生堆内存溢出&#xff1f;1. 堆内存溢出的定义2. 内存泄漏的原因3. 堆内存溢出的常见场景4. JVM参数调优5. 实际案例分析 JVM如何判断对象可以回收1.可达性分析的基本思路2.实际案例3.可以被回收的对象4.拓展&#xff0c; 谈谈 Java 中不同的引用类型? 结语感…

自己做的网站被举报违反广告法广东省建设监理协会网站官网

衡量模块独立性的两个定性标准- 耦合&#xff1a;- 内聚内聚和耦合 模块的独立程度可以由两个定性标准衡量&#xff0c;这两个标准分别是内聚和耦合。 耦合衡量不同模块彼此间互相依赖&#xff08;连接&#xff09;的紧密程度&#xff1b;内聚衡量一个模块内部各个元素彼此结合…

网站建设模块怎样划分深圳排名seo

1.3 事务进阶 前面我们通过spring事务管理注解Transactional已经控制了业务层方法的事务。接下来我们要来详细的介绍一下Transactional事务管理注解的使用细节。我们这里主要介绍Transactional注解当中的两个常见的属性&#xff1a; 异常回滚的属性&#xff1a;rollbackFor 事…

完整教程:AI 术语通俗词典:Diffusion Models(扩散模型)

完整教程:AI 术语通俗词典:Diffusion Models(扩散模型)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

pip安装依赖包报错内容为User defined options,Native files 如何解决

Visual Studio 生成工具可以帮助用户在 Windows 系统上编译和运行 C++ 程序等,以下是其安装教程:下载安装程序:打开浏览器,访问Visual Studio Build Tools 下载页面,找到 “下载” 按钮,点击下载 Build Tools fo…

上海网页制作模板云南seo刷关键词排名优化

安装好XenServer之后&#xff0c;可以找一台管理机器&#xff08;目前主流系统都支持&#xff09;安装XenCenter&#xff0c;通过XenCenter来实现对XenServer的管理。安装XenCenter: 安装.NET Framework3.5 然后可以下载安装中文版的XenCenter&#xff0c;下载地址&#xff1…

edu 107 E(概率期望, dp)

edu 107 E 一道很具有启发意义的概率期望题,需要从期望的本质来思考。 题目要求计算所有 \(2^{w}\) 种涂色方式可放多米诺骨牌的最大数量总和。按照常规想法思考是很困难的,需要换个角度:考虑每个可放置骨牌的 \(1\…

网站弹窗特效如何网上赚点零花钱

Spring有很多不同的模块。 所有这些对于具体目的都是有用的。 今天&#xff0c;我将讨论Spring Security。 该模块提供了灵活的方法来管理访问Web应用程序不同部分的许可。 在这篇文章中&#xff0c;我将研究Spring MVC &#xff0c; Hibernate &#xff0c; MySQL与Spring Sec…

做网站协议怎么签wordpress 视频

目前&#xff0c;不少企业都使用虚拟化/超融合运行 Kubernetes 和容器化应用。一些用户可能会有疑惑&#xff1a;既然 Kubernetes 可以部署在裸金属上&#xff0c;使用虚拟化不是“多此一举”吗&#xff1f; 在电子书《IT 基础架构团队的 Kubernetes 管理&#xff1a;从入门到…

2025 年空气离合器生产厂家推荐榜:电网冲击缓解技术与可靠性测评,单片空气离合器,多片空气离合器,空气离合器摩擦片,空气离合器密封件公司推荐

在矿山、冶金、水泥等重型工业领域,气动离合器作为磨矿机等大型设备的核心传动部件,其性能直接关系到生产稳定性与成本控制。当前行业正面临多重技术瓶颈:大功率电动机启动时产生的巨大电流常对电网造成强烈冲击,导…

Spring MVC的双向数据绑定

Spring MVC 是一个建立在Servlet API之上的模块化框架,它使用了Model-View-Controller(MVC)架构模式,并提供了一种分离关注点的方法来开发Web应用程序。在Spring MVC中,双向数据绑定是一个核心特性,它允许开发者…

抽象化编程(Abstraction in Programming)

抽象化编程(Abstraction in Programming)是面向对象编程(OOP)中一个非常重要的设计原则,它与我们前面讨论的封装、继承、多态紧密相关。抽象化编程的含义 核心思想: 关注于做什么(What),而不是如何做(How)。…

详细介绍:198种组合算法+优化BiLSTM神经网络+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!

详细介绍:198种组合算法+优化BiLSTM神经网络+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!2025-09-27 14:31 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; …

太原网站排名外包广州市工程交易中心官网

在面对日益增长的网络安全威胁时&#xff0c;DNS高防和IP高防作为防御策略发挥着重要的作用。虽然两者都旨在保护网络资源免受攻击&#xff0c;但它们在操作方式和防护重点上有着本质的不同。 DNS高防&#xff1a;保护域名解析服务DNS高防&#xff0c;全称是高防御的域名解析服…

网站关键词排名下降做网站 360的好不好

一、KeyStore描述 在 Android 开发中&#xff0c;KeyStore 是一个用于存储密钥和证书的安全容器。它提供了一种安全的方式来存储敏感信息&#xff0c;如密钥对、数字证书等&#xff0c;以防止它们被未授权的应用或攻击者访问。 KeyStore 通常用于加密数据、数字签名、TLS/SSL…