首页 > 解决方案 > 缩小时自动删除PVC?

问题描述

当我缩减实例数量时,我正在寻找一种方法来自动删除分配给 StatefulSet 的 Pod 的 PersistentVolumeClaims。有没有办法在 k8s 中做到这一点?我还没有在文档中找到任何内容。

标签: kubernetespersistent-volume-claims

解决方案


我怀疑preStop生命周期处理程序可以提交Job清理 PVC,假设 PodServiceAccount必须Role这样做。不幸的是,Lifecycle Handler 文档说exec阻止 Pod 删除,所以这就是为什么从 Pod 的角度来看,无论发生什么都需要是异步的。

另一种方法可能是使用 a 无条件地扫描集群或命名空间CronJob并删除未分配的 PVC,或与某个选择器匹配的 PVC。

但我认为没有任何内在的能力可以做到这一点,因为(至少在我自己的使用中)扩大StatefulSet和缩小规模是合理的,当扩大规模时,人们实际上会希望Pod重新获得它的身份在 中StatefulSet,通常包括任何持久数据。


推荐阅读