内容提要
Kubernetes 1.31引入了一个新的beta功能,允许用户在删除PersistentVolumes(PVs)时配置集群以遵守回收策略。此功能确保在手动删除PV时从后端删除底层存储对象。要启用此功能,用户必须升级到Kubernetes v1.31并运行CSI external-provisioner版本5.0.1或更高版本。修复还适用于CSI迁移的卷。
延伸解读
无序删除导致的存储泄漏问题
在旧版Kubernetes中,如果先删除PersistentVolume(PV)再删除PersistentVolumeClaim(PVC),PV的回收策略会被忽略,导致后端存储资源无法自动释放。用户必须手动清理这些资源,否则会造成存储泄漏。新功能通过确保回收策略在PV删除时得到遵守,解决了这一问题。
启用新功能的条件与机制
要启用此功能,集群必须升级到Kubernetes v1.31,并运行CSI external-provisioner 5.0.1或更高版本。新行为通过在PV上添加finalizer实现,该finalizer仅在存储后端成功删除后才会被移除,从而保证存储资源被释放。
适用范围与限制
该修复适用于CSI卷和CSI迁移的卷,但不适用于静态配置的内置插件卷。对于动态配置的内置插件卷,会添加kubernetes.io/pv-controller finalizer。用户需注意这些限制,以确保存储管理符合预期。
Q&A
Kubernetes 1.31的新功能是什么?
Kubernetes 1.31引入了一个新的beta功能,允许用户在删除PersistentVolumes时遵守回收策略,确保底层存储对象被删除。
如何启用Kubernetes 1.31中的新回收策略功能?
用户必须升级到Kubernetes v1.31并运行CSI external-provisioner版本5.0.1或更高版本以启用此功能。
在旧版本Kubernetes中,删除PersistentVolume时有什么问题?
在旧版本中,删除PersistentVolume时没有限制,可能导致底层存储资源未被释放。
新功能是如何确保底层存储对象被删除的?
新功能通过在PersistentVolume上添加finalizer来实现,finalizer在存储后端删除后才会被移除。
CSI迁移的卷是否适用于Kubernetes 1.31的新修复?
是的,此修复适用于CSI迁移的卷。
Kubernetes用户如何与SIG Storage团队联系?
用户可以通过Kubernetes Slack频道与SIG Storage团队联系,参与Kubernetes存储系统的设计和开发。