kubernetes - 缩小时自动删除PVC?
问题描述
当我缩减实例数量时,我正在寻找一种方法来自动删除分配给 StatefulSet 的 Pod 的 PersistentVolumeClaims。有没有办法在 k8s 中做到这一点?我还没有在文档中找到任何内容。
解决方案
我怀疑preStop
生命周期处理程序可以提交Job
清理 PVC,假设 PodServiceAccount
必须Role
这样做。不幸的是,Lifecycle Handler 文档说exec
阻止 Pod 删除,所以这就是为什么从 Pod 的角度来看,无论发生什么都需要是异步的。
另一种方法可能是使用 a 无条件地扫描集群或命名空间CronJob
并删除未分配的 PVC,或与某个选择器匹配的 PVC。
但我认为没有任何内在的能力可以做到这一点,因为(至少在我自己的使用中)扩大StatefulSet
和缩小规模是合理的,当扩大规模时,人们实际上会希望Pod
重新获得它的身份在 中StatefulSet
,通常包括任何持久数据。
推荐阅读
- python-3.x - 无法在 python 3 中安装 fbprophet 包
- android - 设备支持警告:Google play 2019
- java - 如何在自定义 ListView 中对齐 ImageView 和 TextView
- python - 带有多种配色方案的带注释热图
- c - 如何在 Windows 中使用 C/C++ 停止注册表反射
- pandas - 如何在熊猫上进行关键字随机播放
- apache-kafka - 使用 Kafka 在多语言生产者之间共享分区逻辑
- django - 为什么我的 form.py 的上下文没有出现?
- c# - 如何在 C# 中反序列化 json
- lambda - 在构造函数中传递的 lambda 函数中访问类上下文