2

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

4

2 回答 2

3

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

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

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

于 2018-07-26T03:01:54.940 回答
0

kubernetes社区有讨论,https://github.com/kubernetes/kubernetes/issues/55045,可以关注一下

于 2020-04-15T03:29:20.090 回答